The magazine of the Melbourne PC User Group

There's Nothing Retro' About Interactive Fiction
Trevor Gosbell
 

Trevor Gosbell shines a light on many years of computer entertainment and writes about current developments of some of the oldest games

Sometime back in the early 1980s I booted the family computer (a TRS-80 Model I, if memory serves) and loaded a new program we had just acquired. In flickering green letters a strip of text appeared across the top of the screen

I'm in a forest
Obvious exits:
     NORTH SOUTH EAST WEST
Visible items: Trees

Then below that

A voice BOOOOMS out: Welcome to Adventure International's Mini-Adventure Sampler! This is a small but complete Adventure. You must find the three hidden treasures and store them away! Say: "score" to see how well you're doing! Remember you can always say "HELP, WHAT SHALL I DO?"

This was a free sample of "Adventureland", the first in a series of about a dozen text adventure games by Scott Adams and his company Adventure International (that's not the same Scott Adams responsible for Dilbert). As the name implies a text adventure game had no graphics — all you got were text descriptions of what happened in the game world. To play a game you typed commands like "GO NORTH", "GET SWORD", "KILL TROLL', and "EAT APPLE" and the game would respond to your instructions. Some people reckon that text adventure games were a bit like those "Choose Your Own Adventure" books but that's a pretty superficial comparison because the level of immersion in a text adventure far exceeds what is possible in one of those books.

Interactive Fiction

How is it that I remember the rather unspectacular opening words of Adventureland? Well, I didn't. Nearly thirty years later I'm sitting here looking at Adventureland on a present day computer. You see, the text adventure game never went away. While it stopped being commercially viable, interest in the genre continues in an online community of enthusiasts. In the process the games gradually became more sophisticated and literary, and text adventures became interactive fiction (IF) — a title that better reflects the tendency to broaden the stories beyond swashbuckling swords-and-sorcery themes to those with a much wider range of styles. The interactive fiction of today bears little resemblance to the sparse writing of the early text adventures, like that quoted above.

What is Interactive Fiction?

In essence, IF presents an imaginary world that the player can explore by giving written commands to their proxy in that game world. The computer acts as narrator, referee, and the player's character. The experience of interacting with your fiction varies from story to story; some stories are essentially a stream of progressively more difficult puzzles while others are cleverly conceived dramas that immerse the player in a dynamically unfolding plot.

In the beginning

The first ever computerised text adventure was called simply "Adventure" or sometimes "Colossal Cave Adventure", modelled on a real cave system that was known to the author Will Crowther. The first version was written in FORTRAN on a DEC PDP-10, probably during 1975. It quickly spread throughout the computing community, which was then mostly at universities.

In 1976,Don Woods stumbled across the program on one of the computers at Stanford University. Intrigued, Woods contacted Crowther and got permission to further develop the game. Later that same year the expanded game was rewritten in the C language and made available on UNIX. Adventure then escaped onto the Internet (where you can still download it to play on just about every computer imaginable).

Zork

In an early open-source effort, programmers began to tinker — expanding the Colossal Cave by adding new locations and characters that were totally unfamiliar to Crowther and Woods. This gave rise to the first Zork adventure and the Infocom company. The significant thing about Zork is that although it's programmed in ZIL (a variant of Lisp) it was compiled to run within a virtual machine — the Zork Machine, or more commonly Z-Machine (in much the same way the Java compiles to bytecode that can be run portably, ZIL compiled to Z-code). This was a clever commercial decision because at the time there was a wider variety of microcomputers than we have today — remember the Amiga and Commodore, Sinclair, TRS-80, Amstrad, and Electron? Apple and IBM were there also. So to make their entire catalogue of games available on any computer platform all Infocom needed to do was port the Z-Machine program (called the interpreter) and the games would run.



Figure 1. First steps into the great underground empire
- playing "Zork" in Frotz
[ click image to enlarge ]

 



Figure 2. HTML TABS for Windows running "The Golden Skull",
which demonstrates some of the multimedia features of HTML TABS
[ click image to enlarge ]

Point-and-Grunt

The transition from text-only to graphical adventures was, led by the Sierra company with its excellent King's Quest and Space Quest series of games, and not forgetting the more "adult-oriented" Leisure Suit Larry series (incidentally, Leisure Suit Larry started out as a text-only, game rather unsubtly called Soft Porn Adventure).

Eventually this led to games where control of the game relied less and less on typing at the keyboard. Inevitably this changed the nature of the games, leading to more reliance on action in games like the first-person shooters (the breakthrough games here being Wolfenstein 3D followed by Doom).

So the text adventure is the direct ancestor of today's graphical adventure and first-person shooter games, and when adventure games got graphics the, commercial market for the older style of text-based games collapsed. But just because people didn't want to pay for text adventures, it didn't mean that no one wanted to play them.

Inform

Getting Inform-ed on the Z-machine.

Enter Graham Nelson from the University of Cambridge (now of Oxford) who got hold of the Z-Machine specification and in 1993 wrote a new language and compiler for it, which he called Inform. Inform is an object-oriented fully functional programming language that just happens to produce its compiled programs as Z-code.

TADS

Meanwhile the Text Adventure Development System (TADS) had been available since the late 1980s and was probably the earliest interactive fiction authoring system available to hobbyist programmers. TADS is still available and continues to be developed.

TADS and Inform are the most popular platforms on which interactive fiction is written today, and they are largely responsible for the enduring interest in interactive fiction.



Figure 3. "Ditch Day Drifter" is the exemplar of interactive fiction in TADS
[ click image to enlarge ]



Figure 4. TADS Workbench for Windows. Workbench is an integral
development environment in which you compile and debug your game.
[ click image to enlarge ]

Could You Hack IF?

These days a commercial computer or video game requires a battalion of programmers, graphic artists, animators, writers, actors, and miscellaneous other contributors — probably about as many contributors as a modest movie production. But thanks to tools like Inform and TADS, interactive fiction is still within the scope of a single author, hence the enduring attraction of IF for "after-hours" programmers. A programmer with a creative bent or a writer willing to learn to program can turn out a decent interactive fiction story while holding down a real job or full time study.

The first tip for the prospective IF programmer is don't start from scratch don't sit down and start cutting code in C or Visual Basic or your other favourite programming language. You'll be reinventing a wheel that's been rolling nicely for decades — the IF authoring tools.

Of course the leading tools are Inform and TADS, but other possibilities include ADRIFT
http://www.adrift.org.uk/, Hugo http://www.generalcoffee.com/hugo.html, and Alan http://www.alanifse/. And there's plenty of advice as well. For a starter, you might want to look at "Choosing a Language for Interactive Fiction" at ONLamp.com http://tinyurl.com/4d75h or Roger Firth's "Cloak of Darkness" http://www.firthworks.com/roger/cloak/. The IF Language Comparison
http://webhome.idirect.com/~dswxyz/compare.html puts snippets of code side-by-side, which may help to clarify in choosing a programming language that suits your style.

The Interactive Fiction Wiki http://www.ifwiki.org/ is a good stepping-off point and the Usenet group rec.arts.int-fiction or "r.a.i.f." http://tinyurl.com/k3bxo is inhabited by IF authors and the developers of the programming languages.

IF Tutorials Are Your Thing

If you're the sort of personal who learns best by example, you might be interested in the various tutorials that are available. Alice http://www.inform-fiction.org/examples/alice.html is a tutorial for Inform 6 based on the opening scene of Through the looking-glass, Mark Engelberg has an extensive TADS tutorial http://users.abac.com/MeriBird/TADS/Tutorial/, or if ADRIFT sounds more like your thing you might want to flick through the ADRIFT Topic Tutorial System http://www.thephurroughs.com/projects/atts/.

But there's no substitute for a good manual and they are available for all systems. Of particular note is the Inform Designer's Manual http://www.inform-fiction.org/manual/about_dm4.html and the TADS Author's Manual http://www.tads.org/download.htm#docs, both of which are practically required reading for IF authors regardless of their programming language of choice.

And there are plenty of helpful code snippets to be found all over the place and advice from experienced hands on r.a.i.f.

Oh yeah — and you should play IF. There are hundreds of stories available on the IF archive, so download a few and give them a try. You wouldn't expect to write a novel without knowing what a novel is, and neither should you expect to write good IF until you start to get a bit of a feel for it.

Please Release Me

After a while you might feel you've got an IF story that you'd like to share with others. But where do you take it to get it seen and played?

Since 1995 many of the authors of interactive fiction have sharpened their skills preparing entries for the annual Interactive Fiction Competition http://www.ifcomp.org/. The rules are pretty simple and they boil down to this: entries must be a previously unreleased stories that can be completed in about two hours. And some really excellent games have come out of the competition. Another competition that specifically aims to produce excellent games is the Spring Thing http://www.springthing.net/ which has been running since 2002. The IF Competition happens in September-October, while the Spring Thing is in April.

However, not everyone thinks competition is the best way to foster good interactive fiction, and for games that haven't been entered in a competition there is the Interactive Fiction Review Conspiracy
http://www.plover.net/~textfire/conspiracy/.

Writing interactive fiction is a stimulating exercise in both programming and creative writing. And the IF community provides plenty of tools, documentation, and opportunities to share your work.

Playtime


There's very little required to start playing with interactive fiction: install an interpreter and download some game files then you're ready to roll.

To play TADS games you'll need the TADS Player's Kit, which you can find on the IF archive in the folder http://www.ifarchive.org/if-archive/programming/tads2/executables/ . The Windows version of the kit is htads_playkit-259.exe, for Linux try qtads-1.6c-qt3.3.x.tar.gz, and on Mac aQuaTads1.6c.dmg is the go.

What's the story?

Next you'll need to get hold of some story files. Here are some suggestions.

For TADS:  For Inform:

Say "HELP"

More information on getting started with playing IF can be found on the Web at sites such as Emily Short's introduction http://ernshort.home.mindspring.com/introduction.html or the Beginner's Guide at Brass Lantern http://brasslantern.org/beginners/beginnersguide.html. "How to play Interactive Fiction and Text Adventure Games" by Stephen Griffiths is a few years old but the information still holds http://users.actrix.co.nz/stevgrif/howplay.htm.

 

Reprinted from the June 2006 issue of PC Update, the magazine of Melbourne PC User Group, Australia

[ About Melbourne PC User Group ]