The idea of developing a story with multiple endings is not new. The concept of interactive storytelling has been around for many years and became popular in the late 1970s with "Choose Your Own Adventure" books that direct the reader to different pages within a book, based on available choices of action provided by the book. These books are still popular and available. However, with the advent of affordable home computers, "Interactive Fiction" and storytelling were more popularized by a series of interactive fiction software titles such as "Zork ". The popularity of this type of written story peaked in popularity in the late 1980s, and science fiction writers like Douglas Adams experimented with developing interactive fiction for the "Hitchhikers Guide to the Galaxy".

Interactive fiction and storytelling incorporate two significant elements of popular media and games: interactivity and a story. A good story leads to a good script, and good scripts that make use of effective interactivity can be expanded into a rich media experience for the end-user, conceivably in ways not unlike the "holodeck" from the Start Trek series.

Rich media
is a method of communication and design that incorporates animation, sound, video, and/or interactivity. It can be used either singularly or in combination with any number of other technologies, including: streaming media, sound, Adobe Flash and Director movies, and with programming languages such as Java, Javascript and DHTML. Traditionally interactive fiction and storytelling was text-based, though it has evolved to sometimes include other media elements such as images, animation, and sound.

The Interactive Story

The development of interactive media is an involved process that requires careful planning and consideration of content, media, and audience. A script or storyboard of some ilk is often the first document to be produced for an interactive program. However a story with interactive elements is much more complex than a traditional linear story, so when developing an interactive story it is also necessary to develop a scheme of organization for each part of the story and program. This scheme needs to work well enough that the people involved in producing the program can see how many elements are in each part of the overall program, and how they interrelate singularly. Flowcharts can be useful for this, but they are not a good format to use where substantial amounts of information need to be displayed; they are more useful for showing an overview, or process outline.

To create an interactive story, the author should start with a setting,and at least one character. The primary motivation for each character and their essential characteristics also need to be determined.

Characters & Interactive Dialogue

Characters, whether fictional or real, evolve from experience. They have needs, desires, and motivations that are unique to their background, and the environment they grow within. Two things reveal the most about a character: action and dialogue. Dialogue is extremely important in an interactive scenario because it allows the author to directly communicate with the reader (user) through the characters. Action speaks for itself.

An environment is much more realistic if it includes characters who appear to really live within it and who have the ability to respond to the reader's questions, even if it's only in a limited way. Modern computer authoring technology makes the interpreting and parsing of text or spoken input from the user possible, but the task of determining what a particular character should say or do is a challenging design problem. You should assume for this assignment that a system that can make sense of user input already exists, and your task is to determine what kinds of questions or comments will elicit a specific response from a particular character in the environment.

Once you have created an environment you need to bring it to life with at least a couple of characters. These characters can be human, animal, ethereal, or the space itself might talk. (Think of the "magic mirror" in the Snow White story, for example).

Tips for Creating Interactive Characters:

  • Develop your characters as though they are real, with real feelings and desires. Try to develop each character to respond uniquely and realistically within the context of the scenario or universe where they exist.
  • For each character you should develop questions the user can ask each of the characters, or "trigger" topics the user can elicit that will result in a particular response from the characters.
  • In terms of the questions or topics the user may ask each character, you should consider designing it so that at least one of the questions leads the reader somewhere, getting them closer to, or further from their goal. This means one or more of the questions the reader can ask should have several response possibilities. To achieve this you'll need multiple "frames," or nodes of information as documents, or different index cards with the dialogue written out on each card.

For an example of a simple interactive dialogue click here. Note that at the bottom of the document that each dialogue "node" includes link information for other nodes that are associated with it. Having this "node" link information is essential for the full realization of the interactivity.

The following articles provide good background information about interactive fiction, and will help you see interactive possibilities with text that can conceivably be expanded into rich media interactive programs. To get a better sense for what interactive fiction can be by example, or how other writers have explored the possibilities of interactive fiction, work your way through the 5 sections below.

1) Read the following article titled, "Interactive Fiction Games: More than Retro Fun"

2) Read this Wikipedia article on Interactive Fiction:

3) Read the items, "1. Brief History of Interactive Fiction" and "2. Scott Adams Speaks" on the page. Note: You have the option of listening to an audio recording of the discussion, or reading a transcript.

4) Read this article on "PHP Zork"

Zork Tips:

In the Zork games, the player is not limited to verb-noun commands, such as "take lamp", "open mailbox", and so forth. Instead, the parser supports more sophisticated sentences such as "put the lamp and sword in the case", "look under the rug", and "drop all except lantern". The game understands a good number of common verbs, including "take", "drop", "examine", "attack", "climb", "open", "close", "count", and many more. For fun, try typing "jump" by itself, or "yell".

When playing Zork, the following commands apply:

> n, s, e, w

Short for "go north", "go south", etc.

> nw, ne, sw, se

Short for "go northwest", "go southwest", etc.

> u and d

Short for "go up" and "go down"

> i

Reveals a player's inventory

> verbose

Gives full descriptions after each command (rather than omitting details already given to the player)

> score

Displays the player's current score, number of moves, and ranking

5) Now for the fun part where you actually get to play an online version of the "Zork" text adventure. As you play Zork, try to visualize how each mini "scene" (node) in the game is connected to other nodes. You should quickly come to appreciate the level of planning and thought that went into the story, setting, and interactivity of the game.


Here are two walkthroughs of Zork, if you feel compelled to "finish" the game without spending too much time playing it.