Claim set · data/claims/adventure.yaml

Colossal Cave Adventure (Open Adventure 1.22, a port of Adventure 2.5)

Game: Colossal Cave Adventure.

Open Adventure, the C port of Crowther and Woods's Adventure 2.5 (1995), refuses any input of more than two words, answering “Please stick to 1- and 2-word commands.” It matches each word against its vocabulary on the first five letters only, ignoring case, and the instructions it shows a player who asks for them say to type “ne” for northeast, since “northeast” would read as “north”. adventure/two-words

About: Colossal Cave Adventure Text parser

Value
{
 "words": 2,
 "letters": 5
}
CodeOpen Adventure 1.22 source code · misc.c#L567-L571if (word_count(input) > 2) {Open Adventure 1.22 source code · adventure.yaml#L2920- TWO_WORDS: 'Please stick to 1- and 2-word commands.'Open Adventure 1.22 source code · advent.h#L22#define TOKLEN 5 // # outputting characters in a token */Open Adventure 1.22 source code · misc.c#L401-L402if (strncasecmp(word, objects[i].words.strs[j], TOKLEN) == 0) {Open Adventure 1.22 source code · misc.c#L384-L385if (strncasecmp(word, motions[i].words.strs[j], TOKLEN) == 0 &&Open Adventure 1.22 source code · adventure.yaml#L2861-L2863I should warn you that I look at only the first five letters of each word, so you'll have to enter "northeast" as "ne" to distinguish it from "north".Checked by claude, 2026-10-22 — read get_command_input (word_count counts blank- or tab-separated runs), the TWO_WORDS message, TOKLEN, and the motion, object, and action lookups, which all compare with strncasecmp up to TOKLEN

In oldstyle mode (-o) the motion and action lookups also skip certain one-letter words (misc.c L386-L388); the default mode doesn't. Open Adventure no longer truncates unrecognized words to five letters when it echoes them, unless -o is given (notes.adoc).

Cited by: Colossal Cave Adventure, Text parser

In Open Adventure (Adventure 2.5) the lamp's limit starts at 330 turns, or 1,000 if the player answers yes to “Would you like instructions?” Once per command, while the lamp is lit, the limit drops by 1; the check runs at the end of the cave-closing check, which returns before it on the turn the cave starts to close and the turn it closes. At 30 or below, fresh batteries in the room or carried, with the lamp also here, are used up and add 2,500; otherwise the game warns once. At 0 the lamp goes dark. adventure/lamp

About: Colossal Cave Adventure Light-source timer

Value
{
 "start": 330,
 "withInstructions": 1000,
 "warnAt": 30,
 "batteries": 2500
}
CodeOpen Adventure 1.22 source code · advent.h#L27-L32#define BATTERYLIFE 2500 // turn limit increment from batteriesOpen Adventure 1.22 source code · init.c#L26.loc = LOC_START, .limit = GAMELIMIT, .foobar = WORD_EMPTY,Open Adventure 1.22 source code · main.c#L1543-L1548game.limit = NOVICELIMIT;Open Adventure 1.22 source code · adventure.yaml#L2935- WELCOME_YOU: 'Welcome to Adventure!! Would you like instructions?'Open Adventure 1.22 source code · main.c#L874-L875if (game.objects[LAMP].prop == LAMP_BRIGHT) { --game.limit;Open Adventure 1.22 source code · main.c#L884-L901game.limit += BATTERYLIFE;Open Adventure 1.22 source code · main.c#L913-L915game.objects[LAMP].prop = LAMP_DARK;Open Adventure 1.22 source code · main.c#L1044lampcheck();Open Adventure 1.22 source code · main.c#L1321-L1326if (closecheck()) {Checked by claude, 2026-10-22 — read the limit defines, the initial game state, the novice branch after the welcome question, lampcheck (L872-L921), its call at the end of closecheck (whose returns at L990 and in the clock2 branch skip it), and the command loop's ++game.turns before closecheck; HERE() is at the location or carried (advent.h L113)

game.limit doubles as the turn limit: the comments call it the “lifetime of lamp” (advent.h L213). Answering yes to the instructions costs 5 points (score.c L116-L118).

Cited by: Colossal Cave Adventure, Light-source timer

Open Adventure (Adventure 2.5) refuses to take an object while 7 are already carried: “You can't carry anything more. You'll have to drop something first.” The bird doesn't count, a fix of the original's counting the caged bird as two items. adventure/carry-limit

About: Colossal Cave Adventure Inventory limit

Value: 7 objects

