Open Book, a concept for the final
For my final project, my plan is to turn works of fiction into an interactive text adventure, in the spirit of Zork and the other Infocom games.
In text adventures (or interactive fiction), the user is presented with textual descriptions of their surroundings, which they can interact with by using a predefined set of verbs to act on specific nouns in the descriptions. None of these specific terms (nouns or verbs) are known by the user in advance, so the only way to progress through the game is creative exploration.
My project will use a subset of the Infocom verbs to allow the user to interact with excerpts from texts pulled from Project Gutenberg. This will allow movements along the four compass points, as well the ability to affect objects, and possibly an inventory. (I have to do some more exploration before I can determine if an inventory would be a worthwhile feature.) When a user interacts with an object from the text they’re currently inhabiting the resulting response will be pulled either from later in the same work of fiction or from a completely different work. For example, if the user is reading text from the mad tea party in Alice in Wonderland (we can perhaps say he is in the mad tea party, the same way a Zork player is in the scene with the white house), and drinks the tea, the game will respond with a sentence containing the word tea from later in the book. However, if the user chooses to move north, he will be taken to an except from a new work. (How the new work will be chosen is still up in the air. It will be random for now.)
I plan on using the Google API to search Project Gutenberg, which is faster and easier than PG’s own search, and use the resulting URLs to pull the excepts. I’ve successfully been able to limit these searches to only include the actual text (as html or txt) of the ebooks, eliminating PG meta pages from being returned.
I think this project raises a number of interesting issues, including the notion of our spacial relationship to text, remixing existing texts, and turning a passive media into an interactive one. While there are some definite programming challenges in creating the system, I believe most of my time will be spent on tweaking how excerpts are returned to make it appear as game-like as possible. That said, I have no plan to try to get rid of some of the absurd interactions that could happen, since an element of the surreal seems to fit this project just fine. For instance, if a user really wants to say “open of”, rather than “open book”, I think he deserves whatever he gets for opening an of. ![]()
Some inspirations & resources:
- Matt Webb’s playsh, which turns the entire internet into one giant MUD
- Zork and other Infocom text adventures
- ZaxApplet, an open-source Java implementation of the Infocom Z-machine game engine
- Clive Barker’s Abarat, in which one kind of magic is created by forming “glyphs”, which I always imagined as printed text that actually formed itself into a physical object
Activity