Interactive Fiction!

Oh dear, not again. You've wandered aimlessly into yet another "introduction to interactive fiction" area. Perhaps this one won't be as pontificating and incomprehensible as some of the others you've seen. Swirls of glowing ideas brush past your legs as you wander into the mist.

> LOOK

Back before computers had graphics, people wrote games that were purely based in textual conversation. It was sort of like a choose-your-own-adventure book: you move around to different locations, interacting with a virtual world. Calling it an "adventure game" is a bit of a disservice, though; it's more of a short story with some thinking required. By solving puzzles, the reward isn't points or unlocked badges, but rather more plot and deeper characters. The really good works are as great as the best novels out there. The interactive fiction community has a good introduction to the genre. You might also want to read the wikipedia entry on interactive fiction.

Some awesome interactive fiction games coalesce at your feet.

> PLAY GAMES

If you've never played interactive fiction, the main thing you need to know is this: when the game displays a prompt for you to type at, you cannot input plain English sentences. The parser only understands a very small, simple set of nouns and verbs; they're easy to learn and will still give you plenty of freedom to interact with the world. Learn these few to get started.

Andrew Plotkin and Lea Albaugh have put together an excellent quick reference card (available in multiple formats) that you may want to keep handy. But here's an executive summary to get you started:

Basic prepositions can be used, too. Like OPEN LOCK WITH KEY, LOOK UNDER BED, or PUT BOOK ON TABLE.

Okay, are you ready to try some games now?

> NO

Fair enough, wander forth then.

> PLAY GAMES

Changed your mind?

Here are some great games to try right in your browser. (Note that you can also download standalone interpreters for Windows, Mac, Linux. On the iPhone/iPad, search the Appstore for "Frotz". On Android, search the Market for "Twisty".)

The author of this page also won a couple of original interactive fiction contests with his collaborator. You may want to try these as well:

> WRITE GAMES

Aha! Are you ready to become an author? Interactive fiction straddles the line between creative writing and programming, and it's a delicious tension. While many different tools exist for developing these works, by far the most popular (and this author's favorite) is a system called Inform. Go download it now and start working through its built-in tutorial. It's a beautiful system, and allows you to create worlds in a pseudo-english dialect. (In other words, it's very friendly to non-programmers.)

If you look at the communal IFwiki, you'll see all sorts of advice on the craft and theory of how to write these works. There's been a lot of thought and philosophy put into the question of "what makes a good piece of interactive fiction?"

One other idea: once you have some basic familiarity with Inform and are ready to do a 'serious' work, try separating the processes of writing and programming completely. In other words, first write your novel in a regular word processor; include the player's responses in your text, as if you were reading a complete transcript of a completed game. After you're happy with the story, then allow yourself to begin implementing the work in the Inform environment. Many people find it difficult to do programming and creative writing simultaneously; the programming often becomes all-consuming and the art of good writing is lost in the shuffle.

If you're curious to see what longer, published games look like, you can see the open-source code of this author's games here and here.

Finally, if you're an educator, you may be curious to learn how other teachers have taught Inform in a classroom setting. There's even alternate documentation for Inform if you're looking for new angles on teaching or learning it.

> PORT IF GAMES

If you're a hard-core programmer type, you can also contribute on the implementation side. Inform generates "z code", which is byte code for a virtual machine designed in 1980 just for playing text-based games. Infocom used this virtual "z machine" all through the 80's and it's been ported to nearly every modern operating system out there. That means any game you build in Inform will be able to run almost anywhere — even on small devices!

This author of this page would love folks to help with Twisty, which is a z-machine implementation for the Android phone

There's also quite a lot of activity these days in polishing the z-machine's Javascript implementation (see the Parchment project), so that people can play games directly in their web browsers, without having to download a standalone z-machine interpreter first.

> TALK TO OTHERS ABOUT GAMES

The interactive fiction is an indie game community — small but lively!

> TELL ME ABOUT HISTORY

The author of this page often gives a talk about the history of interactive fiction, which you can find here.

> EAST

It is dark here. You are likely to be eaten by a grue.