# Narrative structures for interactive fiction

Not all immersive stories are the same. Over the decades, interactive fiction authors have developed different narrative structures (or patterns) to organize their stories. Understanding these structures will help you choose the one that best fits the story you want to tell and implement it effectively in Livre Arbitre.

# Linear with choices

The simplest structure: a main path with occasional detours. The reader's choices can lead to bonus scenes or slight variations, but the story always returns to the main trunk. Ideal for beginner authors or stories with a strong narrative arc.

  • Advantages — Easy to write and maintain, ensures the reader sees essential content
  • Disadvantages — Can feel like false choices if detours are too short
  • Implementation — Create a main sequence of steps, then add side branches that return to the main path via conditional or direct links

# Branching tree (true CYOA)

The classic "Choose Your Own Adventure" structure: each choice leads to completely different paths. The story branches like a tree, with each branch being unique. This structure offers the greatest replayability but is also the most content-demanding.

  • Advantages — Each reading is truly unique, choices have a real and significant impact
  • Disadvantages — Content volume explodes quickly (exponential growth), much content will never be seen by any given reader
  • Implementation — Each step has multiple children that never converge. Use the Node Flow to visualize your tree's expansion and keep the number of levels reasonable (5-7 levels of depth maximum)
Beware of combinatorial explosion

With 3 choices per step and 6 levels of depth, you get 729 possible endings. Limit the depth or converge certain branches to keep content volume manageable.

# Hub and spoke

A central location (the hub) serves as the starting point to several explorable areas (the spokes). The reader can explore the areas in any order they wish, then return to the hub. This structure is widely used in adventure games and exploration narratives.

  • Advantages — Great exploration freedom, the reader controls the pace, easy to extend with new areas
  • Disadvantages — Can lack narrative tension if areas are too independent
  • Implementation — Create a hub step with links to each area. Each area is a sequence of steps ending with a return to the hub. Use variables to track visited areas and unlock progression

# The gauntlet

A series of challenges or trials with success or failure outcomes. Each trial can lead to the story's continuation (success) or a negative consequence (failure, injury, resource loss, or even story end). Ideal for action or survival narratives.

  • Advantages — Creates tension, stakes are clear, the reader feels involved
  • Disadvantages — Can be frustrating if failures are too punishing, risk of becoming repetitive
  • Implementation — Chain challenge steps with two outcomes each. Use variables to count successes/failures and condition the story's continuation. Events can announce consequences (congratulatory email, alert message)

# Loop and grow

The reader returns to familiar places but with new options unlocked through their previous actions. This is the Metroidvania game structure applied to interactive fiction. The world evolves with the player.

  • Advantages — Sense of progression, rewards exploration, adds depth to the world
  • Disadvantages — Complex to implement, requires rigorous variable and condition management
  • Implementation — Use variables extensively to track world state and reader achievements. Conditions on links show or hide options based on progression. The Node Flow is essential for visualizing loops

# Time loop

The reader relives the same events but can make different choices each iteration. Think of the movie "Groundhog Day". Variables track what the reader learned in previous loops and unlock new options.

  • Advantages — Intriguing concept, the reader discovers new facets with each loop, excellent for mystery
  • Disadvantages — Risk of fatigue if variations are too subtle, setup is complex
  • Implementation — Create a set of steps for the base loop. Use variables (loop_count, discovered_clue_x) to condition texts and available choices on each pass. Events can be used to mark revelations

# Parallel paths

Multiple narrative threads run in parallel and eventually converge toward a common climax. The reader can alternate between different characters' perspectives, or an initial choice determines which path they follow until the convergence point.

  • Advantages — Narrative richness, ability to explore different perspectives, the convergence point creates a powerful moment
  • Disadvantages — Difficult to maintain consistency between paths, the convergence point must work regardless of the path taken
  • Implementation — Create parallel branches from the start. Use labels to identify each narrative thread. Variables carry each path's consequences to the convergence point. In multiplayer mode, each player can experience a different path

# Comparative table of structures

StructureDifficultyContent volumeReplayabilityIdeal for
Linear with choicesEasyLowLowFirst projects, strong arc stories
Branching treeMediumVery highVery highClassic CYOA, short adventures
Hub and spokeMediumMediumMediumExploration, investigations
GauntletEasyMediumMediumAction, survival, dungeon
Loop and growHighMediumHighAdventure, RPG
Time loopHighMediumHighMystery, thriller
Parallel pathsHighHighHighDrama, multiplayer

# Enriching each structure with events

Regardless of the chosen structure, events can enrich it considerably. Here's how to use them depending on the pattern:

  • Linear with choices — Summary emails to remind of consequences from detours taken
  • Branching tree — Character messages that vary depending on the chosen branch
  • Hub and spoke — Notifications when new areas are unlocked
  • Gauntlet — Congratulatory or warning emails after each challenge
  • Loop and grow — Messages that evolve with each pass through a location
  • Time loop — Clues sent by a character who seems aware of the loop
  • Parallel paths — Cross-messages between characters on different paths

# Visualizing and validating with Node Flow

The Node Flow is your best ally for verifying that your structure matches what you planned. Each pattern has a characteristic visual signature:

  • Linear with choices — A vertical trunk with small side branches that return
  • Branching tree — A tree that widens downward with no cross-connections
  • Hub and spoke — A central node with clusters around it, connected by round trips
  • Gauntlet — A ladder with regular forks (success/failure)
  • Loop — Arrows going back up to previous nodes, forming cycles
  • Parallel paths — Multiple vertical columns that eventually merge
Tip

Regularly use the Node Flow while writing to verify that your structure stays true to the chosen pattern. If the graph starts looking like a plate of spaghetti, it's time to simplify.

Combine structures

Nothing stops you from mixing patterns. For example, a Hub and spoke structure where each spoke contains a Gauntlet, or parallel paths with progression loops. The important thing is to stay consistent and maintain a clear vision of the whole.