Structure & Craft
Reading a Branching Narrative: What the Passage Structure Tells You
How to read an interactive story as a structure rather than a plot — passages, links, hidden state and endings — and what to check before you decide a branch is broken.
Most people read a branching story the way they read a novel: forward, once, following whatever felt right. That works, but it hides the thing that makes the form interesting. An interactive story is not only a sequence of sentences; it is a set of named units and links between them, plus a small amount of memory that decides what you are allowed to see next. Once you learn to see that layer, confusion turns into a map.
Passages are the unit of the form
In Twine, the standard authoring tool for browser-based interactive fiction, the working unit is called a passage. The Twine Cookbook describes a passage as “a way of thinking about different parts of a story,” which can be rooms, time periods, or simply compartments. Every passage has a title, may have tags, and contains content — prose, code, or both mixed together, because Twine does not separate writing from scripting.
The Cookbook is explicit about the consequence: clicking a link in Twine is generally a movement between passages, and in the vocabulary of interactive fiction that movement can be thought of as a turn. That is a useful word. A turn is not just a page flip; it is the smallest unit of play, the point where the machine accepts your input and produces the next state.
So the first reading habit is mechanical: when you move, notice what moved you. Was it a link with a phrase you chose, or did the story push you forward without asking? Those are different events, and stories mix them deliberately.
Links can be questions or statements
The ink language, used by the studio inkle for its narrative games, makes the distinction unusually visible in its source. A choice written with an asterisk offers input, and by default the text of that choice is printed again into the output. Put the choice text in square brackets and the line becomes a silent junction: the narrative moves without repeating the phrase you clicked.
That single bracket explains a lot of reading experience. A story that echoes your click back at you is treating the choice as dialogue — it wants you to hear yourself say it. A story that swallows the click is treating the choice as a steering wheel. Neither is better, but they create different rhythms, and a writer who mixes them without care produces the odd feeling of the story talking over you.
Ink marks passages differently again. A section is called a knot, introduced by two or more equals signs and a single-word name, and the manual points out the ancestral link directly: knots exist “as an old-fashioned gamebook does with its ‘Paragraph 18’.” Diverts, written ->, move the story immediately and invisibly, and can happen mid-sentence. If you have ever read a paragraph that seemed to change subject without a page turn, a divert is probably why.
Every ending is a legal state
The ink manual is blunt about loose ends: if the flow runs out without an ending marker, you get a warning at compile time and a runtime error in play. The writer is expected to write -> END deliberately.
For a reader this is a useful reassurance. An ending you reach is not a failure of your reading; it is a state the author chose to allow. Wikipedia’s description of the gamebook form makes the same point from the other direction: gamebooks typically end in victory or death along branching paths, while branching plot novels are described as more interested in narrative resolution than in winning, often offering several endings that can be judged equally successful.
When a story hands you an ending you did not expect, the productive question is not “what did I do wrong” but “which of the branches I passed had this as an allowed exit.” Gamebooks are usually written in the second person, with the reader cast as a character, which makes that question feel personal — but the answer is structural.
Story format is a reading constraint
Twine is not one engine. The Cookbook explains that story formats are collections of rules and styling, and that in Twine 2 they behave “more like dialects of the overall language” with their own visual changes. Harlowe and Chapbook are built to be friendly to newcomers; SugarCube carries a large expanded set of functionality and expects the author to know things; Snowman ships with very little built in and expects the author to supply it.
This matters when you are stuck. If a story in a beginner-oriented format seems to offer fewer options than you expected, that is often a design choice within the format’s grain, not a bug. If a story in a minimal format behaves oddly, it may be custom code. Knowing which dialect you are reading tells you whether to look for a rule or for a decision.
A short reading checklist
Before deciding a branch is broken, check these in order:
- Did the last move ask me anything, or did it push me? If it pushed, you are in a divert, not at a fork.
- Is there a phrase I clicked that never appeared in the text? That is a suppressed choice — the author meant it to be silent.
- Did the story remember something I did several turns ago? Many systems gate options on history, so an option can appear later that was never shown before.
- Does the ending feel abrupt? It may be a deliberately allowed terminal state rather than a truncated one.
None of these requires reading the source code. They require only that you stop treating the page as fixed and start treating it as a state machine with prose on top.
Why this matters beyond one story
The value of reading structurally is that it makes comparison possible. Two stories with the same plot can have completely different shapes: one a narrow corridor with a few fake forks, another a wide mesh where branches rejoin by different routes. Twine’s own reference material treats links and passages as the foundation of the whole experience, and that framing is the most portable lesson the form offers.
Read the prose for pleasure. Read the structure for understanding. The two readings do not compete; they just happen on different layers of the same page.
Sources
- Twine Cookbook, “Passages” — https://twinery.org/cookbook/introduction/passages.html
- Twine Cookbook, “Story Formats” — https://twinery.org/cookbook/introduction/story_formats.html
- inkle, Writing with ink (writer’s manual) — https://github.com/inkle/ink/blob/master/Documentation/WritingWithInk.md
- Wikipedia, “Gamebook” — https://en.wikipedia.org/wiki/Gamebook
This article is written for: A reader who has opened an interactive story, felt lost inside the branching, and wants a repeatable method for reading the structure instead of guessing at it.
AI assistance recorded as: AI draft, not edited. Review status: approved.