We have much to show you.
Making Interactive Fiction: The Branch and the Merge
2018-10-11 · by Bruno Dias
tagged Blog / Columns / Non-Fiction
Branching stories run naturally into the problem of combinatorial explosion. If you keep writing different variants for each choice the player could make, eventually you end up with too many branches to write or manage. Sam Kabo Ashwell calls this structure the “time cave,” and while it has been used in the past, the amount of content you have to write to achieve a story of any significant length quickly becomes unsustainable. And by the very nature of time caves, it’s hard to make any sort of statement or maintain any kind of thematic cohesion, as the story can carom off in dozens of directions.
To get around this, we resort to merging: joining together different story paths. This presents its own set of structural and stylistic challenges, though. A major tension in interactive narrative is that we want players’ choices to be reflected in the narrative, but we necessarily end up writing material that will be shared between many different story paths.
Structuring around merging
There are several historical solutions to the problem of structuring a narrative around merging points. Drawing on Ashwell’s terminology, the most common one is the branch-and-bottleneck structure.
In a branch-and-bottleneck story, there are certain story beats that are fixed to all (or most) versions of the story, and they act as major merging points, periodically culling the variations that are in play. Delayed branching and dynamic callbacks (more on those in a moment) are used to help keep the story responsive to the player’s choices, even though branches are relatively short-lived. This is essentially the structure Choice of Games enforces with their house style.
In shorter works, I’ve often used or encountered the episodic cluster structure. Here, the story is split into discrete and semi-independent chapters. Players can experience the chapters in a variable order; the story merges when they return to a “hub” again and again to choose their next chapter. Those chapters might be truly episodic (and thus independent from one another), or they might be separate parts of a broader process. For example, the player might be choosing their next move in an investigation – talking to suspects and witnesses, visiting the crime scene, and so on. Each of those little scenes would play out independently, but their outcomes would add up in the ending to the overall story. This is a specific variant of a more general hub and spoke construction.
Structure facilitates merging when those merging points work naturally within the context of the fiction. In a branch-and-bottleneck structure, the forward momentum of the story is always moving towards the next major story beat, and therefore the next merge. For example, if we were constructing a Friday Night Lights-like serialized story about a sports team, we might use the weekly game (and the rising tension towards the playoffs) as our major story beats and merging points; in between those moments, our story might meander according to player choice, perhaps impacting the outcome of events, but we’re always snapping back to those key moments.
Scene breaks and other discontinuities are obviously natural places for merge points, but we don’t always have that luxury; sometimes we want to tell a story from a character’s continuous point of view, or we have a more constrained scope. Ideally, we don’t want players to be able to discern the “seams” at a merge point. Finding natural breaks or discontinuities in the text, moments of rest or shift in attention, is a tool here. Of course, I’ve definitely found myself inserting brief paragraphs or lines meant to spackle over those discontinuities; learning how not to need to do that is part of the craft and takes practice. Minor adaptations of the text output can go a long way.
Delayed branching and dynamic callbacks
Holding state and responding to player choices later, as well as accumulating choices (for example, by tracking a stat that can be affected by small incremental decisions) is a key technique in making stories work past merge points. In a delayed branch, the story silently switches tracks in response to an earlier choice made by the player; we tend to call that a “callback” when it’s a brief branch meant to simply respond to or reference something, without fully abandoning the broader flow of the story.
Particularly with branch-and-bottleneck structures, the pattern is often that the story has a lot of explicit choice branching early on, and a lot of delayed responsive branching later on; setup, then payoff. The main difficulty here is maintaining a reasonable pace of choices throughout, and making those choices feel balanced and impactful; if earlier decisions “lock in” certain outcomes later in the story, it’s easy to lose the player’s interest as they get closer to the end.
The branch is the basic structural building block of most interactive narrative, but hopefully this article makes the case for the merge as a necessary counterpart for the functioning of any story past a certain degree of length and complexity.
Bruno Dias is a writer and narrative designer based in São Paulo. His work has appeared in video game publications (Waypoint, PC Gamer), games (Where the Water Tastes Like Wine) and interactive fiction on Sub-Q and elsewhere