火线迈阿密2:空号

火线迈阿密2:空号

评价数不足
Cutscene Editor Guide
由 Tone11 制作
A thorough guide about the level editor's cutscene section, including its navigation, reference sheets, tips and tricks, dos and don'ts and inspirations
   
奖励
收藏
已收藏
取消收藏
Introduction
This guide tells you about the basics of the cutscene editor, how to use it, what you can do with it and things, that can make your cutscenes look much better.
In here you will find instructions, reference sheets, advise and even inspirations on how to make your cutscenes stand out more from other levels and campaigns.

Before you start reading this, be aware, that this guide requires some basic knowledge on how the level editor works so far. For questions about the level editor regarding layout, tiles or anything else consider reading up a different guide or watch Rob's YouTube tutorial series.

(Screenshots for the thumbnail taken from Klone Krisis, Past of Tokyo, Hunter: Snowfall, Program, Miami Menace and The Dark Wright. Additional screenshots taken from Eyes Wide Shut and Carcharodon for the small thumbnail)
Cutscene Editor View
First things first, you can enter the cutscene editor by pressing CTRL + ALT + C or pressing the create cutscene tab in the “level” section on the top left corner.


This leads you to the cutscene editor, which allows you to create cutscenes.
For an overall better experience, I suggest you to change the game's resolution to 1366x768.
That way the given windows won't be too small while also not cluttering the view with the other tabs.


You can switch back to the level editor by pressing CTRL + ALT + C again or pressing the edit level tab, same spot as the create cutscene tab.

The details of the window on the right are explained in the Frame Section and NPCs and Items section of this guide.

There's also a preview function, when pressing [Space], but it barely works at all and will be ignored throughout this guide.
Frame section
The frame window is the main area of making your cutscenes. Here's a quick rundown of its features:

The top 3 buttons are the foundation of every cutscene. Very simply put, a cutscene is built like this:
-
Trigger 1
... Frame 1
... ... Action 1 (Walk to X)
... ... Action 2 (say 3 lines)
... Frame 2
... ... Action 1 (rotate 180°)
... ... Action 2 (wait 2 seconds)
... ... Action 3 (Play sound.mp3)
... Frame 3
... ... Action 1 (Walk to Y)
... Frame 4
... ... Action 1 (stop sequence)
... Frame 5 (open for new trigger)
Add Trigger: Lets you select a trigger area, which will start the cutscene when entering. Simply click the button and drag the area in the level. You can repeat the process if you think you messed up. To get rid of the trigger entirely, click the Add Trigger button and simply click anywhere in the level. You can also start a trigger with an NPC, but we'll get there in the following chapters.

Add Frame: Creates a frame within a trigger. Frames are blocks of actions, that dictate when the actions happen. Every action inside a frame happens at the same time. Once they're all finished, the next frame starts playing the next actions.

Add Action: Adds an action to your desire. There are plenty of actions, that vary from starting a conversation, playing a sound, changing the background song or just wait for a few seconds. This button only shows the global actions. There are also individual actions you can do with the player character and NPCs, more on that later.

Focus: The focus tab tells the camera, where to look during the cutscene. You can change it within every frame of the cutscene. It's focused on the player character by default, but can be changed to NPCs as well.
[Tip!] The editor automatically switches it back to Player if you haven't added another frame while testing the scene. Make sure to double check the focus tab, should you decide to use it more often.

Choreography list: Lists all the created frames and actions briefly to give you a good overview of the cutscene. Unfortunately, you can't select, move or edit any of the sections for easier navigation. If you realize, that there's a mistake in the beginning, you have to delete all of the following frames and actions and redo the action entirely. Not good, especially when it comes to writing, but there's a workaround, which we'll tackle in the Notepad++ section.

Delete Frame / Action: Deletes either an entire frame or an individual action. Deleting the frame will also delete all the actions inside of it.

