# 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
# 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
| Structure | Difficulty | Content volume | Replayability | Ideal for |
|---|---|---|---|---|
| Linear with choices | Easy | Low | Low | First projects, strong arc stories |
| Branching tree | Medium | Very high | Very high | Classic CYOA, short adventures |
| Hub and spoke | Medium | Medium | Medium | Exploration, investigations |
| Gauntlet | Easy | Medium | Medium | Action, survival, dungeon |
| Loop and grow | High | Medium | High | Adventure, RPG |
| Time loop | High | Medium | High | Mystery, thriller |
| Parallel paths | High | High | High | Drama, 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