Best practices for naming passages/scenes

Can you try to explain a little better what the point of the extremely long passage names would be if you were using Tweego and directories?

edit: also omg I’ve never heard of Scree and this is AMAZING

1 Like

It would be highly structurated, not only alphabetically but also (although to a lesser extent) semantically.
Filenames matching passage names (except the twee extension) means you have your exact passage’s names in a tree at the left panel of vscode/sublime. One filename/one passage, crystal clear.
Also,if the name structure is precise, suppose you wanted to reenumerate things, you would be able to batch process it, using regex.

warning: The main difference between using a Text Editor (1) and a Word Processor application (2) to write the contents for a Twine (or Twee Notation) project is that Word Processor applications will often automatically convert Standard quotes (single or double) into Typographical (curvy) quotes, and a Standard dash (minus sign) into the Typographical equivalents…

Standard    Typographical
   '           ‘ or ’
   "           “ or ”
   -           – or —

…and this practice becomes an issue if those converted characters are included in macro calls and/or code.
eg. When passing a String value to a macro Standard quotes are used to indicate the start & end of that String value…

<<include 'Name of Passage to include'>>
<<include "Name of Passage to include">>

…and that macro call will fail if Typographical quotes are used instead…

<<include ‘Name of Passage to include’>>
<<include “Name of Passage to include”>>

eg. When subtracting one Number from another a Standard dash (minus sign) is used…

<<set $counter to $counter - 1>>

…and that mathematical operation will fail if Typographical dashs are used instead…

<<set $counter to $counter – 1>>
<<set $counter to $counter — 1>>

So if you do intend to use Word Processor to help with the writing of the narrative parts of your project, and having access to advanced Spell & Grammar checkers is certainly an incentive for some to do so, then make sure you either:

  • don’t write any of the coding parts of your project in such applications.
  • disable the automatic Typographical converting feature (if possible)

(1) like Visual Studio Code, Sublime or the Editors in the Twine 2.x application.
(2) like Microsoft Word or Google Docs.


This might have already been debated to an end and I’m chipping in late, but I use a somewhat simple structure for my passage and file names. It does appear that folks separate out their work far more than I do which is interesting. I make files for each chapter, which are titled with a number and a condensed version of the chapter title - something like: “”

In that chapter file, I organize by number - passages increase numerically, and branching is done by adding a number to indicate how many passages have occurred in the branch and a number for variation. To keep track of this, I number the passages inside my text documents.

So for the passage name “01-01 abcd 01” it’s indicated that you’re in part 1 of chapter 1, abbreviated “abcd”, and on passage 1. When it comes to branching, the format changes to read “01-01 abcd 02.1 var 1”, which rightfully looks like word salad. The “01-01 abcd” part remains unchanged. The passage number has increased to 2, and because this is the first branching passage, it gets the 1 added to become “02.1”. The “var 1” indicates that this is the first variation of the choice. While it may seem complicated, I’ve yet to have an issue of repeating passage names or directing to the wrong passage in games that are hundreds of passages long and growing.


Bullet proof! Obsession pays!

1 Like

I’m curious…

…how do you remember what the content of a specific Passage relates to?
eg. that Passage’s content relates to the time the MC first visited the Library.

…and what specific branching lead to that Passage?.
eg. that Passage’s content relates to the MC choosing to read the book bound with leather made from goat skin during their first visit to the Library.

1 Like

When I’m writing the story, I number and label my passages in the text editor in the same way, regardless of the branch or passage number. So if I’m looking to code content from 01-01 abcd 01, I can just search by that string to get the content I need. Same goes for branching, I can look up the label and get all the information I need about the content.

You’ve explained how you find a specific Passage (in your example “01-01 abcd 01”) of your project.

Where as I was asking how do you remember, without opening a specific Passage and reading its contents, what the contents of that “01-01 abcd 01” Passage relates to.

Or to put it another way, how do you know to search for “01-01 abcd 01” when you want to make modifications to the Passage that describes the MC’s first visit to the Library.

I work entirely chronologically, and assign passage numbers chronologically. As ridiculous as it may sound, I simply remember what’s in each passage based on context and its location in the story structure. I also don’t mind losing a few seconds to search if I can’t remember.


In order to save time and energy…

  1. How do you handle “gaps”? I mean, suppose you have branch 1, 2, 3. You remove branch 2. Now you have a node with two branches 1 and 3. Did you ever had any trouble about that?
  2. If you keep adding branches numerical info into the same name, wont you end up with only an original semantic sequence of words followed by an idefinite number of dots and numbers?
  3. Have you identified any problem regarding your naming system?

It’s actually useful to just see there’s a gap there because it’s easy to pick out if you want to come back to it later.

I’m sort of new with pure twine, and I’m finding I make really weird choice texts and let that auto generate as the name of the next passage. And I’m also used to doing find and replace to locate content within it.

It seems the major reason to sequentially number passages is if you intend to export to say, a word processor, for review/spellcheck etc. and you want it to be in that specific order.

I also really like the flowchart UI and enjoy shoving passages around into stacks by plot locale and content, whatever hits at the moment.

To answer -

  1. I haven’t had any trouble with branches - if I cut branch 2, then branch 1 and 3 remain as they are, with no change. If a section needs to be edited or rewritten, I can fill in the appropriate code and passage from my outline, and return to it later.
  2. Technically, yes. If the change is large enough - like in one of my projects that involves massive changes in world-state and major character deaths - then I’ll actually split off into another file that reflects that change and work with all variations in parallel, following the same conventions as before. This is uncommon; most of my choices do end up converging somewhere, typically the end of a chapter.
  3. The only issues I’ve ever had are with inserting or deleting passages after a section is complete (usually due to my own coding issues or major edits, which is why I try to have everything edited before I go to code), and the occasional spelling/syntax error from typing quickly.
1 Like