Ending a cutscene: To end a cutscene you need to add the "Stop Sequence" action.
The "Scene Complete" option lets the player go to the car and proceed to the next level (if there is one). You can ignore the option if you want to continue the level with more cutscenes or end the level with a fadeout.
NPCs and Items
The NPC tab contains two sections: NPCs and Items.

NPCs are objects, that can interact with the same way you interact with the player character in cutscenes. They can walk, change and animate their sprites, attack and even get killed, if all conditions are met. They will only appear in the level, once you include them into your cutscene, or else they will disappear ingame.

All Sprites: Enabling it lets you choose between most sprites the editor offers, instead of characters only. Be aware, that there's no search bar for selecting the sprites and that the process can take a lot of time. We recommend using Notepad++ for selecting specific sprites, as it's much faster and reliable than doing it ingame. More on that later.

Solid: Makes the NPC either solid or non-solid. Solid NPCs can't be walked through. Non-solid NPCs will be rendered over the player character and can be walked underneath.

Killable: Makes an NPC killable either by the player character or by a different NPC. In order for it to work, they have to be a character, that has a death sprite, like the players and enemies from the main game. They can be both solid or non-solid, once something hits them, they die.

One noticeable issue is once the NPC is dead, any other bullet that hits them will be caught instead of going through (see following gif). Not a huge deal breaker, but worth pointing out, should you try making a shootout scene.

Pressing RMB on the player character and NPCs opens the individual actions window. Those allow you to add an action for the cutscene, change its properties or straight up delete them (last two only apply for NPCs, not the player). We'll get to the details of those actions in the next chapter.

When you choose "Properties" you can see several settings, that you can change for each NPC, including name, sprite, what bullets they shoot and the previously mentioned Solid and Killable attributes. Changing the "Shoots" property won't do anything and will be ignored.

Items are small objects, that can be interacted with if the player is nearby. You interact with them by clicking the right mouse button.

Visible: Defines, whether we can see the item or not. You can make it visible with the global action "Activate Item".

Active: Makes the item interactable via RMB. Same as visible, it can be changed via the global action "Activate Item".

Finish: Allows you to leave the level by going to your car once you pick it up.

Unlike the objects in the regular level editor, you can't move NPCs or items around by holding CTRL + LMB. You can only place them down with LMB, delete them with RMB and rotate them by 90° by holding SHIFT + RMB before placing them down.
Actions
In this section, we debunk the actions, what they do and what to look out for. The more complicated ones will be explained in greater detail.

Global actions:
Wait: Lets the player wait for up to 10 seconds before the action / frame is over.

Play Sound / Music: Self explaining.

Stop Music: Stops the currently running background song, either instantly or with a fadeout.

Stop Sequence: Ends a cutscene and allows the player to walk again. The "Scene Complete" option lets the player go to the car.

Next Level: Ends the level either instantly or with a fadeout. If it's a main / combat floor, you'll be sent to the score screen. Non combat levels will be sent to the main level's screen title or the evening transition (depends on level / campaign structure).

Activate Item: Changes the properties "Visible" and "Active" of a selected item.


Individual actions:
Walk To: Lets the player character / NPC walk from A to B and up to E. Simply place the points with LMB and set up the speed with RMB.

Change Sprite: Changes the appearance of an NPC or player character. Note, that this doesn't change the player character in itself, just the way they look. They will still use the initial legs when walking and go back to their original walking sprite if you right click.

