Maybe you’re a writer interested in branching out into a more experimental form of storytelling. Maybe you’re a game developer looking for a fun new tool to try, or you just really like reading books, too. Or maybe you played Zork, or Anchorhead, or The Harbinger’s Head and thought, “I wonder how this got made?”
I’m still learning that, myself. Here’s what I’ve learned so far:
- Creating interactive fiction takes time, energy, and a lot of patience for testing, testing, and testing some more.
- The exact process for making an interactive fiction game differs from one person to another and one project to another. What programming language you use, what tools you use, and what type of game you want to make are all factors too.
- When it comes to creating interactive fiction, the best tools for learning will play to your specific learning strengths.
In other words, if you’re a more visual person, you’ll want to see examples of how things are done, maybe even watch a video. Videos are also great for auditory learners. Or perhaps you’re more a kinesthetic type—you need to practice as you learn in order to really get it. Consider this when deciding which of the following to look up first.
Note: While I consider visual novels a branch of interactive fiction, for the purposes of this page, I’m using the term “interactive fiction” to refer primarily to text-based games. I’ll cover visual novels specifically on another page. 🙂
Organizing Interactive Fiction: Best Tools for Planning an IF Game
Before you even make your game, it’s important to plan it out! Especially if you are creating your IF game on your own, you’ll need to do the work of a narrative designer and decide how your narrative will work in the context of your gameplay, and how your gameplay can add to the context of your narrative.
In short—while some writers can do without an outline, at least for the first draft, once you’re ready to start programming, you pretty much need some sort of map to follow so that you don’t get lost in all the possibilities. This is especially true if you plan to have a branching narrative with multiple endings. Try:
- Good old pen and paper. I actually mapped out all of The Harbinger’s Head by hand in my notebooks, partly because I was new to the whole branching narrative thing and partly because I try to take any chance I can get to be productive without being on the computer. This option works well for smaller games and/or people who learn better by using their hands.
- Twine. While you can actually use Twine to make a fully-fledged IF game, you can easily use it to visually map out just about any narrative you want—even if it’s not interactive. I found it extremely helpful for mapping out the branching paths of The Dragon’s Last Flight. It’s definitely a good choice for mapping out larger, more complex projects.
- Google Docs. While this is more helpful for drafting your game script, you could easily use Google docs for outlining your story as well. The Bookmarks and Table of Contents features make it much easier to navigate around a lengthy draft or outline than scrolling or Ctrl+F’ing every time you need to get to a specific section. All of TDLF was drafted in Gdocs from the get-go.
Resources for Learning How to Create IF Games
Here are the tools I’ve found the most helpful thus far. Keep in mind that I can only speak to my own experience; I can’t really make recommendations for things I haven’t even tried yet! This list will grow as I continue to branch out and experiment.
For creating an IF game in Choicescript:
ChoiceScript is a simplified programming language developed by Adam Strong-Morse and Dan Fabulich of Choice of Games. It’s specifically made to be accessible to people who are interested in making IF games but have no programming experience. It’s free to use, and you can even submit proposals or full games for consideration to be published by CoG.
- The official ChoiceScript guide is, of course, a great place to start.
- The ChoiceScript Wiki, created by Choicescript community members, can be very helpful for looking up specific how to’s and delving a little deeper into your game’s potential.
- The ChoiceScript forum is a good place to ask for help (or to see if someone else has already found the solution you’re looking for).
- Dan Cox’s Learning ChoiceScript series on YouTube may be helpful for more visual or auditory folks, or just to reinforce what you’ve already read.
For creating an IF game in Twine:
Twine is a free, open-source tool developed by Chris Klimas and designed for creating interactive fiction, particularly nonlinear experiences. No coding is necessary for very simple games, but the deeper you dive, the more creative possibilities you’ll find.
- The Twine 2 Guide on the Twine Wiki is a good place to start.
- The Twine Cookbook is a great resource for finding specific code and instructions for solving unique development challenges.
- This Twine series on YouTube gives a good, clear introduction to all the Twine basics.
- Make Your Own Twine Games! by Anna Anthropy is ostensibly a book for children, but honestly, it’s a really great introduction even for adults if you have absolutely no experience with Twine or IF development in general.
- Game Development with Ren’Py: Introduction to Visual Novel Games Using Ren’Py, TyranoBuilder, and Twine by Robert Ciesla gives a very detailed, in-depth look into each of the titular tools, especially Twine. While it’s geared more toward creating visual novels (VNs) in particular, it’s an incredibly helpful resource even if your project is entirely text-based.
Other options I haven’t tried yet:
This likely isn’t an exhaustive list—technology is always evolving, every day—but here are some tools I’ve read about but haven’t gotten around to messing with yet.
- TADS: Short for Text Adventure Development System, the TADS language is based on C++ and Javascript. It’s free and offers a lot of programming freedom, but seems pretty daunting for first-time IF developers.
- TyranoBuilder: It’s more for VNs, but from what I understand, you can use it for text-based IFs too.
- Ren’Py: Ren’Py utilizes a specialized form of Python programming to make VN development as easy as possible. While I’ve used it specifically for VNs before, I’ve never used it to make a text-only (or text-emphasized) IF game.
- Quest: Like Twine, this one is free and utilizes a visual editor to make it easy for IF-developing newbies to get started.
- Squiffy: Similar to Quest (and developed by the same folks), this one can output HTML or JavaScript.
- Inform: A pretty versatile-seeming tool that can be used to create a wide variety of games, including IF games.
- Unity: Most gamers know this one. It can be used for all sorts of things—including making IF games. It’s not for the faint of heart though, from what I understand.
Go Forth, Brave Storyteller, and Make Some Interactive Fiction!
The world can always use a few more good stories, and there will always be an audience out there looking for a neat distraction. So don’t be discouraged by your lack of programming expertise or daunted by all the options you have to choose one. Just pick something and try it! You never know what wonderful thing you might make—or who will love to try it.