Jan 04


Vignette Structure as a Means of Controlling Branching

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.



  1. Dan says:

    Indeed, we have 139 “choice” commands in our game; they probably have an average of four options each. If each one were unique, we’d be talking about roughly 4^139 or roughly 5 octillion octillion octillion octillon pages!

  2. andy says:

    Really fin game, looking folorward to your next bit

  3. yourico says:

    Choice of the Dragon is absolutely gorgeous game! Shame it’s so short 🙂

  4. 5h0rty says:

    I loved Coice of the Dragon, henceforth Dragon, but not so much Choice of Broadsides, hance forth Broadsides. List format is easiest to present this argument.
    Less stats to keep an eye on
    More tradeoffs
    Less required knowledge
    Being something non-human (something I’ve always loved, from when I played pretending games right up to now ^-^)
    EASIER!!! Even though I “won” both games my first try, Broadsides felt like so many things were always going wrong & I’d never make it. Dragon was easier & more optomistic.
    That’s just me, though!

  5. […] project, too. “How difficult will that be to code” is also a constraint. Earlier blog posts (here, and here) discuss the difficulty of balancing realistic decisions with a manageable number of […]

  6. […] needs to branch into a completely different story. That would be pretty cool, but unfortunately it’s impossible to write a game like that; you’ll never […]

Leave a Comment

Your email is never published nor shared. Required fields are marked *

Subscribe by E-mail