Guide:Script Formatting

From VNDev Wiki

Script Formatting describes the methods used to lay out a script while it is still being written. There are no standards, unlike in other industries such as writing for the screen, so the exact methods used will be up to you and/or your team.

Writing Workflow

It is up to you or your team whether writing in a word processor or directly in-engine in a code editor is best. For most teams it is easiest to write in a cloud-based word processor, or any other method that is easy to share for feedback and collaboration (such as Google Docs), but for entirely solo devs it can sometimes be just as easy to cut out the middle man and write directly into your project as code. See Guide:Tools for Drafting a VN for planning & writing software recommendations.

How Do I Format My Script?

It is most common for VN writers to write in a way that resembles the script code of the engine they are using. Some developers do prefer to write in more human-readable styles, such as full novel-style prose or screenplay script format, and later convert it into actionable code.

As writing is such an individual process, it can be worth the extra effort to write in whatever way you're used to, if it makes the process easier for you. However, it's worth noting that writing your original script in a format as close as possible to actionable code will make programming and directing much easier and more efficient later on (which is useful if you're participating in a game jam or have some other exterior deadline).

Whichever methods you use, there may be some simple changes you can make in your word processor to make the process easier, such as turning off automatic smart quotes and tab characters, and using inter-document hyperlinks or heading styles to simulate jumping between script labels.

Engine Script (Ren'Py):

label scene_1:

    #any notes or scene directions
    show eileen at left
    eileen "This is a line of dialogue."
    eileen "This is another one."
    "This is narration."
    e "You could also write using character tags ('e') instead of names. ('eileen')"
    c "Oh, and this is another character."

Screenplay:

INT. EILEEN'S HOUSE - NIGHT
 
Narration lines aren't indented, like this.
    EILEEN "Hey."
    (Scene direction like this.)
    EILEEN "This is another line of dialogue."
More narration would be back out here.

Novel/Prose:

Eileen ran into frame from the left. “Hey,” she said. “This is a line of dialogue!”
She held her hand to her forehead, relieved. “I’m glad I caught you before you got to the end of this article, because this is a valid way of writing too! But it might take you a while to convert this into something usable for a game,” she continued, “because of all the dialogue tags and stuff.”

You may end up incorporating elements from each method into your own writing style over time, depending on what works best for you.

In any case, it's recommended to be familiar with what formatting your game engine uses, even if you are only a writer and not a programmer in your development team. Even if you end up writing in a different style, knowing which elements are transferable to your VN is important (will X type of line be translated as direct text narration, or as visual directions for moving sprites and effects? etc) and is something you should make clear to your programmer/scripter before they are given the script.

See Also

Guide:Tools for Drafting a VN for planning & writing software recommendations

Regex Guide for using Regex to convert different scripting styles into actionable code (Ren'Py used in example)