From VNDev Wiki

Branching refers to the structure of a visual novel which offers more than a single route through the story based on player input (or via randomisation in some cases). When the possible sequences of scenes or events is visually represented as a flowchart, it resembles a tree splitting into multiple branches whenever player input is called. These calls can take the form of explicit choices presented to the player (even if it's not clear to the player what the outcome will be), but they may also be the result of cumulative decisions throughout the visual novel, or even other methods such as the player's performance in a minigame. Branching can lead to many possible endings in a visual novel.


A route is a distinct story in a branching narrative that is from a significantly different perspective or contains significantly different content than other branches.

Common route

The common route the part of the story that all players will play through in order to unlock character routes. The common route usually introduces the main plot, characters, and themes of the visual novel in an overarching perspective. Because it must appeal to everyone playing the game, the common route may be more varied and less interactive compared to character routes. The length of a common route may vary, but it is generally shorter than a character route.

Character route

A character route focuses on one or more characters in particular and explores their personalities, backstories, motivations, and goals in depth. Character routes often have unique endings that are only accessible through this route. The length of a character route may vary, but their combined length is generally longer than the common route because more content is required to be written for each character.

True route

The true route is usually the "canon" ending of the visual novel and is considered to be the "main story". It unlocks after completing all other major routes and reveals important plot points that connect all the characters together. The true route often has the most satisfying or emotional conclusion, as it ties up loose ends and provides a sense of closure for the player.

Bad end

A bad end is an outcome in which the protagonist makes a poor decision or fails to achieve their goal. This may result in a game over screen or lead to a route that is less favorable than the true ending. Bad ends are usually used as a way to encourage players to make different choices or offer a unique perspective on the story.


Visual Novel narrative structure overlaps with Interactive Fiction narrative structure, but there is some variation in terminology. Note that many VNs and IFs do not fit perfectly into the following structures and may have characteristics of more than one of them.


A visual novel without branching has a linear structure. Often such visual novels are referred to as kinetic novels. An illustration of a linear scene structure.

Simple Branching

It is usual for a Visual Novel to offer players choices throughout the game each of which creates a new branch, and therefore multiple routes. If none of these branches merge or reconcile then the structure can be called simple. In IF it is called a Time Cave after "The Cave of Time" by Edward Packard, the first CYOA book. A pitfall of simple branching is combinatorial explosion which is the result of exponential growth: a low number of choices in sequence can produce a high number of outcomes. For example: 4 choices which each create 2 branches produce 16 routes. 5 choices produce 32 routes. And so on.

An illustration of 'combinatorial explosion' resulting from exponential branching. In the example a reader would encounter only 4 choices, but these would result in 16 possible ending

Early Branching

A narrative with a relatively short common route that diverts into narratively distinct branches is said to have early branching. Since routes have little overlap, each playthrough can feel quite unique.

An illustration of an early branching scene structure.

Late Branching

As opposed to an early branching plot, late branching occurs after a long common route section. This gives all routes the same context to start with and can help solidify the core elements and events of the story. Since the branching occurs very late, players will often skip or jump past the common route section if possible to reach the next route.

An illustration of a late branching scene structure.


An illustration of a story structure with additional, optional scenes off the common route.

Split and Merge

‎ An illustration of a Split and Merge branching structure with a common ending.


Illustration of Split and Merge structure featuring a bottleneck scene.

Ladder Structure

Rather than branching at the end of a common route, a ladder structure splits off during it. The common route can be visualized as a ladder, and the reader "steps off" the ladder at different points.

Parallel Stories

This type of branching tells two or more stories that run parallel to each other. Each story may have its own set of branches and endings, and the player can switch between them at certain points. Eventually the parallel stories can merge into one story or they can remain separate while affecting the overarching plot.

Gauntlet Structure

In this structure an incorrect choice (or other failure) by the player leads to a bad end. Each bad end could be unique or maybe be shared, for example the classic CYOA page: "You died." An illustration of a Gauntlet structure with multiple bad ends.

Branching triggers

Branches and routes can be accessed through the player's choice or some other form of gameplay. The branching can come about in many ways:

  • Immediately after player input: The player makes a decision at a specific point in the story that leads to different outcomes soon or immediately after the choice is made. This can also happen after a minigame where the player's performance decides how the story unfolds.
  • Tracked with variables: The player's influence isn't immediately felt. Perhaps they need to make multiple choices to trigger the branch (eg. affection points) or they need to choose a specific set of choices earlier on. The game will track these using variables.


A flag is variable that marks a noteworthy condition or action taken by a player. For example, a flag might say whether or not the player filled a bucket with water in a previous chapter. If the bucket is filled then the characters can extinguish a fire later on, otherwise it can lead to a bad ending or one where the building burns down.

Flags can be used in multiples to determine the various outcomes of events based on prior actions taken. For example, one flag can mark the existence of the water bucket, and another flag might be for the safe handling of fire. If the player fails both of these flags, the fire lights and can't be stopped.

Flags can have more than 2 states.

A flag that, once triggered, eventually and inevitably leads to the player character or supporting character’s death is called a death flag. Telltale’s famous "Clementine will remember this." notifications are an example of a tripped flag being overtly stated to a player.


A game may require a player to accumulate points and different outcomes will occur at some threshold for these points. Points may start with a value of zero or some pre-defined value and are modified by the player's decisions. Points may be used to track things like:

  • Character affection (each character's affection toward the main character)
  • Stats (eg. strength, stress, etc)
  • How much time was taken between two events

Persistent variables

Many variables are locked to the current save and only affect the current playthrough. However, sometimes it's important for an event to influence something outside the typical playthrough. For example, it might be necessary to complete two routes before unlocking the true route. In these cases, a persistent variable can be used to unlock new routes or trigger new scenes if an event happens in a different playthrough.

Unlockable routes

A route may be locked behind certain conditions and only available to the reader once those conditions have been met.

Enforced route order

A developer may want the player to experience routes in a predetermined order. This enforced order can be extremely strict, resulting in the plot essentially becoming linear, or looser so that a number of routes may be accessible at any one time. Any game with an unlockable true route has an enforced order.


A flowchart is (in general terms) a graphical representation of a workflow or process using symbols and arrows or connecting lines to depict the sequence of events. In the terms of a visual novel, a flowchart is an illustration of the choices a player makes to get to a game ending. Many devs use flowcharts to plot out their game before starting on the script, which helps the team calculate the project’s scope. Some VNs will offer an in-game flowchart to keep track of which routes the player has explored. Alternately, a flowchart may be offered on their website, in an artbook/fanbook, or created by a game’s fans.

Dependency Graphs

A dependency graph (sometimes called a 'dependency chart') shows the relationship between multiple elements in a system. It is often represented as a flowchart. Dependency charts are used in programming, and game-, puzzle-, and story-design. In VN design dependency graphs can be used to show which choices or flags are required for specific scenes. Dependency graphs are used to find potentially game-breaking problems. For example: In scene A the player character can get a key tracked in the game as a flag. The key is required to access a locked door in scene B. During development scene A is cut, so the player does not acquire the key and cannot open the door in scene B. Fortunately the developers maintained a proper dependency graph of the flags and were aware of the problem, so they change the state of the door to unlocked. A Puzzle Dependency Graph showing the items required to unlock a secure elevator.