Creating a Piece of Interactive Fiction
Assigned: October 2, 2006

Design Document Due: 3:10 pm October 18, 2006 in class
Final Implementation Due: 4:59pm, October 24, 2006

In this project, you will create both a virtual world and an interactive story in which the user must overcome certain conflicts to achieve goals that lead to a winning state in the game. In terms of traditional interactive fiction, this game play takes place in terms of verbal descriptions of the environment and natural language interactions from the user.

Step 1: Purchase and Install ADRIFT

Do this as soon as possible so you don't have problems when you are ready to start building your system. There are Adrift compilers for nearly any platform you can think of.

If you want, you can use INFORM instead of ADRIFT. It is free and more flexible, but it is a programming language and will require more effort to do things that are trivial in ADRIFT.

Step 2: Play Some Interactive Fiction

If you've never played them before, you'll need to. It's not simply Myst with words. There are many samples on the ADRIFT website you can play with. There are more on and other sites on the web (see the end of this document).

Step 3: Learn ADRIFT

First, go through the ADRIFT tutorial and manual. They will give you a quick introduction to building systems in ADRIFT.

Step 4: Read About Interactive Fiction

Do some reading on the art of writing interactive fiction. The point they will continue to make is that creating an immersive and interactive story is just as much an artistic process as it is a technical one:

"Designing an adventure game is both an art and a craft. Whereas art cannot be taught, only commented upon, craft at least can be handed down: but the tricks of the trade do not make an elegant narrative, only a catalogue. This small collection of essays is just such a string of grits of wisdom and half-baked critical opinions, which may well leave the reader feeling unsatisfied. One can only say to such a reader that any book claiming to reveal the secret of how to paint, or to write novels, should be recycled at once into something more genuinely artistic, say a papier-mache sculpture.

If there is any theme here, it is that standards count: not just of competent coding, but of writing. True, most designers have been either programmers `in real life' or at the `Hardy Boys Mysteries' end of the literary scale, but that's no reason to look down on their better works, or to begrudge them a look at all. Though this book is mainly about the larger scale, one reason I think highly of `Spellbreaker' is for memorable phrases like `a voice of honey and ashes'. Or `You insult me, you insult even my dog!'" -- The Craft of Adventure, Essays on the Design of Adventure Games

You can also find more information through the interactive fiction newsgroups or some of the links we give you below.

Step 5: Design Your World and Your Story

Lay out your story. In the process, here are some questions you may ask yourself:

        What mood are you shooting for?

        What is the general plot?

        What are the conflicts that the player must overcome?

        What puzzles must he/she solve?

        What are the dependencies between the puzzles?

        What objects are in your world?

        What characters are in your world?

        What type of interactions with these characters will your game support?

        Are there are any specific locations you want to incorporate.

        What is the topology of the world map? Where are the objects located?

Here are some suggestions for coming up with an idea for your story:

        Take a real short story you've either read or written yourself and try to capture the essence of that work in an interactive world.

        Do the same thing with an appropriate movie (or portion thereof) or TV show. Some shows would obviously work better than others. Lost, Star Trek, Battlestar Galactica, X-Files or even a Fantasy Island game is more conducive to IF than some of the things you would find on Must See TV. One obvious possibility would be a reality TV show gone bad. Try to avoid the "wake up in the jail cell not knowing who you are" cliche.

        Pick a historical period in time and start brainstorming there.

        Pick an interesting news event.


Here's what we are looking for in these games (hint: the grading criteria is based on this list):

This is in terms of your usage of ADRIFT (or INFORM). Your game should be able to intelligently handle all of the standard behavior of a piece of interactive fiction.

  • You should handle all of the default actions with meaningful responses.
  • You should handle all the reasonable actions that a player may think of doing with the objects and scenery available.
  • You should use multiple (at least 3) non-player characters that are used in a variety of interesting ways. If other humans don't fit into your plot, do animal, insects, robots, ...
  • Have at least 3 events in the game that influence behavior.
  • No bugs, annoying features or meaningless output.

In other words, how well does your work create a sense of virtuality for the player? Does it make the user feel like he/she is truly immersed in your fictional world.

        Completeness of your world
Though there's no hard requirement on the number of rooms, objects or even words that make up your game, the user should feel like it's a complete, playable world. It should not feel like a toy demonstration game. This is a sufficiency criterion. It does not mean that more is better. A smaller (but not less than 15 rooms) but richer world is preferred over a spacious, vacuous world. There should probably be at least 12-15 objects in the world, and at least 5-10 puzzles. These are not hard limits, so you can go under if other parts of your game are very rich, but the game shouldn't just be small.

        Design of your world
In general, this is a story structure quality criterion. Your world should be laid out nicely. Since this work is interactive, the story should not be linear except when it has to be. Have a variety of puzzles and places to explore at any one time. Avoid having the player always being stuck on one puzzle before he/she can move on.

        Quality of prose
Write well and draw your player in. You don't need two-page descriptions for each room, but expect to write a lot and put detail where it is needed.

        Interactivity and Believability

  • Environment. What probably affects this criterion the most are good descriptions and some sense of coherency across locations.
  • Objects. Strive for the ideal that the player can do every possible reasonable action with objects and get a meaningful, unique response. This means that objects should interact with other objects, the environment and NPCs in a reasonable fashion. Though this is an unattainable ideal, you should attempt to achieve it insofar as other IF games do.
  • Non-Player Characters (NPCs) should be interesting and, of course, interactive. This is one of the most challenging areas in IF design, but is also one with a great payoff.


  • Naturally, you want interesting, clever puzzles that aren't cliches.
  • Cadence of story: It should move along at an entertaining clip.

Obviously, that's a tall order to fill in three weeks. Certain stories will have an easier time achieving the above than others. Humor in interactive fiction seems omnipresent, but if you make an all-out romp, you may lose something in terms of immersiveness.

Step 6: Code it up

We suggest saving in ADRIFT often. It can sometimes crash in the middle of adding a new object or room.

You'll need to do a lot of testing. One the most formidable challenges in creating IF, is the exponential number of possible interactions that can occur. You'll be amazed how much you'll need to add for each object, verb, etc. that you want in your world.

We also suggest having one of your colleagues play/test the game for you. Having someone play it who does not know what is legal in the game is extremely helpful. Have them write down all the bugs they find, all of the things they expected to be able to do, but couldn't, etc.

Step 7: Turn in the following


Design Document: October 18, 2006 in class: A half to one page description of the basic story/plot of your game. Include a list of characters and the most important puzzles. Also include a screen shot of ADRIFT generator and map that shows at least five rooms and one character and 5 objects.

Final submission: October 24, 2006:

On a CD, submit a zip labeled with just your last name (no first initial and last name-- just your last name) that contains the following.

  1. Your system.
  2. Print out a list of all puzzles.
  3. A transcript of the game -- take us step by step through one path of the game. In Adrift, you can save a transcript under the Adventure->Start Transcript menu.
  4. Description of cool features, etc. that make you proud of what you did.



Useful Links

Here's some links to get you started. Check you favorite search engines and directories, for countless others: