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:

LOOK: describe the room again. abbreviated "l".

EXAMINE something: get a detailed description of an
object. abbreviated "x". EXAMINE SELF is a good way to start a
game!

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".)

Violet: a gentle
introduction to the art form, full of humor, wit, and interesting
relationships.

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.

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!