Trigger: Lets the NPC become the cutscene trigger either by interacting with them with LMB or being close to them. This action can be very clunky, as it can be overwritten by the trigger area, if you placed one down.
You can also only place it once per NPC. To redo the trigger NPC, you have to delete them (+ every frame / action they're involved with) and add them back into the level. Fun times guaranteed.

Rotate: Rotates the player / NPC to a certain angle either instantly or animated.

Tip: You can turn off the "Snap" option for more precise angles.
- Dialogues
Dialogues are lines of text, that you can add to your liking. You can add and remove the number of sets with the + and - button. The arrows navigate you to each new set of dialogues. Within these sets, you can change the face sprite, that appears on the right and the focus, which is where the camera will look at (limited to player and NPCs).
Keep in mind, that the sprite and focus of the current set will remain the same for the next ones you add. So, if you want to make a two-sided conversation, one trick you can do is make 10 sets of dialogue and change every second set with the different sprite and focus (instead of switching them all the time when adding a new set).

Tip: Face sprites won't animate and stay on the first frame, if the dialogue is "..." on the first line, as seen in the following example.

(Pay close attention to when Pardo moves his lips and when he doesn't)
- Attack
Attack lets the player or NPC punch, swing and even shoot weapons. As a side effect they can break windows, destroy monitors or even kill people. It works only with sprites, who have walk and attack sprites (like Pardo, Mafia, Jacket, etc.).

Tip: make sure, they're using the sprWalk sprite, as they're the most reliable to work. Sometimes sprAttack works too, but it's not consistent for every character.

The window should be pretty self-explanatory. The targets can be either the player or another NPC. You can also choose the attacking person as its own target, which only results in shooting at a 0 degrees angle.

The "Keep Firing" option lets the attacker hit or shoot more than once. To make it work, you have to choose a number of frames, which dictates how fast they hit / shoot and then add a "Wait" action after that (or something that keeps the frame busy like dialogue, rotate, walk, music fadeouts, etc.). Both actions have to be in the same frame, or else the attacker will only hit once.

<- these bullies really hate vending machines
You may notice, how the attacks of the two mafia goons are slower than usual. This can be good since it's more customizable, but it also makes testing how many frames you really need tedious. Here's a little reference sheet of frames for each weapon:
  • 3 frames: Famae, Uzi, M16
  • 4 frames: Mendoza
  • 5 frames: Double Barrel, Shotgun, AK47
  • 7 frames: Bottle, Baton, Knife, Machete
  • 8 frames: Taser, Pipe, Club
  • 9 frames: Bat
  • 10 frames: Skateboard, Sword, Chain
  • 12 frames: Unarmed
  • 13 frames: 9mm, silencer, magnum
  • 14 frames: Hammer
  • 19 frames: Nail gun
  • Don’t work: Silenced Uzi, Frying Pan, Drill, Axe
Hint: While making the scenes for this guide, I noticed, that this sheet sadly isn't 100% reliable. Some NPCs need more or even less frames to get the right speed for the weapons. If you notice any errors on this sheet, feel free to write a comment about it.

As mentioned before, the attacks are able to break, destroy and even kill entities. In our example we can see how the attack affects certain debris, depending on who's attacking.

Tip: To make NPCs die from attacks, make sure to enable the "Killable" property. You can always change in the properties section of an NPC, after right clicking them.
- Die

The "Die" action can kill off the player and NPCs as they would in a combat floor. They will change into a random death sprite, depending on the death type you choose, and leave a trail of blood and sometimes even gibs when falling down.

Like "Attack", the sprites only work for NPCs that have a death sprite of any type (including side characters like the sprBankerGiveUp).

The window tells you the type of death the character should take and what direction they fall to.
For unknown reasons (probably mishandled coding), the options are not doing what they're saying, so here's a quick run-down of what the boxes actually do:
  • Blunt = gunshot wounds (pistol, machine gun, etc.), no sound.
  • Shot = blunt death sprite, plays a bash sound.
  • Cut = shotgun wounds, including gibs, no sound.
  • Blasted = knife cuts, plays a slash sound.
Tip: Some characters don't have the necessary death sprite and could change their appearance entirely. It's also rumored, that the turning on the "killable" option might affect the sprite behavior for certain player characters. If you have any issues like that, consider fumbling around with their properties.

Dying as the player
You can make the player character die without having "Press R to restart" at the bottom of the screen. However, if you end the cutscene with "Stop Sequence" right after that, you can move around like a ghost with no halo around.
You can shoot or hit only once. You can still pick up and throw away weapons (angle changes each time, don't know what sets it yet), trigger new cutscenes or go through floor transitions.
The ability to shoot / hit one last time disappears after you trigger a new cutscene.
Despite that, you're still killable as a ghost and can restart the floor again once you're dead.


ooohh very scary.
- Animating sprites
In order to understand what "Animate Sprite" does, I'll explain very briefly how animations work in this game. For each animation, there is a so called "strip" which is a set of pictures (or frames), that define a certain animation.
Let's take a walking sprite for example, which is a set of 8 frames total. Most 2D games go through each frame from a strip and replace the current sprite with said frame, which creates a fluid animation.
In "Animate Sprite", the player or NPC goes through the frames of their current sprite strip, making it animate.

Now, the window itself offers you to tick 4 different options. Each one of them do as follows:

Freely:
Animates the sprite on loop. It'll go on forever until stopped manually, hence the term "freely".
Stop:
Stops an animation, usually used to stop a free animation from at least one frame earlier.

(Pay attention to how the cop's arms still move even after the cutscene and then stop after the next one).

Loop:
Animates the sprite on loop. It only animates during the frame it started on and stops once the frame is over.

(Here we can see how the cop doesn't move his arms after the cutscene is over)

Interval:
Can only be combined with the "loop" option. Defines the waiting time, before the animation loops over again.

(Now the cop only moves his arms every couple seconds instead of all the time)

If you make the interval long enough and add a "wait" action that's shorter than said interval (within the same frame), you can get the NPC animate its sprite only once and then move on to the next frame.
Only problem is, that the loop goes back to the first frame once the interval starts, making it no so optimal for sprites, that weren't meant to be looped.

(the invisible swing doors got him)

The solution to that is very simple.
That's right. Picking none of the four options simply animates the sprite once, no matter how long the frame is. Once the sprite is finished, it stays on its last frame until further notice.


Tip: all types of animation run at a slightly different speed, but are consistent for each sprite. Means, freely and looped animation may be faster or slower, but at least the rule applies for all sprites (as far as I know).
Making longer cutscenes with more animations:
Making a long and detailed cutscene with lots of custom animations can be a hard task at first, but you'll be able to handle them quite well, once you manage the NPCs accordingly.

First thing you have to know is how the frames work within the editor. If you change the sprite of an NPC to something new, the frame the sprite is currently on will not reset itself. Instead, it will stay at the same frame of the next sprite or calculate into the appropriate frame, if the new sprite has less frames than the old sprite.

Simply put, if you move a character like JacketWalkBat around, who then ends on frame 5, then change his sprite to JacketKillBat, the new sprite will stay on frame 5 instead of going back to 0.


(Here we can see how the frame stays the same after changing the sprite)

There are two things you can do, in order to reset the sprite's frame count:

Dummy NPCs:
Instead of making the current NPC change their sprite, you can just use an invisible NPC and change their sprite to the new one, then making the old NPC invisible. Here's how I usually do it.
(within the same frame)
  • Make NPC1 invisible
  • Change Dummy1's sprite to >new sprite<
  • (optional) Animate Dummy1's sprite
How do I make an NPC invisible? You can either make a completely invisible sprite as a placeholder (say for example 50BlessingsNerd) and make it the dummy's initial sprite, OR you can change the NPC's / dummy's sprite id to -1 by using Notepad++. Disclaimer: While changing the sprite ID of an NPC to -1 throughout the choreography is fine, it's less recommended to have it be the NPC's initial sprite, as you'd be unable to right click them within the editor.

It's a simple quick solution for beginners and can be tolerable for smaller cutscenes. However, managing the cutscene can be very tiresome and almost impossible the more characters, NPCs and dummies you add to the choreography. Which is why I recommend you to do the second method instead.

The loop within:
You can easily reset the character's frame count, by first changing their sprite to something, that has only one frame. Then you animate it with a loop and change the sprite right after that. This ultimately resets the frame count of the NPC, in which you can do your animation afterwards as your heart desires. Simply put:
    Frame 1:
  • >NPC< change sprite to >sprite with only 1 frame< (ideally BankerDead or BankerLegs for convenience)
  • >NPC< animate sprite with loop
  • >NPC< change sprite to >your desired sprite<

    Frame 2 (and / or 3):
  • >NPC< animate sprite as you desire (see previous explanations for reference)
Here's a visual reference of what the end result looks like, with Jacket's sprite being reset on top, and without a reset below (with pauses in-between for better understanding).
Notepad++. Your best friend
Has this happened to you while making a cutscene?
Ah ♥♥♥♥, there's a typo in one of my first dialogue screens. Welp, guess I'll delete 80% of the whole choreography and do it all over again...
What the hell? Why is the camera not focused on the invisible NPC? Now I have to delete most of the choreography and do it all over again!
Hmm, the waiting time between the two actions is too long (thinking to myself, that most people will not give a ♥♥♥♥). No, my campaign is a masterpiece needs to be perfect!!! Time to delete a big chunk of my choreography and do it all over again!
No intro song for the level when playing it as a campaign? I must do what needs to be done: Delete the entire choreography and do it all over again!
Introducing Notepad++:


Notepad++ is a text editor, that can list all the level's choreography, NPC and item information within any level. This can be done with any text editor, like the default one from your OS or more advanced ones like Visual Studio Code. Notepad++ or "notepadding" is just the go to term for changing IDs, coordinates and other information of the level outside of the level editor.

There are plenty of tutorials and cool tricks that were discovered throughout the years. Here, we will concentrate on what you can use it for your cutscenes and minimize your workload by not having to delete big chunks of the choreography and doing it all over again.

The main three files:
The main three files for your cutscenes are the .csf, .npc and the .itm file for each floor. They will only appear after you enter the cutscene window inside the editor and save the level at least once.

Tip: Feel free to make a backup of your level before doing any major changes for your level, as fumbling around with those IDs can break the files.

.csf
This is the main file, that stores all the information of the cutscene choreography. That includes all the triggers, frames, actions and even focus.
This file is easily the biggest one and can lead to crashes if handled carelessly very quickly. We can put them under those three categories:

1. Trigger(s)
The first couple lines describe the number of triggers, their positions and the number of frames the cutscene has. The picture provided by Maxim S explains them in greater detail.
NPC triggers are also written down with the same number of strings. Though, no matter where the NPC is, the trigger area will always be labeled as 0, 0, 1440, 768 (the whole level grid).

2. Frames and actions
This section takes the most part of the file and describes the content of each frame and where the camera should focus on. The section can be summarized as follows:
  • new frame / amount of actions
  • detail action(s) (most of them end with either 0 or the camera focus)
Each action has their very own set of strings and can be very hard to comprehend at times. But with some time and practice you can see the patterns and recognize certain actions by their parameters. Like if you know the wait action takes 60 frames and want it to be longer, just look for the two lines that say "60" and change them to your liking.

The next picture would be a quick rundown of the first two frames of the frame reset I explained earlier.
If you think you need to add or remove an action or frame altogether, you can simply add or subtract the amount of frames total / action within a frame and place the details of an action before or somewhere in-between said frame. Just make sure to not mess up the structure of each action / frame.

Think the wait action is too long? Lessen the time.

Player walked too close to the other character? Adjust the coordinates.

Focus was set to player, because the editor does that by default? Change it back to the NPC of choice.

Want to change an NPCs sprite faster? Change the sprite ID of your placeholder sprite.

Want to play videodrome but can't add it because the editor doesn't list it? Change the name of the placeholder song to "videodrome.mp3".

The player doesn't move as fast as a bullet? Gotta rev up those numbers!


3. Dialogues
Last, we have the dialogue section of the file, which stores all the text, sprite IDs and focus of each line. You can extend or shorten the text as much as you like, as long as they're two lines of dialogue. Adding or removing a line will crash the game.

For the simple fixes like removing typos or adding special characters just scroll to the bottom of the file. You'll see a pattern that goes like this:
  • Line 1
  • Line 2
  • Sprite ID
  • NPC name / Player (Focus)
The following picture acts as a proper example for the dialogue section.

Tip: If you don't know what sprite ID represents what face sprite, I suggest you to check out Riv's incredible encyclopedia[vlad-tarabukin.github.io].

The trickier part is to add or remove lines of dialogues. The following picture should explain the details of the "Add Dialogue" action.
If you read through this carefully, you'll realize adding or removing texts requires you to alter the starting and ending position of each dialogue action accordingly to prevent the game from crashing.

Make sure you do your math properly (end point - start point = number of texts) and double check to see all the lines are shown correctly.

This is one rare moment, where I recommend you to not use Notepad++, unless you REALLY know what you're doing.

.itm
As the name suggests, this file stores all the information of the items, that were placed in a level. The following picture should be pretty straightforward and should explain all there is.
Since they're a lot smaller, there is a much lower risk to mess up the file and crash the game when opening the level. Still, it's best to be more careful when you're outside of the editor.

.npc
Like with items, this file stores all the information of the NPCs, that were placed in a level. The image provided (with most of the information taken from Maxim S' discoveries) explains the overall structure of the file and what you can change within them.
Last thing worth mentioning here, is that the positions described in line 17 to 20 do not affect where the NPC will stay. The original position is only affected by line 5 and 6, the last location is affected by the walk-action within the .csf file.
Common mistakes YOU can avoid
Cutscenes during combat floors

Don’t. Not at the beginning, not in the middle, not under any circumstances. Don't.
Unless it's at the end of the floor after clearing out all the enemies.

No intro song
This issue occurs mainly when you play a campaign and go over from an outro to the intro segment of the next level. The intro starts, but there's no music playing in the background, except for a small blip when entering a car to the combat segment.

To fix this, simply make "Play Music" the first action of your whole cutscene. There's a small chance, that you may hear the first half second of the song and then hear it restart due to the action you just added.
You can take the extra step and pick either "Black Tar" or just a silent track in your music mod (if you have one) as the actual background song and then play the intended song on the very first frame. That way you won't hear the difference when playing through the campaign or start from that certain level.

I already made a long cutscene for my 3rd level's intro. Does that mean I have to delete the entire choreography and start all over again?

No. If you read through the Notepad++ section of this guide, you can simply add a new action with ease. Simply add the following string to the first frame like this:
  • Start of frame (amount of actions) + 1
  • 8
  • 0
  • >Songname<.mp3
  • NPC name / Player (ideally the one all the other actions are focusing on)
For this to work, you have to increase the number of actions on the line, which indicates a new frame within the choreography list.
Say you only have one trigger for the whole level, then you have to add the number on line 7 by 1. If it's two triggers in the level, you have to add the number on line 11 by 1.

Shaky cams

The main reason this happens is because you put the wrong frame focus between two "Add Dialogue" actions. In this example the dialogue bops up and down because the main focus was set to the player, instead of Henchman. It's a small issue, but can be really jarring sometimes, which I saw numerous times throughout the years.
Simply put, get you focus right during the conversations, even outside the "Add Dialogue" action.

Player facing the wrong way

This happens when you put the trigger right where the player is standing. Like with the "No Intro Song" issue, you can simply add a "Rotate" action at the very beginning of the cutscene, ideally with the "instant" option tagged, instead of animating the rotation.
As mentioned before, you can add the action via Notepad++ if you already made a long cutscene and don't feel like deleting it and doing it all over again. The lines for the rotation is:
  • 13
  • >NPC / Player<
  • >angle< (0-360)
  • instant (0) or animate (1)
  • 0
Fake shots

We have dedicated actions for that. They're called "Attack" and "Die". Use them and make your action scenes cooler.

"Go To Car" option disappearing

The "Go To Car" option only works for the current floor you're in and the one's you have visited before. It will go away, when entering a whole new floor.

To fix this, either make sure you don't visit any new floors when ending a cutscene, or simply add a trigger at the start of the floor you want to leave.

(wait until the end for your reward)

Ghost doors

The issue here is that only the player character can move doors, when approaching them.

There are several ways to fix this. The simplest is to let the player move the door first and call it a day.

Another way could be making the door an NPC, that rotates when NPCs go through them.

At last, you can make the player act as an invisible camera and move either along the NPCs or make them run super fast with notepadding to avoid seeing their shining halo. There's a thorough guide about the last method on The Workshop Labs'[discord.gg] #warehouse channel by Maxim S.

All options are equally viable, really. It depends on how much effort you want to put in this, how often NPCs go through doors and whether you have to control the player character later on.

(rough example of the simplest solution)

Ghost lights

(pay attention to the lights moving around the dark tiles)

The shiny ring is omitted by the player character. While it's barely visible in bright areas, I recommend using an NPC for invisible actions and only use the player when necessary.

Heading now to issues, that have less to do with the cutscene editor itself and more with your writing skills.

Many faces

While this example is a more tolerable case, it's usually better to separate changes of emotions by either have a different person talk in-between or add a "wait" action (or similar) before continuing the dialogue with a different facial expression. That way the face won't disappear and reappear too many times, making the cutscene appear overall smoother.

While we're at it, if you have multiple faces of a character, make sure they share the same position when talking. It's a small nitpick, but essential for keeping consistency.

P.S. dialogues

You may have noticed, that it's rather
annoying to read the sentences

like this. It makes the dialogue appear
stuttery and forces you to remember

where the last sentence stopped.

Consider writing your dialogue
with the two lines in mind.

So that your sentences are easier
to digest for the players.

I recommend simply writing
your script the way you want it

and then adjust the sentences
to the two lines accordingly.

Tip: Keep in mind, that the Russian
font is smaller than the English one.

If you want to add text via Notepad++
make sure it won't go over the screen.

(44 characters for English, 48 for Russian, thank you bin for your contribution)

Three lines of dialogue

If you're wondering how to add a third line: Simply add a # on the second line which breaks the text after that underneath the current line.

Anyway, it's one thing to compensate with a third line if you can't shorten your sentence to fit in the two lines provided. It's another thing to basically spam the player with walls of texts. Don't do the latter and consider adding a third line ONLY as a last resort. Please.
Cool cutscenes debunked
Coming Soon™
(sometime after November, hopefully still this year)
7 条留言
LucaMac 10 月 21 日 上午 10:15 
great guide
screamer 10 月 19 日 上午 11:26 
DUDE, I COULDN'T MAKE FACES NOT MOVE FOR 50 HOURS, YOU'RE MY SALVATION, THANKS BRO!!!!!!!!!!!!
:zomthumbup::zomthumbup::zomthumbup:
Maxim_S 10 月 19 日 上午 7:06 
Great guide, thank you!
Tone11  [作者] 10 月 17 日 上午 4:20 
I'm sure someone can make good use of it, nice work.
bin. 10 月 17 日 上午 4:19 
good guide, thanks knocks! i'll also make my mini-contribution: i've calculated the number of characters that fit on one line for english and russian. for english it's 44, for russian it's 48 (space bars is count as a character, just in case). hopefully it will be useful to someone :seriousboss:
CaptainMeme 10 月 17 日 上午 3:19 
Tuff :steamhappy::steamthumbsup::steamthis:
Job 10 月 17 日 上午 2:47 
thank u for the awesome guide, also, first