Archive

Posts Tagged ‘Java’

You Are in a Maze of Twisty Passages: Getting Lost in Interactive Fiction

April 6, 2012 Leave a comment

The screen shot above is from the Infocom game Hitchhiker’s Guide to the Galaxy (based on the series of books by Douglas Adams). I was a big fan of the Infocom games “back in the day,” and having also read the Hitchhiker’s series, I especially enjoyed this one; at least after I figure out how to put the Babel fish into my ear. Infocom was a company that specialized in what they termed “Interactive Fiction,” that is, text adventure environments written in sophisticated prose format. (Infocom was the company that produced the Zork series of games.) There are a number of reasons that Interactive Fiction is an ideal game format for the Historical Williamsburg Living Narrative project, which I’ll cover in later posts, but now I’ll just briefly cover a little of my own history with the format.

My first encounter with text adventure games (before they were called Interactive Fiction) was back in the fall of 1980 when I got a job with a communications engineering company. The company ran a Data General Eclipse minicomputer, and one of the programs on it was the original Colossal Cave Adventure program written back in the late 1970s. Several of us in the office would stay quite late to sit in the terminal room and explore the virtual world, asking each other for help when the puzzles were particularly challenging. We all spent a fair amount of time typing one- or two-word commands at the cursor hoping we were on track to unravel the puzzles sprinkled throughout the game. Soon after that, I purchased a Texas Instruments TI-99/4A computer, and I was delighted to find a whole series of adventure games by Scott Adams.

It was late in 1981 when I acquired my first IBM PC that I also got my first game for it: Deadline by Infocom. Infocom has developed a natural language parser was also able to “understand” short sentence input rather than simply two-word phrases. It was then that my taste for text adventures, that is, Interactive Fiction grew to the point where I began to write my own. The language available to me on my PC was BASIC, and I wrote thousands of lines of procedural code to build my games. Over the years I’ve used BASIC, Pascal, C, C++, Lingo, Java, and even LISP to build my games, and I’ve continued to experiment with my own parser systems and Interactive Fiction scenarios.

Several years ago, I discovered the Inform software (currently Inform 7) development system. Inform is an environment specifically design to author Interactive Fiction. The language of Inform is set up to support the conventions of Interactive Fiction, which makes it easier to program these types of game. For example, if I wanted to set up a space where there was a Kitchen and a Dining Room, with the Kitchen to the north, I would enter into the Inform 7 engine simply:

> Kitchen is a room.
> Dining Room is a room.
> Dining Room is south of the Kitchen.

At that point, when I run the program I find myself starting out in the Kitchen location. If I then type “s” (for south) at the prompt, I see that I have moved into the Dining Room–and I can type “n” to move back to the Kitchen. Of course, the Inform 7 programming environment supports much more than moving around virtual locations, but the exciting thing is that it takes care of the programming underpinnings while the author/programmer can focus on the logic of the game itself. That is very appealing. One can relatively easily create objects to be manipulated, characters with which to interact, and so on.

The simplicity of the Inform 7 development environment is one of the reasons I’m excited about using it to develop the Historical Williamsburg Living Narrative. I’ll be able to develop and implement my “map” of Williamsburg fairly quickly, and building in the location descriptions and character interactions will be a lot easier than it was when I used more general programming environments. That means I’ll be able to spend much more time in building narrative depth into the game play, and that’s ultimately what makes the Interactive Fiction format so engaging, even though it’s only text on screen. Sometimes graphics gets in the way of imagination; Interactive Fiction is the perfect way to drop the reader into the action of the story and really bring the words to life.

Advertisements