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.
Reprinted from the June 2006 issue of PC Update, the magazine of Melbourne PC User Group, Australia