Colossal Cave Adventure
|Colossal Cave Adventure|
Opening page of Will Crowther's original Adventure running on a PDP-10
|Developer(s)||William Crowther and Don Woods|
|Release date(s)||1976 (Crowther); 1977 (Woods)|
Colossal Cave Adventure (also known as ADVENT, Colossal Cave, or Adventure) is one of the earliest computer adventure games and a precursor form of role playing video game. The original version was designed by Will Crowther, a programmer and caving enthusiast who based the layout on part of the Mammoth Cave system in Kentucky.
Adventure presents the player with the opportunity to explore a mysterious cave that is rumored to be filled with riches. To explore the cave, the player types in one- or two-word commands to move their character through the cave, interact with objects in the cave, pick up items, and other actions. The game has a point system, whereby completing certain goals earns a number of predetermined points. The ultimate goal is to earn the maximum amount of points, which correlates to finding all the treasure there is to find in the game and safely leaving the cave.
Will Crowther was a programmer at Bolt, Beranek & Newman, which developed the ARPANET (a forerunner of the Internet). Crowther was an experienced caver, who applied his experience in Mammoth Cave (in Kentucky) 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 in 1976 discovered the game on a computer at Stanford University and during 1976–1977 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.
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 timesharing computer. The data included text for 78 map locations (66 actual rooms and 12 navigation messages), 193 vocabulary words, travel tables, and miscellaneous messages. On the PDP-10, the program loads and executes with all its game data in memory. It required about 60k words (nearly 300kB) of core memory, which was a significant amount for PDP-10/KA systems running with only 128k words.
Woods also developed his game in FORTRAN for the PDP-10. His work expanded Crowther's game to approximately 3000 lines of code and 1800 lines of data. The data consisted of 140 map locations, 293 vocabulary words, 53 objects (15 treasure objects), travel tables, and miscellaneous messages. Like Crowther's original game, Woods' game also executed with all its data in memory, but required somewhat less core memory (42k words) than Crowther's game.
The Adventure FORTRAN code took full advantage of the machine-dependent 36-bit architecture of the PDP-10. Each PDP-10 word (an integer) packed five 7-bit ASCII characters in the high order 35 bits of a 36-bit word, and programmers could compare integers in FORTRAN directly with five-character strings. This architecture was evident to the game player too, since the game only distinguished the first five characters of all the vocabulary words it understood. The "monitor" (TOPS-10) operating system for the PDP-10 also had the platform-dependent ability to save, restore, and restart execution of a program's core memory image, even after a program terminated, known today as application checkpointing. This feature was the original basis for saving, or suspending, an adventure game. Suspending a game in this manner saved an entire copy of the game program to disk, rather than just player specific data. These PDP-10 dependencies made it difficult to port the Crowther/Woods Adventure to other platforms.
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, generally titled simply Adventure, or adding a tag of some sort to the original name (e.g. Adventure II, Adventure 550, Adventure4+, ...). Large value numeric tags denoted the maximum score a player can achieve after playing a perfect game. Hence, Crowther/Woods Adventure, the first with a point scoring system, is also synonymous with Adventure 350. 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.
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. It can be found as part of the BSD Operating Systems distributions, or as part of the "bsdgames" package under most Linux distributions, under the command name "adventure".
The game was also ported to Prime Computer's super-mini running PRIMOS in the late 1970s, utilising FORTRAN IV, and to IBM mainframes running VM/CMS in late 1978, utilizing PL/I. In the late 1970s a freeware Commodore PET version was produced by Jim Butterfield; some years later this version was ported to the Commodore 64.
The Software Toolworks in 1981 released The Original Adventure. Endorsed by Crowther and Woods, it was the only version for which they received royalties. Microsoft released a version of Adventure in 1981 with its initial version of MS-DOS 1.0 as a launch title for the IBM PC, making it the first game available for the new computer. It was released on a single-sided 51⁄4 inch disk, required 32K RAM, and booted directly from the disk; it could not be opened from DOS. Microsoft's Adventure contained 130 rooms, 15 treasures, 40 useful objects and 12 problems to be solved. The progress of two games could be saved on a diskette.
A generic version of the game was developed in 1981 by Graham Thomson for the ZX-81 as the Adventure-writing kit. This stripped-down version had space for 50 rooms and 15 objects and was designed to allow the aspiring coder to modify the game and thus personalize it. The game's code was published in April 1982.
Dave Platt's influential 550 points version (released in 1984) 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 a FORTRAN 77 (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, for example, there was no exit in the nominated direction, introducing a number of rare "cameo" events, and committing some outrageous puns.
According to author Dale Peterson, Don Woods continued releasing updated editions through to at least the mid-1990s.
|This section does not cite any sources. (August 2014)|
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 is 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.)
Graham Nelson's Inform Designer's Manual presents "Advent" as the pioneer of the three-part structure typical of 1980s adventure games; he identifies the "prologue" with the aboveground region of the game "whose presence lends a much greater sense of claustrophobia and depth to the underground bulk of the game", the transition to the middle game as the "passage from the mundane to the fantastical", and the endgame or "Master Game".
Adventure is considered one of video gaming's most influential titles. It is considered the precursor of role-playing games. The game also directly inspired the creation of the adventure game genre. Adventure is cited by Scott Adams of Adventure International, the team of Dave Lebling, Marc Blank, Tim Anderson, Bruce Daniels, and Albert Vezza of Infocom, and Roberta and Ken Williams of Sierra Entertainment as influence for their initial adventure games, which would go on to become core titles for the genre. Glenn Wichman and Michael Toy state Adventure as an influence for their game Rogue in 1980, which would go on to become the namesake of the roguelike genre. Adventure also inspired the development of online multiplayer games like MUDs, the precursors of the modern-day MMORPG. The Atari 2600 video game Adventure was an attempt to create a graphical version of Adventure, and itself became the first known example of an action-adventure game, and introduced the fantasy genre to video game consoles.
Memorable words and phrases
Due to its influence, a number of words and phrases used in Adventure have become recurring concepts in later games.
"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. Explanations of the origin and meaning of the term are similarly wide-ranging, but Crowther has said "I made it up out of whole cloth just for the game", and "I was considering working for XEROX at the time, which probably suggested starting with an X."
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). This phrase came to signify a situation when whatever action is taken does not change the result. The line was used by Nick Montfort in the title for his book Twisty Little Passages: An Approach To Interactive Fiction, a history of the interactive fiction genre.
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 with each description providing a clue as to available exits from that particular point (e.g., "little maze of twisting passages" may have an exit north, while "maze of little twisty passages" may have exits north and south):
- 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
When the player arrives at a location known as "Y2", the player may (with 25% probability) receive the message "A hollow voice says 'PLUGH'." This magic word takes the player between the rooms "inside building" and "Y2". A popular theory is that the word is short for "plughole" (allegedly a caver term) but no evidence supports this claim, and the game does not feature a plughole in this location.
Some other 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. The TRS-80 adventure game Haunted House – one of the few commercial adventure games playable with only 4K of RAM – requires the player to type PLUGH to enter the haunted house. If the player types PLUGH inside the haunted house, the game replies, "Sorry, only one PLUGH per customer." Another TRS-80 game, Bedlam, replies to PLUGH with "You got better."
In popular culture
Adventure is a key plot point in episode 5 of the AMC TV series, Halt and Catch Fire, a period drama taking place in the early days of the personal computing revolution. The chief software designer uses the game as a competency test to determine which programmers will remain on the team. Those who hack the code and find the backdoors are retained.
- Crowther, 1976; Crowther & Woods, 1977.
- Jerz, Dennis (2007). "Somewhere Nearby is Colossal Cave: Examining Will Crowther's Original "Adventure" in Code and in Kentucky". Digital Humanities Quarterly.
- Montfort, Nick (2003). Twisty Little Passages: An Approach To Interactive Fiction. Cambridge: The MIT Press. ISBN 0-262-13436-5
- Rick Adams. "Here's where it all began…". The Colossal Cave Adventure page.
- "L’avventura è l’avventura » Interactive Fiction? I prefer Adventure". Avventuretestuali.com. Retrieved 2012-01-29.
- Crowther W., Crowther's original FORTRAN source code for Adventure, 1976
- Crowther W., Woods D., PDP-10 FORTRAN source code advent-original.tar.gz, 1977
- Crowther W., Woods D., PDP-10 FORTRAN source code adv350-pdp10.tar.gz, 1977
- Russel Dalenberg (March 20, 2004). "Adventure Family Tree" (ASCII Art).]
- "Adventure: Crowther's original source code found; photos from inside the real Colossal Cave".
- Bilofsky, Walt. "What year did I write my first computer program? (Hint: Vacuum tubes.)". Walt's Home Page. Retrieved 30 September 2014.
- Lemmons, Phil (October 1981). "The IBM Personal Computer / First Impressions". BYTE. p. 36. Retrieved 19 October 2013.
- "IBM Archives: Product fact sheet". 03.ibm.com. 1981-08-12. Retrieved 2012-01-29.
- Thompson, Graham. Scot, Duncan, ed. Adventure. Your Computer. Vol.2, No.4. Pp.24-27. April 1982.
- Peterson, Dale: "Genesis II: Creation and Recreation with Computers", (1983)
- Graham, Nelson (2001). The Inform Designer's Manual (PDF). Dan Sanderson. p. 375-382. ISBN 0-9713119-0-0.
- Staff (January 17, 2016). "The most important PC games of all time". PC Gamer. Retrieved January 19, 2016.
- "Scott Adams Adventureland". Archived from the original on 19 July 2008. Retrieved 10 July 2008.
- Sloane, Sarah (2000), Digital Fictions: Storytelling in a Material World, Greenwood Publishing Group, p. 77, ISBN 978-1-56750-482-8, retrieved 18 July 2008
- Demaria, Rusel; Wilson, Johnny L. (2003), High Score!: The Illustrated History of Electronic Games, McGraw-Hill Professional, pp. 134–135, ISBN 978-0-07-223172-4
- Craddock, David L (August 5, 2015). "Chapter 2: "Procedural Dungeons of Doom: Building Rogue, Part 1"". In Magrath, Andrew. Dungeon Hacks: How NetHack, Angband, and Other Roguelikes Changed the Course of Video Games. Press Start Press. ISBN 0-692-50186-X.
- Connelly, Joey. "Of Dragons and Easter Eggs: A Chat With Warren Robinett". The Jaded Gamer. Retrieved March 2, 2014.
- Buchana, Levi (August 26, 2008). "Top 10 Best-Selling Atari 2600 Games". IGN.
- Rick Adams. "Everything you ever wanted to know about ... the magic word XYZZY". The Colossal Cave Adventure page.
- David Welbourn. "plugh responses". A web page giving responses to "plugh" in many games of interactive fiction
- "plugh.com". plugh.com. 1997-02-27. Retrieved 2012-01-29.
- http://tvtropes.org/pmwiki/pmwiki.php/Series/HaltAndCatchFire author=multiple
|Wikiquote has quotations related to: Colossal Cave Adventure|
|Wikimedia Commons has media related to Category:Colossal Cave Adventure.|
- Colossal Cave Adventure Page
- Baf's Guide to the IF Archive with downloadable versions for many platforms.
- Jerz, Dennis G. (2007). "Somewhere Nearby is Colossal Cave: Examining Will Crowther's Original 'Adventure' in Code and in Kentucky". Digital Humanities Quarterly. The Alliance of Digital Humanities Organizations. Retrieved 2007-08-11.
- Crowther's original source code for Adventure (as recovered from Don Woods' student account at Stanford)
- Windows executable version of Crowther's original ADVENT
- iPod version of Colossal Cave Adventure
- Mac OS X version of Colossal Cave Adventure
- DEC PDP/8 OS/8 version of Colossal Cave Adventure
- Mike Arnautov's Adv770, an actively (as of 2015) maintained version of Adventure for Linux, Mac OS and Windows.
- IBM Archive: IBM Information Systems Division fact sheet distributed to the press on August 12, 1981.