Home > Interactive Fiction > Interactive Fiction Authoring Tools

Interactive Fiction Authoring Tools

If you want to get into writing Interactive Fiction (IF) it can be hard to know where to get started. So here is a list of five IF authoring tools so you can pick the approach that’s best for you.

This is an update of a post I wrote way back in 2010. It’s been a long time and some helpful folks have pointed out some things I’ve missed, so it’s well overdue for an update. Enjoy!

Because this is a long one, here are some quick links in case you came here for a specific tool:
Twine     Inform     TADS     Quest     ADRIFT

Twine (Mac, Windows, Linux)

Twine Interactive Fiction editor


  • Visual interface
  • Produces HTML-based stories (that require javascript)
  • Has limited support for basic programming
  • Good entry-level system

Twine is the simplest way to create a text adventure, and therefore the easiest to use. Twine writers produce stories using a graphical interface. Each piece of text is represented within a box, and lines link each box, showing the routes the player might take through the story.

The work is compiled in HTML format, and works on any browser that supports javascript (and has it turned on. That’s practically everyone, by the way).

The graphical interface makes it immediately obvious what is going on. Editing is done by double-clicking a box and typing in the resulting form. Creating a new box is as simple as double-clicking in an empty space.

Links within the text are defined by surrounding the word(s) in double square brackets [[like this]], and choices outside of the main text are the same, only with a * character in front. And that is seriously all you need to get going.

Twine uses a graphical interface to show its simple text and links concept.

For more information, there is a video tutorial series that explains everything you need to know and will definitely help you decide if this is your software for writing Interactive Fiction.

If you want to “go deep” with Twine, you can add your own HTML and stylesheets. If you don’t know what I’m talking about, then you probably want to leave those features alone (you are basically editing web pages at that stage).

Some people may find Trine too simple for their purposes but it depends what kind of story you want to create. On the surface, it seems more geared towards Choose Your Own Adventure style stories than text adventures but there is the accompanying Twee syntax for stories that are more involved (thanks for the hint from Horace Torys in the comments).

Twee has the concept of variables and expressions, and there are tutorials for doing things like creating an inventory, or tracking the number of bullets left in a gun for example. It remains basic and abstract – it doesn’t know what a “door” is and what it can do, nor an object or player-character for that matter. But it still serves as a good entry into the more complicated aspects of interactive storytelling.

Inform 7 (Mac, Windows, Linux)

Inform 7 mosaic image


  • Code your story by writing in natural English
  • Produces a variety of formats, so can be played on any IF interpreter
  • Versatile and extensible
  • Thorough manual packed with tutorials
  • A suite of useful tools
  • Can be intimidating

Inform takes a writerly approach. In the same way Interactive Fiction uses a verb-based system to make it easy to play/read, Inform has tried to make its source code like writing English. You describe what the player sees.

The interface is split into two panes, each of which can show a variety of helpful tools and resources (or your story of course).

Inform’s coding style is an intriguing concept. Rather than write code, you can do a lot by writing a natural-English paragraph. Inform will then interpret what you’ve written and sort the various objects into types, which automagically have certain properties and available actions. Take this example from the documentation:

East of the Garden is the Gazebo. Above is the Treehouse. A billiards table is in the Gazebo. On it is a trophy cup. A starting pistol is in the cup.

There are three rooms here and three objects, each of a different type. The language is very powerful, allowing for all sorts of interaction. And it’s extensible, so if there is something you need, you might find a plugin that includes it (or write your own).

There is a caveat. Just like Interactive Fiction disengenuously promises the world with its blinking cursor, writing Interactive Fiction with Inform is not as freeform as it appears. It is still code, and beginners will run into problems because they haven’t written things in the “right” order, or they have omitted punctuation that seemed unnecessary. If you’re not used to that, I can see what was intended as a useability feature becoming frustrating.

However, once written it’s incredibly easy to understand and so learn from the work of others.

Inform 7 Interactive Fiction editor

Inform has a powerful and surprisingly complete suite of tools

The documentation is excellent; full of examples, sensibly organised, and viewable alongside your source code, thanks to the two panes of the interface. It is also well-written – concise, thorough and informative. It is not often I enjoy reading a manual!

Other tools include a Skein (a visual representation of a reader’s journey through the story) a full transcript of any given playthrough, and an automatically generated map of your world. All powerful stuff, if a little intimidating to the beginner.

Inform is my favourite. Not only does it tick all of my joy buttons by combining writing and coding, but it’s impressively complete, and takes a professional stance on useability that is missing from the others. The Mac version especially, is a joy to use.

If you’re familiar with Scrivener (and you should be), consider this the Scrivener of Interactive Fiction.

TADS (Mac, Windows, Linux)

N.B. The TADS site recommends using frobTABS if you’re on Mac/Linux. Below I’ve looked at the TADS 3 Author’s Kit for Windows. See the download page for more info.

TADS 3: the programmer's choice


  • Written with a strict syntax
  • TADS 3 format can be played on any IF interpreter
  • Should allow for complicated stories
  • Comes with familiar debugging tools
  • Suitable for programmers

TADS stands for Text Adventure Development System, and is as techy as that sounds. This is Interactive Fiction software for programmers.

It is written in a text editor (TADS Workbench is a specially designed text editor for this purpose), and each room, object, interaction, description is defined in a strict syntax. The TADS 3 format that’s produced can be played on any interpreter.

