Colossal Cave Adventure
|
Adventure (also known as ADVENT or Colossal Cave) (Crowther & Woods, 1976) was the first computer adventure game. It was originally designed by Will Crowther, a programmer and keen caver, and is based on the layout of parts of the Mammoth Cave system in Kentucky. Most specifically, the name of the cave in the game comes from the section of the complex called "Colossal Cave", but the actual map layout is a remarkably faithful reproduction of the nearby "Bedquilt Cave" (which gives its name only to one particular room/passage in the game). This reproduction is apparently so faithful that experienced cavers who have played the game but never seen the cave have been able to find their way around significant parts of Bedquilt.
Contents |
History
Will Crowther was a programmer at the legendary Bolt, Beranek & Newman, who developed the ARPANET (the forerunner of the Internet). Crowther was a caver, who applied his experience in Mammoth Cave (in Kentucky) to create a game that he could enjoy with his young daughters. [1] (http://www.rickadams.org/adventure/a_history.html) Crowther had explored the Mammoth Cave in 1972, and created a vector map based on surveys of parts of the real cave, but the text game is a completely separate entity, created around 1975 and featuring more fantasy elements, such as axe-throwing dwarves.
The version that is known today was created in 1976 by Don Woods, another programmer, who discovered the game on his company's machine and made a number of improvements to it, with Crowther's blessing. A big fan of Tolkien, he introduced several elements from his stories, such as elves, trolls, and a volcano.
Technology
The original Colossal Cave Adventure was written in Fortran. This wasn't the ideal language due to weaknesses in its treatment of character strings, but it was the only language available on BBN's PDP-10 and so was the one used. The program required almost 300 KB of main memory in order to run, which was tremendous at that time.
In 1976, Jim Gillogly of the RAND Corporation spent several weeks on porting the code from Fortran to C under Unix, with the agreement of both Woods and Crowther.
Later versions of the game no longer used general purpose programming languages such as C or Fortran, but were written instead using special interactive fiction frameworks or languages.
Later versions
Many versions of Colossal Cave have been released over the years, mostly entitled simply Adventure, or adding a tag of some sort to the original name (e.g. Adventure II, Adventure 550, Adventure4+...). Russel Dalenberg's Adventure Family Tree (http://home.mindspring.com/~ged4/www/advent.html) page provides the best (though still incomplete) summary of different versions and their relationships.
Because Crowther's original version is apparently lost [2] (http://jerz.setonhill.edu/if/canon/Adventure.htm), the 350 point version is held to be the "definitive original". Extended versions with extra puzzles go up to 770 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 & phrases
Maze of twisty little passages
"You are in a maze of twisty little passages, all alike" is a memorable line from the game. Among hackers it is sometimes modified to refer to something other than passages that one can be lost in.
In another part of the game, the player is in a maze of passages that are different, not alike. In this maze, the phrase maze of twisty little passages is varied into twelve slightly different formulations, one for each location:
- Maze of twisty little passages
- Twisty maze of little passages
- Little twisty maze of passages
- Maze of little twisty passages
- Little maze of twisting passages
- Little maze of twisty passages
- Twisting maze of little passages
- Twisty little maze of passages
- Twisting little maze of passages
- Maze of little twisting passages
- Maze of twisting little passages
- Little twisting maze of passages
plugh
When you first arrive at an area known as "Y2", you receive the message A hollow voice says "plugh". The magic word takes you between the rooms "inside building" and "Y2".
All vocabulary words of the original game were truncated at five characters, and it is sometimes claimed that "plugh" is actually the truncated "plughole", which would be in keeping with the speleological theme of the game.
Dave Platt and Ralph Witt'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, you descended into a maze of catacombs and a "fake Y2". If you said "plugh" here you found yourself 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, 1984.)
Some games recognize "plugh" and will respond to it, usually by making a joke.
Down the hall from Platt in those days, 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”.
xyzzy
xyzzy was a magic word found in the game. It has later been used as a metasyntactic variable by hackers and as a marker in program sources for known-incorrect or incomplete code.
xyzzy in other games
Many other interactive fiction games contain responses to the command XYZZY as a tribute to Adventure. Zork, for example, replies with:
- A hollow voice says, "Fool".
while more recent games have shown a trend of increasingly more elaborate and in-jokey responses.
The XYZZY Awards are presented annually by XYZZYnews editor Eileen Mullin to notable works of interactive fiction.
xyzzy is a Microsoft Minesweeper cheat
xyzzy was the old code for the strange leaflet quest in Kingdom of Loathing.
xyzzy is used to enable cheats in Road Rash.
XYZZY is used as the name for a hidden attribute used to store passwords in PennMUSH.
xyzzy in cross products
xyzzy is taught by math teachers the world around as a mnemonic device to remember how to do cross products.
If <math>A = BC<math>, where <math>A<math>, <math>B<math>, and <math>C<math> are the vectors (<math>A_x<math>, <math>A_y<math>, <math>A_z<math>),(<math>B_x<math>, <math>B_y<math>, <math>B_z<math>) and (<math>C_x<math>, <math>C_y<math>, <math>C_z<math>), then:
- <math>A_x = B_yC_z - B_zC_y<math>
- <math>A_y = B_zC_x - B_xC_z<math>
- <math>A_z = B_xC_y - B_yC_x<math>
Notice that the second and third equations can be obtained from the first by simply rotating the subscripts, x -> y -> z -> x. The problem, of course, is how to remember the first equation, and here xyzzy can be used.
xyzzy and computers
xyzzy is the default password for Apple Computer's Network Assistant. It was also the name of a user interface (client) on the VMS operating system for the EARN/BITNET Relay chat system (the forerunner of IRC).
On Digital Equipment Corporation's PDP-11/44 processor, the full (but undocumented) form of the console processor's "X" command is XYZZY. (This was introduced in Version 3 of the console code by a firmware programmer who'd obviously spent way too much time playing Adventure.)
Other lines
Other memorable lines from the game are:
- A huge green fierce snake bars the way!
- With what? Your bare hands? (refers to killing a dragon, etc.)
- It's not hungry (it's merely pinin' for the fjords). (if you try to feed the bird) (A reference to Monty Python's Dead Parrot sketch.)
Dave Platt's's influential 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<s loudly as it sees you. - 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); the denouement of this action follows: Mike Goetz's CP/M version (1983)
- 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)
See also
External links
- Colossal Cave Adventure (c.1975) (http://jerz.setonhill.edu/if/canon/Adventure.htm)
- A Java version of the Colossal Cave Adventure (http://www.astrodragon.com/zplet/advent.html)
- A C/CWEB version of the Colossal Cave Adventure (http://www-cs-faculty.stanford.edu/~knuth/programs/advent.w.gz)
- A web page giving responses to "xyzzy" in many games of interactive fiction (http://webhome.idirect.com/~dswxyz/sol/xyzzy.html)
- ADVENTURE step by step walkthrough (http://www.textfiles.com/100/adventur.txt)
- Download Infocom games here (http://infocom.gerf.org)
- Play Zork online (http://plugh.da.ru)
- The source code for David Platt's 550 point version (gzipped) (http://www.ifarchive.org/if-archive/games/source/advent-orig550.tar.gz)
- Rick Adams' Colossal Cave Adventure page (http://www.rickadams.org/adventure/), with downloadsde:Adventure (Spiel)