Interactive Fiction · Resources

Parser-based Interactive Fiction: A Primer

I have been using game writing and narrative design for 10 years now; all this time, I’ve had students making parser-based interactive fiction games (a.k.a. text adventure games).  One of the biggest challenges is for students to understand how these games work – they’re not a mainstream commercial genre any more. But I keep them on my syllabus because this genre teaches the foundations of story-driven games very well: how to tell stories through objects, establishing interactions, basic dialogue systems and AI for characters. On top of this the rise of intelligent agents like Siri, Google Assistant, Amazon Alexa, and Microsoft’s Cortana — all of these parse spoken input instead of written. Turns out that this old-fashioned type of games still have a lot to teach us.
So my main hurdle is how to get students to play parser-based interactive fiction. The nice thing about the format is that there is so much out there that there’s a game for everyone. In the past, I used the collection put together by my friends at the People’s Republic of Interactive Fiction. It’s an exquisite selection, but there’s not a lot. My introduction to parser-based contemporary interactive fiction was a wide list of works, and I just picked and chose whatever sounded interesting. So I decided to make a larger, updated selection, so my students could find whatever they’re interested in. This list is not a canon – I’m not a fan of canons – but an invitation to find one’s own way into the world of parser-based interactive fiction.
What follows is a primer to understand the conventions of interactive fiction, alongside a collection of games to pick and choose from.

How to play Interactive Fiction

