Selected Writing and Whatnot

Interactive Fiction Tools

This portfolio makes it fairly plain that I’m interested in both creative writing and creative technology, but my most ardent dream is to bring them together whenever possible. Sometimes it’s a pretty fruitless quest, as the tribulations of luminaries like Chris Crawford, who has dedicated (some would say wasted) his life to do the same. Others, like Emily Short or Andrew Plotkin, have written interactive fiction for years, and even made a career out of it, but in every new work the interface between technology and narrative remains vexing. Authoriality pushes, and interactivity pulls.

One of the big challenges for new interactive fiction writers is the complexity of the tools. Inspired writing requires a direct conduit between brain and being, and page + pen is a very direct conduit. Screen + keyboard is somewhat less direct, but much more flexible. But as soon as you start having to manage variables, text replacement, branching structure, etc, the brainspace that would normally be dedicated to one’s imagination engine is significantly preoccupied with technological considerations.

There are easy but also rich tools out there like Twine, but they all carry assumptions about the interactivity of your text. Of course they do; there’s no other way to make a writing tool. The catch is that how the system works is part of the expressivity of interactive fiction. If all interactive fiction was based on selecting from a flat list of choices, that would be horrible. Likewise with every other method. To create a completely authorial experience, the writer must also be in control of the mechanism.

In order to solve these problems for my own interactive fiction projects, I created a Unity editor tool to help visualize the chunks of narrative that most interactive fiction seems to be driven by (regardless of its mechanism) and their relationships to each other. I realized that in order to make the editor extension as generic as was necessary to support all the interactivity methods that I could imagine, it was going to have to be very generic. It became so generic that it could be used as a graph visualizer for anything, from visual scripting to AI to narrative.

Node-based dialogue system

Each node can be granted actions, conditions, and transitions. On top of that, I built an extension to the extension (ha…) that was designed specifically for narrative. It suits my needs because it was created specifically for them. I did plenty of research into other, supposedly generic node network systems in the Unity Asset Store, and used a number of them. But even extending those systems kept me from gaining the control I needed to creative innovating storytelling methods and interfaces.

As a proof of concept, I built a mobile multiplayer game demo on top of it called Out of Scope – a tale of two dueling snipers converging on the home where they grew up together. Here, you can see the node system in action, as well as some additional features such as the navigation rose. The node graph explicitly highlights the interactivity path that users took to traverse it, making it easy to see how individual entities in this interactive fiction world are responding (or have responded) to each other. Even the artificially controlled characters communicate with each other using fiction! In this game one can adopt different roles (and even switch between them), a unique feature in interactive fiction that I don’t think would have been possible without a bespoke system like this one.

Above, you can see a prototype of the choice system, inspired by Pyramid Scheme, where one can accept or dismiss randomly presented choices. In this case, dismissing a choice comes with a cost to its effectiveness (represented by the half-consumed placeholder brain icon in the upper-left of the choice box at the bottom of the interface).

I eventually returned to this project in 2023. I rebuilt the fiction system with these principles in mind and fully published Out of Scope as a thematically driven single player interactive narrative, which is what it always wanted to be. It’s pretty interesting to compare these earlier efforts with the later, I think.