Posted by: Dan Fabulich | Comments (27)
Traditional gamebooks tend to be pretty short. The average story in a 110-page book in the most popular “choose a path” series is only six pages long.
It’s not hard to see why. If each page of a choose-a-path book allows the reader to choose between just two options, a seven-page story requires 128 pages of text. If you want eight pages, the author has to deliver twice as much text, 256 pages. And if you want to write a twenty-page short story, you need a book more than a million pages long. You’d never finish writing a “short story” of that magnitude!
It’s hard to tell a great story in fewer than eight pages. (You can tell children’s stories, which is perhaps why choose-a-path has traditionally appealed to kids.) You’ll have to write longer stories if you want grown-ups to read them.
One way to write longer interactive fiction is to merge your plot branches aggressively, like this:
But this creates an obvious problem: if your narrative looks like that, then it doesn’t matter to the story what happens in earlier choices. It doesn’t matter at all what you pick in Chapter 1, 2 or 3 . . . nothing else in the rest of the story changes based on those decisions. Merging branches like this robs the interactive novel of its interactivity.
The solution to this problem is to use delayed branching, in which earlier choices don’t branch the story right away; instead, they determine the outcome of later decisions.
For example, in Choice of the Dragon, you decide in Chapter 1 whether your dragon tends toward “Brutality” or “Finesse.” In a later chapter, your dragon faces off against a group of heroes; you can choose whether to fight the heroes in a fair duel, or to set a trap for the heroes instead. Only players who have chosen Brutality will win in a fair duel; players who chose Finesse will lose the duel. On the other hand, dragons with high Finesse will set the trap successfully; dragons with Brutality will set a clumsy trap that the heroes can easily circumvent.
By delaying branches and aggressively merging branches, authors can design a linear story that’s still highly interactive. Our games are a completely linear series of chapters; at the end of Chapter 1, you always go on to Chapter 2, no matter what choices you made in Chapter 1. But your choices in Chapter 1 can affect Chapter 2.
You can’t replay our games as many times as you can re-read a traditional gamebook, but our stories are orders of magnitude longer and deeper, so we think it’s a good trade off.
Keep Track of Delayed Branches with Numbers
We keep track of delayed branches by using a handful of numeric scores that we call “stats.” We display these scores when the player pushes the “Show Stats” button. Here’s an example from Choice of the Dragon, where our stats are Brutality, Finesse, Cunning, Honor, Disdain, Vigilance, Infamy, Wealth, Wounds, and Blasphemy. (Blasphemy is a secret stat; it’s not visible on the stat screen.)
In early chapters, the player chooses which scores will be high and which will be low; in later chapters, we offer the player some options that require a particular stat to be high; e.g., players may choose to play a game of chess, which requires a high Cunning. If dragons with low Cunning scores choose to play chess, they will lose; dragons with high Cunning scores will win at chess.
A few budding ChoiceScript authors have asked us: why do we need to use numeric scores to keep track of delayed branches? Could we do delayed branching in some other way that doesn’t require any math?
Unfortunately for arithmophobes, there’s no simpler way to handle delayed branching (as far as we know). It’s hard to prove this without listing every possible way to do it; you’ll just have to take our word for it. (Or post your own suggestion in the comments!)
There’s one tempting alternative that I will discuss briefly: instead of using stats, later chapters could refer back to particular choices from earlier chapters. Winning at chess in Chapter 8 might require the player to have chosen to practice chess back in Chapter 3, rather than depending on a high Cunning score.
We do use that technique sometimes, but rarely, because if you use it too much, your story quickly becomes too complex to write.
In a single playthrough of our games, a player typically makes hundreds of individual decisions. By using numeric scores, we can be sure that each choice has meaningful consequences: if the decision modifies a stat, then it has some effect. Without stats, you’d need to keep a list of every decision in the game, and make certain some later chapter referred back to that decision. Imagine trying to draw a diagram of hundreds of bubbles with connecting lines; it’s much more complex to avoid numbers than it is to just live with them.
Fortunately, the kind of numbers we’re talking about here aren’t hard to work with. Give bonus Brutality points when the player is bloodthirsty, subtract Honor for behaving dishonestly, and so on. We keep the scores on a scale from 1 to 100%, so it’s easy to say, “You can only win at chess if your Cunning is 80% or better.”
The Entire Game Is about These Numbers
If you use numeric scores to delay branching, you’ll quickly find that the entire game is about these numbers. Every chapter should change the stats and test them to make earlier decisions meaningful.
The stats will embody the essential conflicts of your story—the main decisions that the players will make as they play your game—so it’s critical that you choose good ones.