Game Developer Deep Dives are an ongoing series with the goal of shedding light on specific design, art, or technical features within a video game in order to show how seemingly simple, fundamental design decisions aren’t really that simple at all.
Earlier installments cover topics such as the player-centric approach helped Dead Cells evolve into a full IP, how the makers of Let’s! Revolution! prototyped their way into a better Minesweeper, and why the developers of Thronefall are making strategy games for people who don’t have time for the genre.
In this edition, indie developerMike Sennott discusses in-depth his approach tobranching and randomized narrative in theoccult management adventure game Astronaut: The Best.
Hi there, my name is Mike Sennott, a long-time indie designer and writer with an academic background researching game narrative. My latest project isAstronaut: The Best, an occult management adventure game about running a proper space academy using lies, witchcraft, and/or hard work. As you can probably tell from my stab at an elevator pitch, it’s a pretty out-there game where we chanced exploring some new and unusual ludonarrative territory. For its release on August 15, 2023, I wanted to discuss one aspect of its design that I’d love to see future games borrow and expand upon: its combination of branching and randomized narrative.
Building a moral laboratory
Before diving into the narrative design, I should start by explainingAstronaut: The Best’s mechanics and goals. From the outset, our team wanted to create a leadership simulation. It can be tough to hold a position of public responsibility—getting conflicting direction from higher-ups, being held accountable for others’ failures, dealing with overzealous media—and we wanted to put the player in that difficult situation by embodying those conflicts and trade-offs. However, we didn’t want to make the experience feel too stressful or judgmental. Instead, our goal was to build a kind of moral laboratory, a lighthearted and humorous space where the player can try out different values and modes of behavior to discover the consequences.
Our specific scenario was vaguely inspired by the book The Right Stuff: How do you choose the right astronauts for a space program? So many factors go into that seemingly simple decision beyond just a cadet’s apparent skills—how they deal with stress, work with a team, or handle the media might be just as important.
To represent this scenario, we introduced some light strategy/management mechanics: the player trains cadets in various stats (piloting, procedure, fitness, charm, and beauty), which they can use to overcome different challenges. But ultimately, our moral laboratory is about making narrative decisions. Not just dealing with clean mechanical trade-offs—handling unexpected decisions, messy decisions, human decisions. And so, the big question facing our team was: what form do these decisions take?
Branching choices or procedural events?
As a starting point, two polar opposite approaches presented themselves. We could embed the decisions into an elaborate branching narrative, or divide them into a series of randomly chosen events. To give two relatively popular examples about similar subject matter, would we approach player decisions more like Long Live The Queen,or Reigns?
Given that a key to our “moral laboratory” design goal is replayability, a randomized narrative like the latter seemed especially appealing. We could make each player decision into a separate storylet, and shuffle them like a deck of cards. These decisions’ consequences would be felt through their mechanical effects: how they affect the player’s astronauts and resources, which in turn affect their ability to deal with future challenges. This can make for a wonderfully replayable experience, as with every new playthrough, the player not only discovers new events but also encounters familiar ones in new contexts where different decisions might be optimal.
The tricky thing about those sorts of procedural events is linking them into a meaningful narrative instead of just a series of semi-related occurrences. How do you guarantee a sense of progression and a meaningful arc that builds to a satisfying ending? There is a rich vein of indie games and interactive fictions that attempt to answer those questions, many of which are covered with fantastic comprehensiveness by Emily Short’s blog. These approaches are often centered around preconditions: a cycle where storylets modify stats or resources, which in turn allow new events to appear. They tend to excel in creating a sense of emergent causality, where seemingly small events give way to larger arcs.
However, throughout our initial prototypes along these lines, I found myself longing for the dynamics of a more conventional branching narrative. Players can’t effectively experiment with different approaches unless they’re reliably able to reach the same key decisions each playthrough and compare the consequences. All in all, the joy of discovery we wished to inspire matches up pretty well with the feel of exploring a labyrinth of branching choices: seeing the promise of alternate paths stretching before you, wondering how deeply they diverge and what new content each might hold.
Of course, branching narratives come with well-known drawbacks that often disqualify them from a game about making lots of decisions:
The more a decision has meaningful story consequences beyond modifying the mechanical game state, the more expensive it is for the developer to build.Multiple choices quickly compound into untenable combinatorial explosions unless they converge or otherwise don’t affect one another.Though it can be fun to replay in pursuit of new branches, the player must trudge through old content to reach it (barring some metagame conceit like time travel).
But what if we could keep the feel of a branching story while using some of that procedurality to reduce these drawbacks?
Tightly structured, but filled with randomness
Our solution in Astronaut: The Best is to start with the framework of a larger branching storyline, and fill in the gaps with randomized events. In each playthrough, the player chooses one of five missions, which determines that branching storyline. Playthroughs are short—an hour or two each, lasting 10-20 in-game days—to allow for replayability.
The mission provides a few key events at the beginning, middle, and end of the playthrough that will always be the same. There’s a brief introduction to the scenario, a few critical decisions sprinkled throughout the middle, and then a final challenge that uses a combination of those decisions and mechanics-based challenges to branch into a wide range of possible outcomes. On every other game day, there is a random event that asks the player to make a decision. These decisions can affect the program’s reputation, their astronauts’ stats and well-being, and standing with their bosses (the High Priests who run your nation), as well as introducing obligations or handicaps for the future—all of which can, in turn, affect the paths available within the branching storyline.
Because the mission content is limited to a few key events and decisions, with most branching at the end, we were able to avoid the dreaded combinatorial explosion. That said, we employed the usual bag of tricks to reduce the workload of branching choices, including having choices that affect orthogonal aspects of the payoff that don’t interact or conflict. For example, in a mission about your astronauts getting roped into a boxing match, you can decide on the venue. This primarily determines the possible reward from the match, along with certain text descriptions, without causing the story to diverge wholesale. But the story does call back to the decision at certain times, and each option has meaningful mechanical and narrative effects in the branches that follow.
To ensure that the branching events create an easily understandable decision space for players to explore, each mission has a visualization called a “mapestry.” This is a map that clearly shows the points at which the narrative diverges and fills in the details of its various paths as the player finds them. Each mapestry has a mixture of obvious choices with hidden paths unlocked by more specific and unusual combinations of previous decisions. We want to be honest with players about how much content each mission contains while enticing them with the promise of discovery.
As for the random “filler” events, despite me calling them filler, they serve a crucial role. Most obviously, they keep the player from having to retread content they’ve already played on the way to exploring new branches. However, they also serve to refresh the context of those story decisions. Due to the random challenges, the player will have different abilities and resources available when they arrive at story decisions, which may lead them to experiment with different paths than they would have otherwise chosen. Conversely, if the player is replaying the mission and aiming to reach certain branches in the mapestry, it creates emergent gameplay goals as they try to set up the right astronauts and resources to reach those events in the face of all those random challenges. In this way, the randomized and branching events make one another more interesting and replayable than either would be alone.
What about winning?
I’ve been talking about how players experiment with moral decisions and explore stories, but what I haven’t mentioned is the idea of succeeding or failing. Beyond just experiencing content, winning and progressing are important factors for motivating players. What does it mean to win a mission, and what do you get from it? How can we balance properly incentivizing success with our goal of making failure fun and rewarding?
For metagame inspiration, we looked at the breadth of popular roguelites. At heart, the genre has one thing in common: presenting players with a goal that’s way too hard and rewarding them every time they fail and try again. That loop lined up well with our goal: we wanted to make running a successful space program feel as much of an accomplishment as finishing a run of Slay the Spire or Hadesand give players some rewards no matter what kind of disaster they run into along the way.
But at the same time, we wanted to shepherd players through a progression of the game’s five missions and avoid forcing them to replay the branching story elements beyond their satisfaction. That meant we didn’t want any individual mission to be super-difficult to beat or require roguelike trial-and-error.
As a middle ground, we ended up dividing each playthrough into two halves. First, there’s the mission content, as described above. Every mission is about some obstacle that must be overcome before the space program can be cleared for launch (such as solving a supernatural mystery or sabotaging an anti-space television show). Then, if the player succeeds, they have an extra ten days to prepare astronauts for space travel, which is much more difficult. Space travel has a push-your-luck structure, where you can choose to risk exploring progressively more dangerous and difficult locations.
That space phase provides a roguelite feel: it gives a very difficult goal, where players are expected to fail in strange and spectacular ways. That frees up the missions to be balanced more generously, such that players can succeed and unlock the next mission within a few tries, before they would run out of interesting branching content. (In particular, we try to introduce multiple alternate ways to succeed—if you don’t think your astronauts can win a boxing match, why not conspire with a High Priest to throw it?)
Space is structured the same way as the missions, with an overarching branching framework filled in with random events. Since the space phase can follow all five missions, we tried to make a commensurate amount of content, including a choice between five destinations to aim for. Along the way, there is a series of random challenge events requiring player decisions and testing the astronauts’ skills. Each destination is a more significant event with its own unique structure, from a simple series of branching decisions to time-limited exploration. After the launch, there is a parade (of varying sincerity), followed by a private meeting where the High Priests tell the player their fate. These allow us to boil down the results of the space expedition, all the players’ resources, and any other narrative loose ends into a single final overall score so that success-motivated players can compare their playthroughs and continue challenging themselves to excel.
Structuring the story is just one part of making a cohesive narrative game, and there are so many other things I could talk about, from dialogue tone to randomizing characters to occasionally surprising players by breaking all the formulas I’ve laid out here. But if there’s one thing I want other developers to take away from Astronaut: The Best, it’s that making a narrative with both structured and randomized aspects isn’t hard. Virtually any narrative-focused game that seeks “replay value” through multiple endings or narrative choices can increase that value by mixing things up between playthroughs—just as virtually any game that starts from a place of emergent systemic narrative can leverage those systems to enjoy some of the indulgences of traditional bespoke branches. As a fan and a player of narrative games, I can’t wait to see what other approaches designers explore in the future.