m. c. de marco: To invent new life and new civilizations...

The State of Hyperfiction

NaNoWriMo is coming!

I decided earlier this month that I wanted to be a NaNo Rebel by continuing a novel I started for NaNoWrimo 2008 about an AU (alternate universe), though it turns out that merely continuing a work-in-progress no longer gets you NaNo Rebel status; that’s now well within the rules. I didn’t really remember where the plot of my story was headed back on November 30, 2008, but I found a thread in the NaNoWriMo forums about how the creator of Scrivener deals with his plot problems. I’ll quote it here because the whole thread will be deleted come next October:

Here’s something I have found very useful in Scrivener recently, based on a technique I read some authors use for plotting: I create a top-level folder (i.e. a folder on the same level as “Research”) in the binder called “Problems”, and give it the warning icon (using Documents > Change Icon). In this folder I create documents whose title has a single question, such as, “How do they break into the labs?” Each document is a problem I have with my vague plot, which starts as just a few bullet points and may consist of waypoints as helpful as “They are rescued and taken to safety (by whom? why? where?)”. Then I’ve been writing as many ideas as I can in these “problem” documents, talking to myself until I have an idea that works, which usually spawns other questions and has implications for things I need to fit in earlier in the plot. I then split the editor vertically, with the text of the problems on the right, going through the solutions to flesh out the plot on the left, and using strikethrough to cross out the text I’ve gone through on the right.

So I tried this solution on my hanging plot threads: does My Hero get hopelessly trapped in the AU? does he figure out how to use the MacGuffin to visit a different AU? does he get trapped in that one instead? how does the MacGuffin work, anyway? This method backfired in that I became more interested in the diversity of choices than in figuring out where my plot would actually go. I realized I’d rather turn the novel into a choose-your-own-adventure story than make a final decision and write 50,000 words about it. But 50,000 words is quite a few more than I’ve put into interactive fiction before.

Choose Your Own Thesaurus

For a more recent list, see the Hyperfictionary.

The biggest pitfall of interactive fiction is figuring out what exactly you’re talking about when you say interactive fiction. Is it a literary form? Is it a game? Both? Either? So let me pause to define terms, with the help of the SF encyclopedia:

  • Hyperfiction is fiction with hyperlinks, traditionally at the end of a scene or page but sometimes inline instead. Usually the story is told in the second person and the reader determines the plot through your quantized choices. The canonical example is the Choose Your Own Adventure series of children’s books. Hyperfiction is also known as hypertext fiction, hypertext IF, hypertexts, hyperstories, branching-path books, interactive novels, wovels, CYOA, cybertext, choice-based games, etc. Sometimes hypertext is distinguished from CYOA based on whether the links appear inline or at the end of a scene.
  • Gamebooks combine hyperfiction with RPG-style game rules (implemented in dead-tree books by the reader rolling dice, etc., or on computers by the computer rather than the reader). The term was apparently coined by Steve Jackson for the canonical example of the genre: the Fighting Fantasy series of books. Gamebooks are also known as adventure gamebooks, multiple-choice games, multiple-choice gamebooks, MCGs, storygames, etc. Gamebooks using an existing RPG system are also known as role-playing solitaire adventures. Collaborative gamebooks are also known as addventure. Gamebooks are sometimes considered to include CYOA books.
  • Interactive fiction is fiction in which the reader directs the story using (somewhat) natural language. They traditionally involve free exploration of a map, collecting items, and puzzle solving. The canonical example is the Zork series of video games. Interactive fiction is abbreviated IF or int-fiction and is also known as text adventures, adventure games, parser games, or parser(-based) IF. Narrative games is a more general term that may include the previous categories as well.

Hyperfiction Software

For a more recent list, see this page.

I got interested in the Twine/Twee ecosystem for writing gamebooks a while back, and I started a few stories with it. Some were just hyperfiction of the choose-your-own-adventure type, but my longest was a story about writing which took advantage of some basic gamebook scripting facilities available in Twine/Twee. Even so, it was only a few thousand words intended as a demo. (I’ve never attempted any true interactive fiction.)

There is no easy way to write a long work of hyperfiction; if you like using a GUI (I don’t and I’m not alone), you could use Twine. I used to write in Twee (the plain-text format underlying Twine) instead, but Twee files are flat, making it hard to visualize your plot.

