There’s a lot of things you can do here to help keep things straight. Primarily, you need to keep everything as organized as possible, and that means taking a big problem and breaking it down until it is in pieces small enough to handle. How I would start is by creating an outline for each individual storyline from beginning to end by breaking it up into a flow chart of story beats. Each beat should contain relevant information like:
- A list of characters involved in the scene
- The scene location and relevant environment details (What does this area look like?)
- All branching conditions and where the branches lead
- How this scene handles the different branches that lead to this scene
- A brief description of what happens during this scene
- Any sort of other requirements for this scene (props, character models, voiced lines, environments, animations, etc.)
Then, based on how the separate plot lines interact with each other, I would tag the branches with unique tags so that I can see where they intersect from scene to scene. If the flowchart of connecting scenes starts looking too complicated, it’s a good sign that the story could probably use some cutting or simplifying.
Let’s go with an example. We’ll create a quest that has a dialogue, a choice, two mutually exclusive scenes that result from the choice (an optional quest branch), and then some results. Here’s a sample quest summary:
The player character meets an archer named Neelo who wishes the player to recover her bow from a nearby cave. The player goes to the cave entrance only to discover another character, a shifty bard named Desmal, already at the cave entrance. Desmal offers the player a sackful of gold for the bow, but only if the player kills Neelo as well since she doesn’t want to deal with Neelo trying to take revenge.
So let’s build a quest outline for this, shall we?
Here is an example of a simple breakdown of the quest progression. You can see how scene progresses to scene, showing all of the different possible paths by which the player arrives at the next scene from its predecessor. You could (in theory) add notes to each of these scenes for the important information for those scenes, and dress them up visually however you like. As an example, I differentiated the action and dialogue scenes with the different shapes of bubbles, and used different colored arrows to indicate mandatory transitions as opposed to those driven by player choices. Notice how the quest converges after the player makes the choice to speak with Desmal or not and, if so, whether the player chooses to accept the subquest. Let’s continue with the second half of the quest.
Then we can finish the quest up through these scenes. Fighting Neelo is an optional part of the quest, but only if the player has accepted Desmal’s quest back up above. As you can see, there are two clear paths that the player can take to the end of the quest. If we wanted to do so, we could expand the quest to allow the player to keep the bow, attack Desmal, or any number of other things. We could track the results of the quest at the end and use those values in another quest later on.
The benefits to breaking up story beats in this way should be pretty clear. Each scene, be it an action or a conversation or whatever, is essentially a single self-contained block that has a finite number of ways of entering, a finite set of results, and one major thing that happens inside it. While there’s no limit to the complexity one can pile into a single scene, resist the urge. Keep scenes simple and straightforward. Maintain the purpose of the scene, or it won’t have the right effect. I can then add all of the relevant details to that specific scene and know exactly what is needed to build this scene without needing to keep the entire storyline straight in my head. All I need to remember is what variables are important entering the scene, the scene details itself, and how the scene will determine where to direct the player next. Because it’s self-contained, I have a discrete chunk of work that I can do by myself or hand off to another designer. Once it is complete, I can connect it to the other completed scenes to form a whole quest.
By keeping the storylines as self-contained flowcharts of interconnected scenes, I can easily determine each storyline’s relative complexity and size at a glance. The more the storyline looks like a spider web, the more complicated it becomes. Furthermore, with some practice breaking scenes down and creating them like this, I can also start estimating how long a specific scene will take to complete. This means that I can take a look at an entire storyline and estimate, based on the number of scenes in it, how long the entire storyline will take to craft. I can put in scene budgets for storylines to keep them sane - a large or critical storyline might have a top end of 25 scenes, while a one-off throwaway quest would have to be done in under 10. Since I can presumably tell what my schedule looks like, I can then make some decisions like “I can make this bigger” or “This won’t fit, I need to cut something”. I can then determine which parts that can safely be cut, and where I can reference smaller self-contained storylines into larger ones for more engagement without adding too much complexity.
Got a burning question you want answered?
- Short questions: Ask a Game Dev on Twitter
- Long questions: Ask a Game Dev on Tumblr
- Frequent questions: The FAQ