Hyperfiction Software
This page began as a blog post that I felt the need to update frequently because hyperfiction tools tend to come and go.
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 write in Twee (the plain-text format underlying Twine) instead, but I remain curious about developments in a field littered with abandoned software projects and lost websites, and so this software list goes on.
The Software
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. Some defunct software is provided for completeness and/or amusement. For a similar list, see the Interactive Fiction Wiki. See the cloud below for hyperfiction-as-a-service options.
The Big Players
Presented in alphabetical order rather than order of importance:
- ChoiceScript: create gamebook-style hypertexts with simple scripting in the browser; has an underlying hierarchical plain-text format; also hosts/sells stories and has a popular Discord server
- ink(y): ink is another hierarchical scripting language (the one “behind Heaven’s Vault, 80 Days and Sorcery!”); inky is its cross-platform IDE. Ink features Unity integration and has a popular Discord server, but doesn’t feature much of the UI of inklewriter (see below).
- Raconteur/Undum: a JavaScript toolset that, despite inspiration from Twine and Inform 7, seems most similar to ChoiceScript
- Squiffy/Quest: create hyperfiction with simple scripting using cross-platform software (except Linux) or in the browser; with Quest you can also create text adventures, but only in Windows or online; like ChoiceScript, Text Adventures also hosts stories written with their tools, as well as some IF classics like Zork I and The Hitchhiker’s Guide to the Galaxy.
- Storyspace: Eastgate’s classic, commercial, MacOS-only program for writing large hypertexts.
- Twine: features a graphical UI for creating gamebook-style hypertext using cross-platform software or in the browser (but not in the cloud), though for big projects people often switch to using a text editor on the underlying plain text format called Twee. Various output styles and scripting languages are available; the ecosystem is somewhat confusing but help is available in the IF forum and on Discord.
- URQ is a notable Russian platform intended for simple choices and inventory that has mutated into a sprawling ecosystem over time
The Up-and-Comers
It’s too early to say whether these will become big players or bit players.
- egamebook: a sophisticated RPG engine in gamebook format
- Jumbo Grove: “Undum done right”, for definitions of “right” that include a JSON-heavy markup and scripting language
- Salet: another Undum do-over, using CoffeeScript to support QBN
- Toothrot: a similarly Ink-y choice engine
- Windrift: an ultra-modern React engine for “mutable stories”, currently being updated to v2
The Book Makers
Some engines produce print and/or ePUB gamebooks. These programs can usually output to HTML as well (ePUB is mostly a web page without the pesky JavaScript), but tend to neglect scripting in favor of more print-focused features like shuffling gamebook sections.
- LibroGameCreator: a Java engine from Italy with an exceptional number of features and export formats, including a Graphviz view, ePUB, RTF (for PDF), ChoiceScript, and Squiffy; there’s also a browser-based editor available, Lgcjs, if you’re feeling lucky
- The GameBook Authoring Tool: commercial, Windows-only program for writing hypertexts and gamebooks; there’s a demo available
- Gordian Book: an online converter from (script-free) Twine to PDF gamebooks, which supports some of the standard story formats and Writing Fantasy
- TwineBook by DanQ (of Twee2 fame) is a similar online Twine to PDF converter, but more opinionated
- PrePub: a Twine proofing format for converting script-free stories to pandoc-extended markdown (for ePUB)
- gamebookformat: yet another text format with supporting tools to create traditional gamebooks in print or electronic form
- pangamebook: the pandoc filter successor to gamebookformat
- TEXtallion: a text platform that incidentally includes a gamebook module and can export to Twee and many other IF formats; besides sourceforge and the old French website, there’s also a repository at github
- cyoa-parser: Jeffrey Chupp took the direct approach to writing hyperfiction in Markdown with a side of pandoc, but then, in a sudden untwist, extended his toolchain with PEG
- Ficdown: a well-documented extended Markdown language that exports to HTML or ePUB, notable in that it seems to be able to convert its internal conditionals and state scripting to ePUB. (The source code has moved here, so don’t worry about any archiving notices you may run into at github.)
- Magebook: an online editor by the author of Lgcjs that exports to LibroGameCreator and other formats, with future plans to output an app
- Readteractive: a highly opinionated, allegedly Markdown-based system with multiple output formats but not much recent activity
- The FF Construction Kit is a Windows-only free GUI for making Fighting Fantasy-style gamebooks in PDF or HTML format
- gamebook: a LaTeX package for making printed gamebooks
- NLBB (Non-Linear Book Builder) is a Java project from Russia, not unlike LibroGameCreator in style and scope
For easier post-processing of ePUBs, you may want to spring for Vellum. Their blog is also a good self-publishing resource.
The Rest
It’s not hard to write a gamebook engine, and lots of people do it without getting much traction. That doesn’t mean a tool isn’t for you (especially if you’re willing to take over the development or maintenance of it).
- Another RPG Engine: a SugarCube plugin for making RPG-style Twine games (but not books)
- AXMA Story Maker: a commercial, cross-platform Twine-like engine
- Blink!: experience a relic of the JavaScript past, if you want to try emailing the author for the code
- CYOAwesome: an HTML5 engine with a refreshingly lightweight syntax
- Dendry: a QBN project from 2015 that never quite got off the ground
- The Edventure Builder: an educational software product for making CYOA stories and other games for mobile devices
- Elm Narrative Engine: a flexible, if bracket-heavy, story engine written in Elm
Elm Story: a GUI-er approach to choice fiction than Twine, had ambitions of becoming a cloud service when it grew up, but disappeared instead- Fractive: an allegedly Markdown-based system with Twine-like output, briefly popular (as these things go) but apparently abandoned
- Gamebook Engine: a JavaScript engine based on jQuery
- Gamebook.io: commercial vaporware of some seven years' standing
- Hoot: Hypertext Once upOn a Time is a 2014 entry with a somewhat busy scripting language (HootScript), an in-browser editor/compiler like Twine’s, and a code repository lost in the great BitBucket deletion
- Hot Potatoes/Quandary: Half-Baked Software’s Windows and sometimes Java software for making “action mazes”, which may differ in some inscrutable way or goal from CYOA; this is old software but some of it is only now reaching end-of-life after turning free-as-in-beer a decade ago
- HypeDyn: an open-source QBN-style system from the National University of Singapore
- InquisitorIF: a choice-based engine that is also map-based
- Interactive Text: a Twine-like engine based on C++ rather than JavaScript
- QML: an old engine of interest for its XML-based markup language and basic mapping (which you can avoid for simple stories by using its custom editor)
- QSP: the Quest Soft Player seems to have an extensive ecosystem for a choice-based engine, but it’s mostly in Russian
- Ramus: an HTML-based (as in, writing your own HTML with a few special attributes) hypertext system with Twine-like output
- StoryHarp: a Delphi classic that’s been ported to JavaScript
- StoryStylus: Windows or Silverlight browser software, with an app- and Flash-based marketplace at One More Story Games. It sounds like they’re wisely moving away from Flash to Unity on the reader end, but Silverlight may be there to stay for creators.
- StoryTeller: another Twine-like engine that never quite got off the ground
- TinyStory: a tiny JavaScript engine for fans of Python-like indentation
Adventure Bookwas a Windows program for creating CYOAs, somewhat complicated by the need for a separate, parser-style interpreter/runner programChoiceWrighthad ambitions of becoming a Twine-like companion to the Chooseatron, but has been vaporware for half a decade now.Decision Fictionwas an interesting Twine-derived publishing project with many planned target formats, that never emerged from closed betaLoomwas going to be a way to write forYarn, but it didn’t materialize before Yarn itself unravelled- Tayruh’s
Sadakodisappeared from Github without a trace; it was “similar to Twine, ChoiceScript, and Ink” but looked very little like Twine, a lot like ChoiceScript, and even more like Ink - The
Yarnpart of Yarn Spinner is now unsupported, leaving only the scripting language for creating interactive dialogue as part of Unity games.
You can also use the wrong tool entirely, like Google Forms/Microsoft Forms, PowerPoint/Google Slides/Keynote, Google Docs, Google Sheets, OneNote, GitHub, GitHub Gists, Twitter, Slack or Discord, Alexa, ChatGPT, Buncee, App Lab, Roblox, Touch tone phones, etc.
The Cloud
The only thing riskier than writing prose at length in a browser is trusting it to the cloud afterwards. Here’s where you can do that:
- ActiveLit: an online version of Quest for education
- Borogove: a free hosting service for interactive fiction that accepts HTML as well as various IF languages (the choiciest of which is Ink)
- ChooseYourStory.com: create hypertext stories with scripting in the cloud; still working flakily, but has no export format; includes hosting of stories
- Create Your Own Story: create CYOA stories in a wiki that isn’t TiddlyWiki
- CYOCYOA!: Create Your Own Choose-Your-Own-Adventures! is back from the dead again
- Episode - Choose Your Story: the world’s biggest interactive fiction platform is a mobile app where you can read and write avatar-illustrated, mostly teen-angsty, CYOA stories.
- Extend-A-Story: a long-running communal effort
- Fighting Fantasy: create (and play) gamebooks using an HTML-like language
- infinite Story: Home of the Infinite Writing Tournament, not to mention bulletin-board style markup and intrusive ads
- inklewriter: create pure hyperfiction in the cloud using a stunning UI over its underlying JSON format; included hosting of stories and scripting can be done with the ink toolset (see above). After a threatened shut down that never quite materialized, it moved from the
old databaseto a new, open-source project. philome.la: a free, uncurated, unindexed, and mothballed hosting site for stories written with Twine- SATU Text Game Maker: a visual choice platform with a “multi-selection” faux-parser inventory system and an “Oldskool” graphics option
- Storium: more of a RPG/gamified system, with a multiplayer requirement for collaborative story creation—but not as obviously something else as others I left off the list
- Storyboard: a new cloud hyperfiction service written in a weekend
- Story Explorer: an old service that seems to still be up, if a bit bare
StoryNexus: a mothballed QBN-style site where you can still read about 160 storiesbut can only write if you’re grandfathered in- Texture: inhabits “the possibility space between Inform and Twine”
- Typeform isn’t meant for interactive fiction, but has at least one Choose Your Own Adventure template
- Unfold Studio: an Ink hosting site run by the University of Chicago
Versu: gets listed on these lists, but was always unfree as in no beer, and is also looking pretty abandoned- Writing.com: follows a common formula for collaborative “interactive stor[ies]”
>playfic_ is that rare beast, a cloud site for parser stories (using Inform 7) instead of CYOAs.
Cloud Heaven
It’s amazing how often the cloud idea is tried and fails, so I’ve separated out the deader cloud services and listed them in semi-chronological order (with links to the last relevant wayback machine crawl, if it lived long enough to be crawled).
Choose Your Own Adventure: a typical communal choice fiction site, doomed by ChooseCo’s lawyering upProtagonize: a collaborative fiction platform that wasn’t saved by going linear and eventually shut downOne Million Monkeys Typing: only the strongest websites survive- Choose Your Online Adventures: a semi-open group collaboration that is still online but seems to have stalled around 2012; I wouldn’t trust their store to sell me one of their stories.
Wizh: of which only an enthusiastic announcement and a few tutorial blog posts remainVarytale: another failed QBN siteVine: a failed video site which is still up as an archive, but its sideline of “AdVINEture” stories can no longer be read properlyThe Neverending Taleended recently but its communal stories can still be read in the wayback machineNarrators Club/Storealis: a rebranded site so dead even the wayback machine can only render it under a full Pale MoonYouTube: still a video site, but they removed all annotations and thus broke all their CYOA videosMetaArcade: a promising, intuitive Twine-like engine in the cloud that failed (or at least disappeared) while still in closed beta
Thanks to an old survey by Larry Ferlazzo for many of the dead (and some living) links.
The grass is always greener…
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. For a fuller list of interactive fiction software, check out Awesome Interactive Fiction.