Colossal Cave Adventure (also known as ADVENT, Colossal Cave, or Adventure) (Crowther, 1976; Crowther & Woods, 1977) was the first computer adventure game. It was originally designed by Will Crowther, a programmer and keen caver, who based the layout on part of the Mammoth Cave system in Kentucky. The Colossal Cave subnetwork has many entrances, one of which is known as Bedquilt. Crowther reproduced portions of the real cave so faithfully that cavers who have played the game can easily navigate through familiar sections in the Bedquilt region on their first visit.
was a programmer
at Bolt, Beranek & Newman
, which developed the ARPANET
(a forerunner of the Internet
). Crowther was a caver
, who applied his experience in Mammoth Cave
) to create a game that he could enjoy with his young daughters.
Crowther had explored the Mammoth Cave in the early 1970s, and created a vector map based on surveys of parts of the real cave, but the text game is a completely separate entity, created during the 1975-76 academic year and featuring fantasy elements such as an axe-throwing dwarf and a magic bridge.
The version that is best known today was the result of a collaboration with Don Woods, a graduate student who discovered the game on a computer at Stanford University and made significant expansions and improvements, with Crowther's blessing. A big fan of Tolkien, he introduced additional fantasy elements, such as elves and a troll.
Until the 2007-2008 academic year, students at Stanford University were required to re-implement the game as an assignment in the first computer programming course.
Crowther's original game consisted of about 700 lines of Fortran
code, with about another 700 lines of data, written for BBN's PDP-10
. (See the original source code
) The program required about 60K words (nearly 300KB) of core memory in order to run, which was a significant amount for PDP-10/KA systems running with only 128K words.
In 1977, Jim Gillogly of the RAND Corporation spent several weeks porting the code from Fortran to C under Unix, with the agreement of both Woods and Crowther.
The game was also ported to Prime Computer's super-mini running PRIMOS in the late 1970s, utilising Fortran 4, and to IBM mainframes running VM/CMS in late 1978, utilizing PL/1.
Later versions of the game moved away from general purpose programming languages such as C or Fortran, and were instead written for special interactive fiction engines, such as Infocom's Z-machine.
Many versions of Colossal Cave have been released, mostly entitled simply Adventure, or adding a tag of some sort to the original name (e.g. Adventure II, Adventure 550, Adventure4+, ...). Microsoft released a version of Adventure with its initial version of MS-DOS 1.0 for the IBM PC (on a single sided disk, requiring 32KB of RAM). Russel Dalenberg's Adventure Family Tree page
provides the best (though still incomplete) summary of different versions and their relationships.
Until Crowther's original version was found, the "definitive original" was generally considered to be the version that Don Woods expanded in 1977. As part of that expansion, Woods added a scoring system that went up to 350 points. Extended versions with extra puzzles go up to 1000 points or more. The AMP MUD had a multi-player Colossal Cave.
Dave Platt's influential 550 points version was innovative in a number of ways. It broke away from coding the game directly in a programming language such as Fortran or C. Instead, Platt developed A-code — a language for adventure programming — and wrote his extended version in that language. The A-code source was pre-processed by an F77 "munger" program, which translated A-code into a text database, and a tokenised pseudo-binary. These were then distributed together with a generic A-code F77 "executive", also written in F77, which effectively "ran" the tokenised pseudo-binary.
Platt's version was also notable for providing a randomised variety of responses when informing the player that, e.g., there was no exit in the nominated direction, for introducing a number of rare "cameo" events, and for committing some outrageous puns.
Memorable words and phrases
"Xyzzy" is a magic word that teleports the player between two locations ("inside building" and the "debris room"). Entering the command from other locations produces the disappointing response "Nothing happens." As an in-joke, many later computer programs (not only games but also applications) include a hidden 'xyzzy' command -- the results of which range from the humorous to the straightforward.
Maze of twisty little passages
"You are in a maze of twisty little passages, all alike"
is a memorable line from the game, popular in hacker
culture (where "passages" may be replaced with a different word, as the situation warrants).
The "all alike" maze was created by Crowther; Woods created a second maze, described as "all different" . In the "all different" maze, the player's current location is described in eleven different ways:
- Little maze of twisting passages
- Little maze of twisty passages
- Little twisty maze of passages
- Maze of little twisting passages
- Maze of little twisty passages
- Maze of twisting little passages
- Maze of twisty little passages
- Twisting little maze of passages
- Twisting maze of little passages
- Twisty little maze of passages
- Twisty maze of little passages
Don Woods was doing doctoral research in graph algorithms, and he designed this maze as (almost) a complete graph, with two exceptions important to game play. One potential name variation, "little twisting maze of passages", is not used.
When the player first arrives at an area known as "Y2", the player receives the message A hollow voice says "plugh".
The magic word takes the player between the rooms "inside building" and "Y2".
Other memorable lines from the game are:
- Rubbing the electric lamp is not particularly rewarding. Anyway, nothing exciting happens.
- A huge green fierce snake bars the way!
- (When trying to kill the snake, a dragon, or such:) With what? Your bare hands?
- (When trying to kill the bear) With what? Your bare hands? Against his bear hands?
- (If you try to feed the bird:) It's not hungry (it's merely pinin' for the fjords). — a reference to Monty Python's Dead Parrot sketch
- (If you hit the bear after feeding it:) The bear is confused. He only wants to be your friend.
- The game responds to a frustrated player's swearing with watch it! and to commands to eat inappropriate things (e.g., the bird, the snake) with Yecch!
- A sign at a stone bridge warns, "Stop, pay troll."
Just as Don Woods picked up the development of Adventure where Crowther left off, other programmers continued the story in their own way.
Dave Platt's 550-point version of Colossal Cave
— perhaps the most famous variant of this game other than the original, itself a jumping-off point for many other versions including Michael Goetz's 581 point CP/M
version — included a long extension on the other side of the Volcano
View. Eventually, the player descends into a maze of catacombs and a "fake Y2". If the player says "plugh" here the player finds himself or herself transported to a "Precarious Chair" suspended in midair above the molten lava
. (The 581-point version was on SIGM011 from the CP/M Users Group
Some games recognize "plugh" and will respond to it, usually by making a joke. The adventure game Prisoner 2 contained a cavern with the word "PLUGH" written on the wall; if the player typed this word into the command parser, he was sent back to his starting point.
Down the hall from Platt, three programmers were developing a debugger for a commercial operating system (CP6). They added a command to show a stack trace, and called the command “plugh”. The command passed all internal reviews for release until a technical writer refused to allow a funny word that didn’t mean anything to be included in the product. A lengthy development meeting determined that plugh stood for “Procedure List Used to Get Here”.
Dave Platt's's 550-point F77 version had some memorable moments as well:
- Into view there bounces a horrible creature!! Six feet across, it resembles a large blob of translucent white jelly; although it looks massive, it is bouncing lightly up and down as though it were as light as a feather. It is emitting a constant throbbing sound, and it >ROAR
— this is a reference to Rover from The Prisoner
Platt also had a number of "cameos" — very rare random events of no consequence. For example:
- From the darkness nearby comes the sound of shuffling feet. As you turn towards the sound, a nine-foot cyclops ambles into the light of your lamp. The cyclops is dressed in a three-piece suit of worsted wool, and is wearing a black silk top-hat and cowboy boots and is carrying an ebony walking-stick. It catches sight of you and stops, seeming frozen in its tracks, with its bloodshot eye bulging in amazement and its fang-filled jaw drooping with shock. After staring at you in incredulous disbelief for a few moments, it reaches into the pocket of its vest and pulls out a small plastic bag filled with a leafy green substance, and examines it carefully. "It must be worth eighty pazools an ounce after all" mumbles the cyclops, who casts one final look at you, shudders, and staggers away out of sight.
Other versions added their own flavour to the proceedings.
- With extreme difficulty, you take down from the wall a seven foot high, twenty foot long, three hundred and sixty degree view of Mars taken from the Viking lander. — from the Witt's End extension in Mike Goetz's CP/M version (1983); this action would summon Rover (see above)
- I am sorry, but magic rug flying regulations specifically prohibit any activity other than (a) enjoying the view (recommended), (b) reviewing one's possessions (optional) and (c) clutching rug edges in sheer stomach-churning terror (not recommended). — from Mike Arnautov's 770-point version (2003)
- A tiny elf runs straight at you, shouts "Phuce!", and disappears into the forest.