Here is an example of the code (with comments removed), just for the sake of comparison:

entryway: Room ‘Entryway’
“This large, formal entryway is slightly intimidating:
the walls are lined with somber portraits of gray-haired
men from decades past; a medieval suit of armor<<describeAxe>>
towers over a single straight-backed wooden chair. The
front door leads back outside to the south. A hallway leads
north. ”

if (axe.isIn(suitOfArmor))
“, posed with a battle axe at the ready,”;

north = hallway

south = frontDoor

out = frontDoor

+ frontDoor: Door ‘front door’ ‘front door’
“It’s a heavy wooden door, currently closed. ”

initiallyOpen = nil

action() { “You’d rather stay in the house for now. “; }

If you can understand what’s going on here, you should be fine. If the sight of it sends you into waves of panic, TADS is probably not for you.

The manual is large, but I found it tended to waffle a bit. I recommend starting a new project on the “easiest” setting and opening the .t file within. This contains basic structure for your story that you can edit. Most importantly, it is heavily commented. It’s a great place to start and very instructive.

You are not restricted to one file of code. In fact you can have as many as you want, allowing you to organise your project how you like. The manual recommends splitting your project up one file per room, for example.

Debugging tools are available that will be familiar to programmers. Break points stop running code at a specific line so you can check the status of watched variables. For simple text adventures, this won’t be necessary, but when it comes to testing complicated logic, they can be invaluable.

Although Inform’s text approach is easier to read, you do have to read it. If you’re a programmer you’ll understand how TADS layout may make a room easier to understand “at a glance”. Plus, its strict syntax could make it easier to debug (I haven’t spent enough time with both to know for sure, but this is going from my knowledge as a programmer).

Quest (any browser, or there’s a Windows app too)

Thanks to mistermole for pointing out Quest in the comments.

quest logo


  • Created and played in a browser
  • Entirely form-based
  • Easy to understand
  • Does allow for more customisation via scripting for each object (but this isn’t required)

Quest is a browser-based, form-driven editor. The game maker can be loaded in Internet Explorer (or Firefox, Chrome etc.), and the finished games can also be played straight in the browser.

Because of this, it’s very easy to get started – there is nothing to download and signing up can be done using your Facebook or Google account.

Once inside, click to start a game and you’re presented with an intuitive interface. Your project tree is down the left hand side of the screen and contains all of your rooms, characters and objects.

Each element of your game is created by filling out a form. In the screenshot below, you can see that I’ve added one room, which I’ve called “Cave”, a direction the player can look, and some rocks as an object.

If I were to continue, I could make the rocks a container, and have the player be able to “open” them (I would describe this as moving them) to reveal a handy-dandy rope in a hidey-hole beneath. I could even include images for each of the things in my text adventure game. Simples.

Because it’s in a browser, there is a tiny wait time between forms. It’s not much at all, but it adds up, and is simply not as responsive and slick as a desktop application.

However, it does mean that anyone can play your game without having to download anything. As an alternative, the system even allows you to export your game as a mobile app, which is a nice touch.

ADRIFT (Windows)

Thanks to Sondar from the comments for pointing out ADRIFT

ADRIFT editor


  • Completely GUI-driven – no coding
  • Written on Windows, but can be played on Win, Mac or Linux through ADRIFT Runner
  • Maps are represented visually, with an editor for each object
  • Good for beginners and those who hate code

Adrift is another form-based editor with a few graphical flourishes for ease of use.

Here the object types are arranged in columns that go the width of the screen. Coming straight off of experimenting with Quest this threw me at first (largely due to the technical-looking tree down the left hand side, which I suspect you never have to touch).

A quick glance at the tutorial however and it all fell into place. Actually I prefer this layout, as it’s easier to see everything in your game at a glance.

Objects are added by right-clicking on the appropriate list, and once in the object editor, you can assign various properties, or add related objects.

There is also a map in the top area of the screen. You can even add rooms and connections by clicking on the map, which is a handy shortcut for mapping out your game quickly.

I have had limited time with them, but Adrift certainly seems more thorough than Quest – there seemed more options for your objects and they were immediately intuitive. While I supsect similar things can be achieved with both systems, Quest might require a bit more creativity to bend it to your will.

The downside to Adrift appears to be limited distribution. The editor itself only works on Windows, and whereas the ADRFIT Runner (the program that plays the games) can be installed on any system, it is required to play ADRFIT games. As I understand it, you can’t play them on a variety of already well-established IF players (like Inform or TADs stories), nor can they be played in a browser like Quest games.

In Conclusion

The choice comes down to what you’re comfortable with. If you’re starting out and want a testing bed, I’d suggest Twine. Quest and ADRIFT are also good places for beginners, but be prepared to at least open the manuals for these.

If the depth of interaction in your story outgrows them, take a look at Inform or TADS and go with the one that complements how you picture an IF story.

As an added bonus, here are some more resources for you to take a look at if you want to create a text adventure:

Books on Interactive Fiction*

There’s not a lot of literature on IF, but there are a couple of seminal works. If you like the sound of this medium, you should really read these

*Note that all Amazon links go through my associates account, to help out Getmewriting.com. If that bothers you, don’t click!

Further reading on Getmewriting.com

There’s a bunch of coverage on here. Here are the highlights:

Over to you:
As always, I’d like to hear your thoughts on the systems described above. And if I’ve missed one that you like using, please let me know. The comments section is below.