Colossal Cave Adventure
Definition
Colossal Cave Adventure is a text adventure game that Will Crowther wrote in 1975–1976 on a PDP-10 computer at BBN. It drew inspiration from caves he had explored himself, in the Mammoth and Flint Ridge cave systems in Kentucky. Don Woods greatly expanded it in 1977. The player types short verb-and-noun commands, such as GET LAMP, and the game recognizes them using rigid rules written in advance, with no learning at all. The game spread over the ARPANET and influenced the next generation of adventure games, including Zork and Adventureland.
💡 Example
A player standing in a room with a lamp who types GET LAMP is told they took it. But a more polite request, such as "Could you please pick up the lamp for me?", would not work. The parser mainly reads the first two words it recognizes as a verb and a noun, not the rest of the sentence.
From a real cave to a PDP-10
Will Crowther worked at BBN (Bolt, Beranek and Newman) in Cambridge, Massachusetts. Among other things, he wrote assembly code for the original routers of the ARPANET. Rick Adams collects the game's code and history on his website. According to that site, Crowther wrote the original version in Fortran on a DEC PDP-10 computer, after his marriage ended in 1975. The game recreated the caves he himself had explored in the Mammoth and Flint Ridge systems in Kentucky, and added elements from fantasy role-playing games. The site if50.substack.com presents passages from the original code and explains them. According to it, even the first version included a dwarf with an axe who attacks the player and runs away, a locked grate opened with keys, and a bird that scares off a snake. According to Wikipedia, this 1976 version had about 700 lines of code plus another 700 lines of data, 66 "rooms" (locations) and a vocabulary of only 193 words.
The parser: a verb and a noun, nothing more
The player communicated with the game in commands of one or two words: a verb followed by a noun, like GET LAMP, or direction abbreviations like E for east. These abbreviations became a convention in the text adventures that followed. Crowther also added a magic word, XYZZY. In the original version it served as a shortcut for testing, and it instantly moves the player between two fixed locations in the game. Since then, many games and programs have hidden an "xyzzy" command of their own, as a tribute. To be clear: there was no language understanding here in today's sense. The parser compared the typed word to a closed, predefined list of known verbs and nouns. This is rigid pattern matching. It is a distant ancestor of the statistical intent recognition of language models, and very different from it.
Don Woods doubles the game
According to Rick Adams's site, in 1976 Don Woods was working at the Stanford Artificial Intelligence Laboratory (SAIL), and found a copy of Crowther's program on one of the university's computers. Wikipedia, on the other hand, says only that Woods found the game on a computer at the Stanford Medical School. According to Wikipedia, some of his source files were discovered in 2005 in an old backup of his student account at the AI lab. In other words, the sources do not fully agree on which computer he found the game on. Either way, Woods emailed Crowther at every possible ARPANET address, and got his permission. He then effectively doubled the size of the game. According to Wikipedia and if50.substack.com, he added a pirate who steals treasures, scoring and a winning condition (bringing the treasures back to the surface), the ability to save a game and return to it, and limited operating hours that system administrators could set. He also built a general system of containers for liquids, instead of a single water bottle. Alongside Crowther's original maze, the famous maze of "twisty little passages, all alike", Woods added a second maze in which each room is described differently. He also added wordplay, such as a giant clam that turns out to be a giant oyster. The final result had about 3,000 lines of code, 140 locations, a vocabulary of 293 words and 53 objects.
How the game spread
Crowther's version spread over the ARPANET without his intending it to. People installed it at night on research computers, without telling the computing staff. Jim Gillogly ported the game from Fortran to C for Unix, at the Rand Corporation. According to Wikipedia this happened in 1977 (Rick Adams's site gives 1976). Many Unix versions still run descendants of this version today. The game was also distributed by DECUS, DEC's user group. A Microsoft version was among the games released with the launch of the IBM PC in 1981. It was sometimes even used to test hardware, because it exercised many different parts of the code.
The influence: Zork, Adventureland and SHRDLU
Wikipedia describes the game as the first widely known work of interactive fiction. Because of this, it also gave its name to the whole genre (the adventure game). In 2019 the game was inducted into the World Video Game Hall of Fame. According to the same source, interactive fiction scholar Graham Nelson wrote that "for the five years to 1982 almost every game created was another 'Advent'". Its most direct influence was on two successors. The first is a team at MIT that wanted to build a more advanced language parser than Colossal Cave Adventure's two-word parser, and so Zork was born. The second is Scott Adams, who wrote Adventureland in 1978. The SHRDLU system, which came before Colossal Cave Adventure (1968–1970), had already tried to hold a natural-language conversation about a simulated world. But according to the SHRDLU entry on this site (in Hebrew), only with Colossal Cave Adventure did the genre take on a familiar, widespread form. This influence continues today. Text adventures have returned in a new form in tools like AI Dungeon, which understand any free-form sentence, not just a verb and a noun. But this "understanding" is fundamentally different: it is based on probabilities learned from huge amounts of text, not on a predefined list of known words like the one in Colossal Cave Adventure itself.
FAQ ❓
Who wrote Colossal Cave Adventure, and when?
Will Crowther wrote the original version in 1975–1976, on a PDP-10 computer at BBN. Don Woods expanded it in 1977, effectively doubling its size.
What does the magic word XYZZY do in the game?
It instantly moves the player between two fixed locations in the game. Since then it has become a common tribute: many programs and games have hidden an "xyzzy" command of their own, as a treat for those who know the original adventure.
Was the game's parser artificial intelligence in today's sense?
No. It compared the typed word to a closed, predefined list of known verbs and nouns. This is rigid pattern matching, not statistical learning. It is a distant ancestor of today's intent recognition and natural language processing, but without their ability to generalize.
How did the game influence Zork and Adventureland?
A team at MIT wanted a more advanced language parser than Colossal Cave Adventure's two-word parser, and built Zork as a result. Scott Adams wrote Adventureland under its influence in 1978.
Found a mistake, or have a source we should add? Write to us