Interactive fiction (IF from now on) starts with text and then invites you to type what you want to do. The commands follow specific conventions, so you have to learn those first. Start by having a look at this quick cheatsheet. If you need more details, this old guide is still very handy.
There’s several ways in which you can play IF. You can do it on your browser directly – most of the links below include a link to a browser version of the game. Games can be as short as 30 seconds to more than an hour. For longer games, you may want to play them on your computer or even your phone to be able to save your game. In order to do that, you need to run an interactive fiction interpreter, which is a program that loads the game and plays it on the platform of your choice. The most reliable interpreter for modern platforms is Andrew Plotkin’s Lectrote.
One nice thing about IF is that If you want to play games on your phone or tablet while huddling under a blanket, you can! There’s interpreters for Android (Hunky Punk,
Some of the games require to draw a map if you want to know where you are. So be sure to have pen and paper at hand to take notes.

The Interactive Fiction Collection

These are some recommended games, grouped in different categories to fit a variety of interests. You don’t need to play them all, though I’d start with the ones on top of the list and then explore the rest of the list based on your interests. Enjoy!
Beginners
Experimental

It’s better to play these once one’s familiar with IF.

Fractured Fairytales

These are Emily Short’s games based on traditional fairytales.

Lovecraft

For some reason, all of the horror games that ended up in this collection are based / inspired by Lovecraft.

Science Fiction / Fantasy
Mystery
Puzzle-lite
Wordplay
Weird and Wonderful

(a.k.a. Andrew Plotkin does his thing)

Advertisements
Interactive Fiction · Narrative Design · Resources

Taxonomy of Narrative Choices

A few years ago, I realized that in order to teach narrative choice design I needed a classification of types of choices. Creating games in the style of choose-your-own adventure, in the style of Choice of Games, Inkle Studios, Failbetter Games, the sadly defunct Telltale Games, or for interactive film, requires having a vocabulary that refers to the different ways in which choices can be expressive.

I came up with my own taxonomy, which I have been teaching in different iterations over the years. Inspired by works like Understanding Comics by Scott McCloud, I finally realized it’d be best to illustrate the taxonomy interactively, on top of discussing examples in the class. You can read/play the taxonomy on my itch.io page.

This taxonomy is part of a larger lecture, which is the introduction to narrative choice design in my classes. While games may be a series of interesting choices, they also become much more complicated when we make those decisions be part of a longer narrative. One of the reasons why making choices can be compelling is that players can see the consequences of their decisions—that is the foundation of agency, one of the pleasures of digital media as defined by Janet Murray. We like feeling that the game is listening to us, that we are in control of our actions in the game, that our choices matter.

Challenging agency, however, also has a lot of expressive possibilities. First of all, players can have the illusion of agency without having to change the content of the game. If you’ve played any of the choice-based Telltale games, you have probably seen the caption “So-and-so will remember that” after making a decision. Most of the time, it turns out they won’t—but the player can believe that their action had an effect on someone. It is a way to use the player’s perception and imagination in order to fill the gaps and not having to expand on the content.

Frustrating the player, taking away agency, can also be expressive. Games have the annoying tendency to become “entitlement simulators” ; game designers should challenge players to make difficult, painful decisions, have them realize that the world may not revolve around them, and that there may be problems that are beyond their control. Untethered agency can be problematic in dating sims, for example—boiling down intimate relationships to choosing the right things to say oversimplifies how humans connect with each other. Representing love as having agency over a person, or being able to “win” them by achieving a score, can reinforce certain unhealthy ideas about relationships, and push players down the brink of toxicity

The taxonomy I propose is therefore a breakdown of the different ways in which undermining agency can be expressive, and can help players think about what they do. (Maybe.)

combinatorics explosion.001

Using different types of choices is also a healthy way to keep projects under scope. As the image shows, if for every decision the player makes the story bifurcates, the content multiplies very fast. In order to write a choose-your-own-adventure story where each version is only four pages long, and only gives two choices to the player on each page, we  would have to write fifteen (15) pages. It is not very efficient and the combinatorial explosion goes out of control very fast. There are also models of different structures that both provide players with interesting choices without having to generate inordinate amounts of content—Sam Kabo Ashwell provides one of my favourite classifications on his blog.

Last but not least, a lot of what went into the taxonomy and my original lecture comes from the lessons I learned from working  in my classes with ChoiceScript by Choice of games (check out their game design blog posts if you’re interested in the topic).

 

Detectives · Papers · Resources

Game Narrative Through the Detective Lens

At this year’s DiGRA conference, I gave an overview of my work of the last few years on detective stories and games.

Here’s the abstract:

The paper examines detective games as a corpus to understand the relationship between gameplay and storytelling in games. Detective fiction is a narrative genre that is already playful by teasing the reader to figure out the solution to the mystery before they get to the end. By exploring the narrative nature of detective games, how detective stories have been turned into games (digital and non-digital), and how genre expectations and conventions shape gameplay, we can gain a better understanding of the integration between gameplay and narrative. Contradictory as it may sound, this paper uses inductive methods to infer general approaches to game narrative by concentrating on a specific corpus of stories and games. It is not within the scope of this paper to cover all aspects of game narrative, nor go into all the implications deriving from the comparison. Rather, this paper will be limited exploring two key aspects to demonstrate the kinds of insight that we can gain through this method.

The slides of the presentation, including references to my sources and my own work, are here: DiGRA 2018 – Game Narrative through the Detective Lens

Adventure Games · Interactive Fiction · Resources

Tools to make narrative games

Since I have to keep up with a variety of tools for narrative games and interactive narrative, I have decided to share the list of resources that I keep. This post will be a living document, so I will update as I come across new tools.
If you have any suggestions for resources that should be included, please contact me.

Tools

Twine 1+2

Twine is one of the most popular tools to write hypertext fiction; it creates HTML files that can are easy to share online. It is very accessible and has a large of community and plenty of resources and tutorials. Very recommendable for beginners; knowing how to use CSS styles and basic programming can also go a long way.

ChoiceScript

A programming language developed by Choice of Games to create multiple-choice games, as a Choose Your Own Adventure electronic book. Don’t feel intimidated by it being a programming language: it’s based on javascript, and it’s very easy to use and get started, as long as you keep your indentations in the text consistent.

Inform 7

One of the most veteran tools for making narrative games, in this case parser-based text games (the kind where the player talks to the computer to make games). Inform 7 uses a language that uses sentences in English, which may take some time to get used to. It is also a design suite that packs the editor, compiler and interpreter all in one. I recommend it as a starting point to anyone who wants to create narrative games, because it teaches how to think stories as simulated worlds rather than branching plots. A very strong community of developers, as well as a variety of tutorials and resources makes this another good starting tool for newcomers.

Texture

An interactive fiction authoring tool online, that presents itself as an option between Twine and Inform. The interaction consists of drag-and-drop words on top of other words, rather than typing or choosing a hyperlink, which makes the results easily playable on a browser. It also allows integrating images into your game; the development focuses on writing, and provides easy menus to create conditional text – it is easy to use if you don’t feel comfortable programming. It’s all online, so your work is saved in your cache; the tool allows you to have a user account so that your work in saved on a server. A good fit for short games for mobile platforms.

Texture Home Page

Fungus

For those of you familiar with Unity (whose personal use version is free, although it’s still a proprietary tool) , it’s a free plug-in to make visual novels, although it can be easily repurposed to include branching dialogue into any Unity game.

Ink and Inky

Ink is the scripting language developed by Inkle Studios to write choice-based games, whereas Inky is the editor to create the text. It is a mark-up language, not very dissimilar from Choicescript above, although in order to release it as a game it needs Unity. So you still need to know how to use Unity in order to make a game. It’s open source.

Yarn – Dialogue Editor for Unity

A dialogue editor created as a tool for Night in the Woods as well as its companion games, the texts generated with it have to be exported to Unity. The developers acknowledge they are inspired by the Twine interface, and the program does import Twine files. Requires some programming chops to set up and connect to Unity.

Chatmapper

A proprietary standalone dialogue mapping editor. The trial version can be used to prototype conversation trees. The paid version allows creating dialogue simulations including visual and audio assets, provides visualization tools of different branching, and even generates scripts for voice actors, which can also facilitate localization. Uses LUA as a programming language, and exports to a variety of formats that can then be plugged into your engine of choice (XML, JSON, RTF, PDF, JPEG, Excel). May be best for larger projects with a lot of dialogue and audiovisuals – and also developers who have an actual budget.

Ren’Py

A visual novel engine that has been around since 2004, so that there is a large community of support as well as tutorials. Uses Python, one of the most accessible programming languages, it is also open source. One of its most attractive features is that it creates games that run both on desktop computers as well as mobile.

Adventure Game Studio (AGS)

A tool to make point-and-click adventure games. Initially created to make games in the style of the Sierra adventure games (e.g. King’s Quest), it expanded to other formats and allows developers to create their own style of adventure games. A classic tool that is now open source, counts with a good community and extensive resources developed over 20 years of its existence. On the downside, it is a Windows-only program, and requires special wrappers in order to release games for other program.

Visionaire

A proprietary tool to make point-and-click adventure games, which means that the support mainly comes from the company rather than a community. There is a free demo version that allows making games with up to 10 rooms; the indie version for a single user is not too expensive. It uses LUA as a programming language; the documentation is up to date if you speak German, but it is a bit behind in its English version.

RPG Maker

A proprietary tool to make Japanese-style role-playing games; it is pretty powerful and also has an extensive community because it has been around for a long time. The games use tile-based art, which facilitates both making visual assets as well as finding pre-made ones. It can also be used to make adventure games.

Adventure Creator for Unity

Another plug-in for Unity, also proprietary. It is a toolkit to make both 2D and 3D point-and-click adventure games. It uses visual scripting, which is a bit more accessible to non-programmers, and comes with a collection of pre-set templates to create inventories, branching dialogue, and object interactions. There is a growing community of developers.

articy:draft3

A proprietary tool that can be customized for a variety of engines. Probably best tailored for large games, it allows mapping your story and its logics, keeping databases of objects, imports screenplay files from Final Draft, and connects directly to Unity. The developer also offers cloud services to allow for collaborative writing for games. It’s a tool that is becoming popular in the professional scene, though probably the most expensive all of the proprietary tools listed here so far.
The Gamebook Authoring Tool
Another proprietary tool, it is designed to make Choose-Your-Own-Adventure games, but also works to write books.

Experimental tools
I’ve been receiving links to additional tools – some of them are experimental, some of them are still in the works. I’m sharing them here for you to try – and please report back if there’s one you particularly like!

Update 6 January 2018: Added articy:draft and Texture (Thanks to Evan Skolnick and Sarah Schoemann for the pointers)

Update 25 January 2018: Started section on experimental tools and included a couple of links that I received over email. Thanks to Jeff and Daniel for sending me their engines!