Writing Tools for Interactive Fiction
by Giulia Carla Rossi, Curator of Digital Publications.
Are you spending more time indoors and hoping to get your creativity flowing? Thinking about writing fiction? Interactive Fiction is a fast-growing collection area for the Library, and myriad tools for all levels can help you to bring your story to life.
Interactive fiction (IF), or interactive narrative/narration, is defined as “software simulating environments in which players use text commands to control characters and influence the environment.”
The British Library has been collecting examples of UK interactive fiction as part of the Emerging Formats Project, which is a collaborative effort from all six UK Legal Deposit Libraries to look at the collection management requirements of complex digital publications. Lynda Clark, the British Library Innovation Fellow for Interactive Fiction, built the Interactive Narratives collection on the UK Web Archive (UKWA) during her placement, as well as conducting analysis on genres, interaction patterns and tools used to build these narratives.
Source: Clark, L. (2019). Interactive Narrative Reports, Appendix A. Internal report (The British Library). Unpublished.
Many of these tools are free to use and don’t require any previous knowledge of programming languages. Because of Legal Deposit Regulations, most of the items in the Interactive Narratives collection can only be accessed on Library premises (you can read more on what UKWA content is available while the Library is closed here). Luckily, because this a contemporary collection, many of the original websites are still live and accessible.
Twine
Twine is an open-source tool to write text-based, non-linear narratives. Created by Chris Klimas in 2009, Twine is perfect to write Choose Your Own Adventure-like stories without knowing how to code. The output is an HTML file, which facilitates publishing and distribution, as it can be run on any computer with an Internet connection and a web browser. If you have any knowledge of CSS or Javascript it’s possible to add extra features and specific designs to your Twine story, but the standard Twine structure only requires you to type text and put brackets around the phrases that will become links in the story (linking to another passage or branching into different directions). There is an online version or a downloadable version that runs on Windows, MacOS and Linux. There is a Twine Cookbook (containing ‘recipes’, instructions and examples to do a variety of things) a wiki and a series of written and video tutorials.
Some quality cat dreams. (from Emma Winston’s Cat Simulator 3000)
Charlie Brooker used Twine to plot out Black Mirror’s interactive episode Bandersnatch. As the most used tool in the UKWA collection, there are many examples of Interactive Fifction written in Twine, from cat and teatime simulators (Emma Winston’s Cat Simulator 3000 and Damon L. Wakes’ Lovely Pleasant Teatime Simulator), to stories that include a mix of video, images and audio (Chris Godber’s Glitch), and horror games made for Gothic Novel Jam using the British Library’s Flickr collection of images (Freya Campbell’s The Tower – NB some content warnings apply). Lynda Clark also authored an original story as a conclusion to her placement: The Memory Archivist incorporates many of the themes emerged during her research and won The BL Labs Artistic Award 2019.
Inform 7
While Twine allows you to write hypertext narratives (where readers can progress through the story by clicking on a link), Inform 7 lets you write parser-based interactive fiction. Parser-based IF requires the reader to type commands (sometimes full sentences) in order to interact with the story.
How to Play Interactive Fiction (An entire strategy guide on a single postcard) Written by Andrew Plotkin -- design by Lea Albaugh. This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License
Inform 7 is a free-to-use, hopefully-soon-to-be-open-sourced tool to write interactive fiction. Originally created as Inform by Graham Nelson in 1993, the current Inform 7 was released in 2006 and uses natural language (based on the English language) to describe situations and interactions. The learning curve is a bit steeper than with Twine, but the natural language approach allows for users with no programming experience to write code in a simplified language that reads like English text. Inform 7 also has a Recipe Book and a series of well-documented tutorials. Inform also runs on Windows, MacOS and Linux and lets you output your game as HTML files.
While the current version of Inform is Inform 7, narratives using previous versions of the system are still available – Emily Short’s Galatea is always a good place to start. You could also explore mysterious ruins with your romantic interest (C.E.J. Pacian’s Love, Hate and the Mysterious Ocean Tower), play a gentleman thief (J.J. Guest’s Alias, the Magpie) or make more tea (Joey Jones’ Strained Tea).
Bitsy
Bitsy is a browser-based editor for mini games developed by Adam Le Doux in 2016. It operates within clear constraints (8x8 pixel tiles, a 3-colour palette, etc.), which is actually one of the reasons why it is so beloved. You can draw and animate your own characters within your pixel grid, write the dialogue and define how your avatar (your playable character) will interact with the surrounding scenery and with other non-playable characters. Again, no programming knowledge is necessary. Bitsy is especially good for short narratives and vignette games. After completing your game, you can download it as an html file and then share it however you prefer. There is a Bitsy wiki, as well as some comprehensive tutorials and even a one-page pamphlet covering the basics.
A harsh but fair review.
(from Ben Bruce’s Five Great Places to Get a Nice Cup of Tea When You Are Asleep)
To play (and read) a Bitsy work you should use your keyboard to move the avatar around and interact with the ‘sprites’ (interactive items, characters and scenery – usually recognisable as sporting a different colour from the non-interactive background). You can wander around a Zen garden reflecting on your impending wedding (Ben Bruce’s Zen Garden, Portland, The Day Before My Wedding), alight the village fires to welcome the midwinter spirits (Ash Green’s Midwinter Spirits), experience a love story through mixtapes (David Mowatt’s She Made Me A Mix Tape), or if you’re still craving a nice cuppa you can review some imaginary tea shops (Ben Bruce’s Five Great Places to Get a Nice Cup of Tea When You Are Asleep).
ink/inky & inklewriter
Cambridge-based videogame studio inkle is behind another IF tool – or two. Ink is the scripting language used to author many of inkle’s videogames – the idea behind it is to mark up “pure-text with flow in order to produce interactive scripts”. It doesn’t require any programming knowledge and the resulting scripts are relatively easy to read. Inky is the editor to write ink scripts in – it’s free to download and lets you test your narrative as you write it. Once you’re happy with your story, you can export it for the web, as well as a JSON file. There’s a quick tutorial to walk you through the basics, as well as a full manual on how to write in ink. ink was also used to write 80 Days, another work collected by the British Library as part of the emerging formats project.
A page from 80 Days, written using ink
inklewriter is an open-source, ready-to-use, browser-based IF “sketch-pad”. It is meant to be used to sketch out narratives more than to author fully-developed stories. There is no download required and the fact that is quite a simple and straightforward tool to experiment with IF makes it a good fit for educators. Tutorials are included within the platform itself so that you can learn while you write.
If you want some inspiration before starting to write your own story in ink, you can try selling real estates to supernatural creatures (Eleanor Hingley’s Unreal Estate) or understanding why there’s a ghost stalking your flat (Isak Grozny’s Dripping with the Waters of Sheol – NB some content warnings apply). In inklewriter, you can start by trying to kill your first giant (Lee Williams’ Your First Giant) or survive an interrogation (Jon Ingold’s The Intercept).
ChoiceScript
ChoiceScript is a javascript-based scripting language developed by Adam Strong-Morse and Dan Fabulich of Choice of Games. It can be used to write choice-based interactive narratives, in which the reader has to select among multiple choices to determine how the story will unfold. The simplicity of the language makes it possible to create Choose-Your-Own-Adventure-style stories without any prior coding knowledge. The ChoiceScript SDK (Software Development Kit) is available to download for free on the Choice of Games website. Once your story is complete, you can publish it for free online. Otherwise, Choice of Games offer the possibility of publishing your work with them (they publish to various platforms, including iOS, Android, Kindle and Steam) and earn royalties from it There is a tutorial that covers the basics, including a Glossary of ChoiceScript terms. The Choice of Game blog also includes some articles with tips on how to design and write interactive stories, especially long ones.
Genres of works built using ChoiceScript are again quite varied – from sci-fi stories exploring the relationships between writers and readers (Lynda Clark’s Writers Are Not Strangers), to crime/romantic dramas (Toni Owen-Blue’s Double/Cross) and fantasy adventures (Thom Baylay’s Evertree Inn).
BONUS LEVEL: sok-stories
Sok-stories is not a tool to write IF, but it offers a simple and straightforward perspective on game dynamics and the results of interactions. It was developed by Sokpop Collective on commission by Now Play This 2019. There is no expectation of programming knowledge and the output games are very lo-fi – you draw everything (characters, items, scenery) and set your own rules to create super-short games. There is no dialogue (unless you want to draw that as well): the main focus is the relationship between the player’s choices and the effects they cause in the game. You interact with the game by dragging and dropping characters on items, items on items, characters on characters, etc. The limited set of commands and the ease with which you can set up the tool and start drawing, make it a really good introduction for younger audiences to the cause-effect rules of games – and potentially an educational and entertaining way to spend some lockdown time. Sok-stories requires a fee to download ($3 at the moment of writing), but you can browse a library of already published games for free: you can dig dinosaurs at an archaeological site, play super-abridged versions of old videogames or maybe… make more tea? Anyone?
Setting rules in sok-stories
This is in no way a comprehensive list – there are a lot of other tools and platforms to write IF, both mainstream as well as slightly more obscure ones (Ren’Py, Quest, StoryNexus, Raconteur, Genarrator, just to mention a few). Try different tools, find the one that works best for you or use a mix of them if you prefer! Experiment as much as you like. To conclude, I’ll leave you with a quote by Anna Anthropy from her book Rise of the Videogame Zinester:
“Every game that you and I make right now [...] makes the boundaries of our art form (and it is ours) larger. Every new game is a voice in the darkness. And new voices are important in an art form that has been dominated for so long by a single perspective. [...]
There’s nothing to stop us from making our voices heard now. And there will be plenty of voices. Among those voices, there will be plenty of mediocrity, and plenty of games that have no meaning to anyone outside the author and maybe her friends. But [...] imagine what we’ll gain: real diversity, a plethora of voices and experiences, and a new avenue for human beings to tell their stories and connect with other human beings.”