Posted by: Adam Strong-Morse | Comments (6)
One of the focuses of this blog is discussion of design decisions within the course of making our games. I’d like to begin by talking about one of the core design philosophies embedded within the ChoiceScript framework. ChoiceScript seeks to minimize wasted design effort by recording variables instead of branching.
Many of us had our first experiences with text-based games controlled by choices in a totally different format: the various multiple-choice books of the 1980s–the “choose a path” style books. In a typical multiple-choice book, each different choice takes you to a different new page, which then offers you a new set of choices, and so forth. The plots of most of the books aren’t strictly speaking trees—some choices will lead you back to a common page, and there are some dead-ends that send you back to make a new choice. Still, a read-through might involve seeing one tenth of the total content in the book—reading ten pages out of a 100 page book. http://samizdat.cc/cyoa/ presents some interesting analysis of books from a particularly popular series from the 1980s.
The problem with this model is that it involves a ton of work that gets rarely seen. If we write 20,000 words of text, we would prefer for most of our players to see more than 2,000 words of it. In fact, the problem quickly becomes insoluble. If each choice has two options, each completely distinct, then after 10 choices, we would be writing 1024 different pages.
Our solution is to try to minimize the amount of actual branching we do. We write our games in individual chapters or vignettes. In “Choice of the Dragon,” the progression between vignettes is almost entirely linear. Within the vignettes, however, branching is a common tool. In order to keep choices meaningful, however, we use a set of variables to record the consequences of your decisions—not the exact details, but the bits that matter to what happens next in the story. We believe that this approach lets us strike a good balance between allowing for real choices and avoiding producing far more material than a typical player ever sees.
In a future post, I’ll talk some about some of the tensions and difficulties this can create.