Making a fangame takes a good deal of time and energy, so having extra work is the last thing that an author needs! However, many authors don't realize that some of their work is pointless and extra. This guide aims to explain a powerful technique called "implicit definitions" that will cut this extra work out.
Implicit definitions are best explained with an example: just count from one to ten.
If you are like most people, you did not go out and look up how to count to ten in Romanian, but instead counted in English or your native language. I never told you which language to count in, but you automatically assumed the most natural language for you. Similarly, I never told you whether to count by 1's or by 0.5's. You most likely assumed I meant counting by 1's because that is what "count from one to ten" usually means.
The idea of implicit definitions is very similar: when you don't give instructions to the editor, it will do "the most natural choice" instead. Many times, this means you don't need to give instructions to the editor at all!
The rules for this are as follows:
* When music is selected, it will play until the player gets to a frame that changes the music to something else. It could be "stop current music" or a new music track. Whatever it is, the new music will play. You only need to define music when it changes, and changing the music automatically ends the old music.
* When a background is selected, it will stay on that background until the background changes to something else. You really don't need to set the background every frame, people!
* When a sprite is put on screen, it will stay just as it is until either the sprite changes, or "Hide previously shown characters" is selected. You only need to set the sprite when the sprite changes! WARNING: At present, if you set a new character without setting a background, that character will sit at the center of the place, on top of other characters that may already be there!
* When you change a sprite that is already on-screen, it will stay in its old position, but the sprite will simply change. There's no need to define the background along with the changed sprite!
* When a character is set as the speaker (so their nametag appears in the purple box), they will automatically be lip-synced to. Unless a custom name is replacing the usual name, or you have odd lip-sync requirements, you don't even need to touch this.
* When a character is set as the speaker, the viewscreen will automatically pan over to them, unless told otherwise. You don't need to manually set the background and the position just because the speaker is on the other side of the room!
* If voice is set to "Auto," the editor will use the voice blips of the speaker, as set in the "Profiles" page. If there is no speaker, or the speaker doesn't match to a profile, it will default to "male." You don't need to give every frame its own text blip.
* Similarly, "synchronize with text typing" and "automatic" text blip commands are the same. If a character isn't speaking, the automatic text blip settings will have them not lip-sync; there's no need to set lip-sync to off manually.
So far, this all seems very, very straightforward, but not taking advantages of these crucial time-savers is a common blunder. There's one special way to use implicit definitions that saves a great deal of time:
* Some backgrounds are too large to fit on the screen at once. The courtroom is the most common example. In this case, define all characters on the large background the first time you enter that large background, using the different character positions to set where they are. You can also use screen position to set where the screen starts. Then every time somebody speaks, all you need to do is set the speaker, and the sprite if it changes. The camera will automatically move to that speaker! So instead of needing to define the place and the speaker and the positions each time something changes, define everything on the first frame, and then change sprites as you need to, without even having to worry about positions. Using this technique makes fiddling with speakers in courtroom scenes near effortless, rather than a pain with constant redefinitions. Save a frame where all characters are defined as a preset, and then use the preset whenever you need to return to the courtroom benches, after a judge conversation. With this trick, courtroom scenes are nigh painless!
And... that's it. You can ask here if anything needs clarification, but go forth, and make trials really fast!