I knew Twine had been updated to Twine 2, but I never did much with Twine beyond building the Mac version when it was having Python issues on my Mac. I always used Twee because I’m just a plain-text kind of a gal. In the old Twine forum, I learned that Twee has also been updated to Twee2, so I plan to stick with Twee. But I was curious about developments in a field littered with abandoned software projects and lost websites.

This is what I found, in almost-alphabetical order. Unless otherwise mentioned, the programs are mostly open source and free as in beer, and mostly output HTML that can be read/played in any browser, except for the cloud services which generally host the story for you.

  • inklewriter: create pure hyperfiction in the cloud using an underlying json format; includes hosting of stories; scripting can be done with a separate toolset, ink and inky, which will survive the inklewriter shutdown scheduled for August 2018
  • ChoiceScript: create gamebook-style hypertexts with simple scripting in the browser; has an underlying hierarchical plain-text format; includes hosting/sale of stories
  • ChooseYourStory.com: create hypertext stories with scripting in the cloud; still working flakily, but has no export format; includes hosting of stories
  • Raconteur/Undum: a modern JavaScript tool that, despite inspiration from Twine and Inform 7, seems most similar to ChoiceScript
  • Squiffy: create hyperfiction with simple scripting using cross-platform apps or in the browser; both gamebook scripting and text adventures can be created with a separate tool, Quest
  • Twine: create gamebook-style hypertext with a graphical UI using cross-platform apps or in the browser; has an underlying flat-text markdown-like format; various output styles and scripting languages are available; help in the new forum
  • Storyspace: commercial, MacOS-only program for writing large hypertexts
  • The GameBook Authoring Tool: commercial, Windows-only program for writing hypertexts and gamebooks; there’s a demo available

True interactive fiction lets the user express their actions in natural language, and so requires a text-parsing engine to move the story along, rather than just the hyperlinks and simple variables used by gamebooks. The notable engines are TADS, which uses a C++-style scripting language and has some windows-only features, and Inform 7, a fully cross-platform engine that uses a natural-language scripting language.

There are a few truly old-school options for making printed gamebooks, too, like this LaTeX package. Some eBooks out there, like this Romeo and Juliet remix, iBooks version, use fairly primitive technology, but in general the market seems to be going with apps rather than wrestling gamebooks into ePub format.

Reading Hyperfiction

Dead-tree gamebooks, including CYOA, are thorougly catalogued at Demian’s Gamebook Web Page. Many such books are available from Amazon, but, there being no accepted term for the genre, there is no reliable way to search for them.

You can read “storygames” at ChooseYourStory.com.

TextAdventures has a mix of mostly-free IF and hypertexts available online, including IF classics like Zork I and The Hitchhiker’s Guide to the Galaxy. Likewise, The Interactive Fiction Database covers a mix of IF and hyperfiction, making it hard to search for hypertext in particular as well as which stories are available online. (You can try searching by engine, e.g., system:ChoiceScript, or opening up the engine list under system:name on the search page and clicking on an engine you’re interested in.)

If you’re running emacs, you already have a free interactive fiction adventure; type:
M-x dunnet

On the commercial front, you can pay to play professional or user-contributed web-based gamebooks at Choice of Games, shop for phone app gamebooks at Gamebook Adventures, Cubus Games, or Inkle, or buy a more serious work of hyperfiction at Eastgate. For some curation before buying, try Gamebook News for the latest, Adventure Gamers for reviews, or this list of the 10 best gamebook apps.

And, if you just want to skip to the multiple endings, there’s the YOU CHOSE WRONG tumblr.


Somehow I left the gamebook creation tool Undum off the list.

Update #2

The thesaurus has been updated with the addition of cybertext (although the original intent of the term seems to have been more general), choice-based games, CYOA, and several parser terms.

Update #3

The thesaurus has been updated with the addition of hyperstory, some gamebook clarification, and narrative games. The approaching demise of inklewriter has been noted; links to the Twine Q&A forum and Undum have been updated for bit-death, and gamebooks.org and Raconteur are now linked.

Update #4

The thesaurus and software list have been given their own, non-blog pages.