advent [-l logfile] [-o] [-r savefile] [-s]


The original Colossal Cave Adventure from 1976-77 was the origin of all later text adventures, dungeon-crawl (computer) games, and computer-hosted roleplaying games.

This is the last version released by Crowther & Woods, its original authors, in 1995. It has been known as "adventure 2.5" and "430-point adventure". To learn more about the changes since the 350-point original, type news at the command prompt.

There is an adventure in the BSD games package that is a C port by Jim Gillogly of the 1976 ancestor of this game. To avoid a name collision, this game builds as advent, reflecting the fact that the PDP-10 on which the game originally ran limited filenames to 6 characters.

This version is released as open source with the permission and encouragement of the original authors.

Unlike the original, this version supports use of your arrow keys to edit your command line in place. Basic Emacs keystrokes are supported, and your up/down arrows access a command history.

Otherwise, the "version" command is about the only way to tell you’re not running Don’s original.

To exit the game, type Ctrl-D (EOF).

There have been no gameplay changes.



Log commands to specified file.


Restore game from specified file


Old-style. Restores original interface, no prompt or line editing. Also ignores new-school one-letter commands l, x, g, z, i. Also case-smashes and truncates unrecognized text when echoed.


The binary save file format is fragile, dependent on your machine word size and endianness, and unlikely to survive through version bumps. There is a version check.

The input parser was the first attempt ever at natural-language parsing in a game and has some known deficiencies. While later text adventures distinguished between transitive and intransitive verbs, Adventure’s grammar distinguishes only between motion and action verbs. Motions are always immediate in their behavior, so both ACTION MOTION and MOTION ACTION (and even MOTION NOUN and MOTION MOTION) are invariably equivalent to MOTION (thus GO NORTH means NORTH and JUMP DOWN means JUMP). Whereas, with actions and nouns, the parser collects words until it’s seen one of each, and then dispatches; if it reaches the end of the command without seeing a noun, it’ll dispatch an "intransitive" action. This makes ACTION1 ACTION2 equivalent to ACTION2 (thus TAKE INVENTORY means INVENTORY), and NOUN ACTION equivalent to ACTION NOUN.

Thus you get anomalies like "eat building" interpreted as a command to move to the building. These should not be reported as bugs; instead, consider them historical curiosities.


Report bugs to Eric S. Raymond <>. The project page is at


wumpus(6), adventure(6), zork(6), rogue(6), nethack(6).