CodeOpen Adventure 1.22 source code · advent.h#L25#define INVLIMIT 7 // inventory limit (# of objects)Open Adventure 1.22 source code · actions.c#L386-L388if (game.holdng >= INVLIMIT) { rspeak(CARRY_LIMIT);Open Adventure 1.22 source code · adventure.yaml#L2945- CARRY_LIMIT: 'You can''t carry anything more. You''ll have to drop something first.'Open Adventure 1.22 source code · misc.c#L672-L674if (object != BIRD) { ++game.holdng; }Open Adventure 1.22 source code · notes.adoc#L57* The caged bird used to be counted as two items in your inventory.Checked by claude, 2026-10-22 — read INVLIMIT, the check in the take action, carry() and drop() (both skip the bird), and the bug-fix list in notes.adoc

Cited by: Colossal Cave Adventure, Inventory limit

Open Adventure's score routine (Adventure 2.5) tallies 430 points in its comment, 298 of them for treasures (computed: 60 + 14 + 224). Each treasure gives 2 points once found, and the rest of its worth (12 for treasures numbered before the chest, 14 for the chest, 16 for those after it) while it lies in the building in its found state, so a broken one doesn't pay. adventure/score

About: Colossal Cave Adventure Treasure score

Value: 430 points

CodeOpen Adventure 1.22 source code · score.c#L18-L35* TOTAL: 430Open Adventure 1.22 source code · score.c#L37-L38First tally up the treasures. Must be in building and not broken.Open Adventure 1.22 source code · score.c#L44-L58if (game.objects[i].place == LOC_BUILDING && OBJECT_IS_FOUND(i)) { score += k - 2;Checked by claude, 2026-10-22 — read score() L13-L130: the comment's table, the treasure loop (k is 12, 14 for CHEST, 16 past it), and the found and stashed macros (advent.h L72-L80); summed the comment's treasure rows

The rest of the 430 is for getting into the cave, surviving, not quitting, the cave closing and the endgame, and Witt's End. Hints, the instructions, slow play, and saving deduct points.

Cited by: Colossal Cave Adventure, Treasure score

In Open Adventure (Adventure 2.5), each dwarf that was already in the hero's location before the dwarves moved throws a knife, which hits if a roll of 0–999 is below 95 × (dflag − 2). The first volley always misses, at dflag 2; it raises dflag to 3, so each later knife hits 9.5% of the time (computed). Feeding a dwarf while food is here adds 2 to dflag, so 28.5% after one feeding (computed). Any hit kills the hero. adventure/dwarf-knives

About: Colossal Cave Adventure Hit chance

Value: 0.095 chance per knife

CodeOpen Adventure 1.22 source code · main.c#L312-L313/* Dwarves move. Return true if player survives, false if he dies. */Open Adventure 1.22 source code · main.c#L437-L444if (randrange(1000) < 95 * (game.dflag - 2)) {Open Adventure 1.22 source code · main.c#L457-L458if (game.dflag == 2) { game.dflag = 3;Open Adventure 1.22 source code · main.c#L469-L473game.oldlc2 = game.loc; return false;Open Adventure 1.22 source code · advent.h#L198-L2023 A knife has been thrown (first set always misses) 3+Open Adventure 1.22 source code · actions.c#L716-L719if (HERE(FOOD)) { game.dflag += 2;Checked by claude, 2026-10-22 — read dwarfmove (L311-L475): a dwarf that has seen the hero moves to the hero's location, and attacks when its old location was already that one; randrange(n) is 0..n-1 (misc.c L774-L777); the only other dflag writes are the activation steps 0 to 1 to 2 (L335-L350) and the feed action

The feed branch is the dwarf case of the feed action (actions.c L691, L716); throwing food is routed to feeding only for the bear (L1288-L1291). No existing hit-chance variant fits: the chance is flat, set by how angry the dwarves are, not by either side's stats.

Cited by: Colossal Cave Adventure

Eric S. Raymond's history in the Open Adventure repository dates Will Crowther's earliest version to 1976 on a PDP-10 at Bolt, Beranek and Newman, and Don Woods's expanded 350-point version to June 3, 1977 at the Stanford AI Lab; Crowther and Woods's own line ended with the 430-point Adventure 2.5 in 1995. adventure/versions

Code notesOpen Adventure 1.22 source code · history.adoc#L16-L17The very first version was released by Crowther in 1976, in FORTRAN on the PDP-10 at Bolt, Beranek, and Newman.Open Adventure 1.22 source code · history.adoc#L23-L26released on a PDP-10 at the Stanford AI Lab by Don Woods on June 3rd, 1977 (some sources erroneously say 1976). That version is sometimes known as 350-point Adventure.Open Adventure 1.22 source code · history.adoc#L28-L30This main line of development culminated in the 1995 release of Adventure 2.5, also known as 430-point Adventure

A secondary account by the port's maintainer, who says he had some details from Don Woods directly; the atlas hasn't read a primary source for these dates.

Cited by: Colossal Cave Adventure