Narrative Design 102: Interactive Story Techniques

Johnnemann Nordhagen
4 min readSep 23, 2023

We make stories in video games because, probably, something about the idea of a participatory medium entices us. How do we involve the player in the story we’re telling?

Video games are not unique in being a participatory (or ‘interactive’) story medium, but it is one of the interesting things about them. Today I want to talk about three different paradigms for an interactive story, in rough order of complexity.

Linear Story

Linear interactive story sounds like an oxymoron, but this is a totally valid method of storytelling in games. The distinction to be made is between the way the game plays out and the way the story plays out. In many games, there’s no difference to what the final narrative is based on anything the player does, but the player does have full freedom to act as they see fit. They can affect the world, but not the story. The story of Zelda games is Link saving the princess and the world, and there’s little if anything that can change there, even if the player has a choice about what order they get various powerups in, even if the player has an entirely open world to play in. The events of the story play out the same way.

Branching Narrative

Branching narrative is when the story can take different paths depending on player choice. Often, those paths re-converge at some future point in order to avoid too much divergence and ballooning scope. Branching may happen due to an explicit choice by the player, or may occur based on some conditions being met (e.g. a new conversational option being added if the player’s skill is above some threshold). New content is exposed to the player based on decisions at particular points. Branches may change something about game state (unlocking particular endings or adjusting how a character treats the player), or may just be a different flavor of content (what I call “cosmetic branches”).

Storylets

Storylets are small atomic pieces of story — they can be as small as a line, or as large as an entire quest. They’re associated with some sort of tags or qualities, and then a system decides when to surface each storylet to the player. Unlike branching narrative, this content isn’t available only at specific decision points, but can potentially be triggered by the system at any point. This necessitates the creation of a system to pull out storylets from the pool of possibilities — options for that system can be as simple as “these stories are tagged ‘night’ and will only be surfaced during the nighttime” or involve complex calculations to determine the exact relevance of the story to the situation at hand (so-called ‘salience’ mechanics).

Many games use some combination of the above techniques. For example, Where the Water Tastes Like Wine has an overall linear story, but the conversations with individual characters are branching, and the small encounters that the player has through the game are storylets. The choices made within those encounters can branch, making each storylet a small branching story.

The main story can be described this way: the player starts the game by losing a game of cards, and ends when they have collected the full personal stories of 16 characters — no decision made along the way will alter the player’s fate or the outcome, unless they stop playing. A linear story.

The game begins with this character delivering this speech, and ends with the same character and a different speech.

But when the player sits down to talk to a character, they have up to 16 choices of stories to tell that character, and each one of those branches will respond with a different piece of that character’s narrative. This is a classic branching structure.

Conversations with characters can use any of 16 different categories of story to get a response — this doesn’t have the same UI as a classic branch, but it is!

Similarly, each little story that the player encounters, they have choices to make. Sometimes these choices change only the experience the player has in the moment (cosmetic branches), and sometimes they affect what type of story the player ends up with from their encounter.

A classic binary moral choice, just like Bioshock

The encounters themselves are drawn from a large pool of encounters, each tagged with some information, by a system that decides which will be most relevant. It considers location in the US by region, whether the story has been encountered before, and if a necessary previous story has been encountered (for instance, there is a chain of encounters related to meeting the Devil — the next encounter can only be drawn if the player has already had the first meeting). It was originally more complex than that, but here’s a tip about storylet systems: the more specific the needs of your system are, the more content you may need to cover the bases.

So here are three different ways to think about how to approach narrative in your game, with the understanding that these approaches can be combined with each other. There is much more to be read about each of these approaches, and you should do research before deciding on an implementation for your game — especially for storylet systems, which can be very powerful but also very complex!

--

--

Johnnemann Nordhagen

Johnnemann has been making games for decades. He has worked on titles such as Bioshock, Gone Home, and Where the Water Tastes Like Wine