You are standing at the end of a road before a small brick building . . .
My interest in computer interactive fiction, a.k.a. “adventure games,” dates from before I could read chapter books. I belong to the first generation to grow up with the personal computer. When I entered elementary school, computers had just made their first forays into classrooms, and I remember vividly my first encounter with a Commodore PET, the most popular educational computer during those formative years. Soon after, I met the Apple ][ . . . and Adventure. (Perhaps I met Hunt the Wumpus before Adventure, but I’m no longer sure.)
Adventure, also known as Colossal Cave, Colossal Cave Adventure, and its original file name ADVENT, started life as a simulation of an actual location in Kentucky, the Bedquilt section of the Flint-Mammoth Cave System. Programmer and caving enthusiast Will Crowther created the textual simulation in FORTRAN. But instead of simply writing descriptions of cave locations the user can visit through a series of movement commands, Crowther merged the real world with elements of Tolkien-esque fantasy and puzzle-solving. The result: interactive fiction, or IF. Most of the conventions of the genre that still exist today debuted in Adventure: the “VERB NOUN” parser, moving using compass directions, locations referred to as “rooms,” logic puzzles, treasure-hunting, locked doors and keys, mazes, monsters.
Starting on a PDP-10, Crowther’s game spread through ARPANET, a precursor to today’s Internet. A Stanford graduate student, Don Woods, expanded the game with permission from Crowther to include further fantasy elements. The Woods revision, often called the “350 point” version, remains the most famous incarnation of Adventure. (You can read a detailed history and analysis of the game and the real location from which it took inspiration here.) What seemed liked a unique simulation, a bit of coding for programmers to show off to non-programmers, would develop an unexpected life as it moved through other mainframe computers.
When Adventure hit MIT, some students there started developing their own cave-crawling text-adventure. At first titled Dungeon, inspired by a certain role-playing game also gaining popularity at the time, this mainframe game would eventually become Zork and give birth to Infocom, the most famous of the commercial IF companies of the 1980s. Around this same time, programmer Scott Adams created the first IF game for the smaller personal computers, Adventureland, originally designed to run on TRS-80. In 1980, Roberta and Ken Williams released the first adventure game with graphics, Mystery House.
The 1980s was the Golden Age of commercial interactive fiction. Graphic games gained popularity (oooh, pictures!), but memory and speed limitations prevented them from overtaking the text-only games from Infocom and others. The text games had the huge advantage of portability to multiple platforms, and they developed a literary quality that outstripped the limitations of the graphics of the time. Even today, these text games have immense re-playability, something the old graphic adventures lack. Adventure still works very well because it was an attempt to simulate a real environment, and that comes through in the vivid images it creates in players’ heads. The Infocom games read as well as many fine novels; good writing doesn’t get outdated.
But by the end of the decade, Infocom had collapsed, graphics had made immense advances, and the emergence of the dual world of PC/Macintosh took away the text-adventure game’s main marketplace advantages. The commercial viability of the genre that Crowther and Woods had pioneered evaporated.
But the genre lives on, although the average computer user probably has no idea that it does. Commercial adventure-writing programs appeared throughout the 1980s, but it wasn’t until the early ‘90s that programming languages such as TADS by Michael J. Roberts and Inform by Graham Nelson allowed enthusiasts to start coding their own games that could perform at or above the level of the Infocom classics. Today, a strong online community of IF writers and players produces a steady stream of freeware games. Anyone who wants to look into the community and get started playing in the current field of IF should take a turn through Baf’s Guide to the Interactive Fiction Archives. Download an interpreter, grab some game files, and off you go.
I’ve loved interactive fiction since before I could read an adult-level book, so my first experience with complex written narrative and mature fantasy comes from Adventure, Zork, and the “Enchanter” series. I used a variety of the commercial adventure-writing programs when I was in late elementary school and middle school, and spent an enormous amount of time dreaming up complex gaming scenarios and simulations and mapping them out. The shareware system AGT (Adventure Game Toolkit) was the first designer that let my imagination fly with the possibilities. These games—most unfinished and far too ambitious—were my first serious forays into fantasy and science-fiction writing.
I did not come back to IF until 1999, after the freeware programs like TADS and Inform created a new community. The quality of the games available now in the Interactive Fiction Archives is amazing. Curses by Graham Nelson, Photopia (the first “puzzle-less” game) by Adam Cadre, and Galatea by Emily Short are among the excellent and unusual games written with the new systems. And if you’re an H. P. Lovecraft fan, I highly recommend Anchorhead by Michael S. Gentry. If you dig orcs or want to see a game with an intriguing unreliable narrator, try the 2007 Best Game-winner at the XYZZY Awards, Lost Pig by Admiral Jota.
The new Inform 7 makes the adventure game writing experience even more accessible for newcomers. Graham Nelson, who developed the original Inform, created the new version to use “natural language,” which makes Inform 7 quicker to grasp and easier to debug. It isn’t easy to program in Inform 7—anything capable of complex simulation will involve complexity—but it creates a shorter learning curving than TADS or the earlier incarnations of Inform.
This is a sample of some Inform 7 code I wrote describing a pit where the player finds himself trapped at the start of the game. In order to escape the player must search the walls and pull a lever to open a door. This isn’t the most elegant coding in the world, I’ll admit, but it does provide a sense of the logic behind Inform 7 and how it uses natural English to give even someone unfamiliar with programming a concept of what is occurring:
The Deep Pit is a room. “[if unvisited]You are lying in the rocky pit where your mutinous workers tossed you a few hours ago. You aren’t certain how much time has passed; the men grabbed you from your tent during the night, and now you can see a light in the sky above, but only a hazy gray one. [end if]The pit has steep walls of craggy rock, and no other visible way out.”
The pit rocks are scenery in the pit. “The rock walls might provide a decent climbing surface, but you don’t think your unathletic frame could handle the task.” Understand “wall” and “walls” as pit rocks.
Instead of climbing the pit rocks, say “You make an effort to pull yourself up, but your willowy arms lack the strength to go farther than a few feet before you lose your grip and crash back down again.”
Instead of going up, try climbing the pit rocks.
Instead of searching the pit rocks for the first time:
move brass lever to location;
say “You find something hidden beneath one of the stones. A large brass rod, like a lever set into the stones behind it.”
The brass lever is fixed in place. “A brass lever protrudes from the stones.” The lever can be pulled. The lever is not pulled. Understand “rod” as brass lever.
Instead of pulling or pushing the brass lever:
if the lever is not pulled:
say “A hidden door swings open.”;
now the gateway door is open;
now the brass lever is pulled;
now the gateway door is revealed;
say “The lever is now stuck in place.”
Instead of doing something to the gateway door when the gateway door is hidden, say “You can’t see any such thing.”
Instead of closing the gateway door, say “Impossible. It is too heavy.”
The gateway door is a locked door. The gateway door is scenery. The gateway door is east of the Deep Pit and west of the Low Entryway. The gateway door can be hidden or revealed. It is hidden.
I can’t envision myself ever writing a massive, intricate game in Inform 7 for release onto the IF Archives—I lack the time and feel a touch embarrassed when I see how good the games from the hardcore hobbyists are—but I still enjoy doing short game experiments and thinking about what sorts of stories I would like to tell and how I would tell them using the unusual format. A writer can achieve almost any sort of story with the tools now available, but telling a tale in IF presents an open-ended writing challenge unlike any sort of fiction writing I’ve come across.
I encourage all writers, especially speculative fiction writers, to experiment with writing IF, even if only to take a cursory look over the programming and some of the better games developed. Creating narrative through a computer game forces a writer to think in entirely different modes. Plus, the computer is the most relentless critic a writer will ever experience: it forces the user to constantly re-think structure and clarify everything for it. Creating only a few small games taught me an enormous amount about logic and fractal storytelling.
And the educational benefits aside, IF remains an enormous amount of fun.
Do you wish to RESTART, RESTORE a saved game, or QUIT?