On this page
  1. Related
  2. Mechanics
  3. References
  4. Sources

The atlas reads Open Adventure 1.22, a C port of Adventure 2.5, the 430-point version Will Crowther and Don Woods finished in 1995. Raymond’s history dates Crowther’s earliest version to 1976 and Woods’s 350-point version to 19771. The rules below are Open Adventure’s, which follow 2.5 except where a claim notes a fix.

The parser refuses more than two words and reads the first five letters of each, so “northeast” has to be typed “ne”2. The lamp lasts 330 lit turns, or 1,000 for a player who asks for instructions, and fresh batteries add 2,5003. The player can carry 7 objects4.

The score routine tallies 430 points; a treasure gives 2 when found and the rest of its worth while it lies in the building, unbroken5. Dwarves throw knives: the first volley always misses, later knives hit 9.5% of the time (computed), and one hit kills6.

Mechanics

MechanicKindHow
Text parserVerb and nounat most two words, each matched on its first five letters
Light-source timerRefillable count330 lit turns, or 1,000 with instructions; fresh batteries add 2,500
Inventory limitObject count7 objects, the bird not counted
Treasure scoreFind, then deposit2 points for finding a treasure, the rest of its 12 to 16 while it lies in the building
Hit chanceFlat chancea dwarf's knife hits 9.5% of the time after the first volley, more once the dwarves are fed
Every claim about this game, by concept (6)
generalEric 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.Code notes
Hit chanceIn 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.Code
Inventory limitOpen 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.Code
Light-source timerIn 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.Code
Text parserOpen 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”.Code
Treasure scoreOpen 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.Code

References

  1. ^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.Code notesOpen Adventure 1.22
    How we know
    16The very first version was released by Crowther in 1976, in FORTRAN on
    
    history.adoc lines 16–17 at e616052 · upstream ↗
    24released on a PDP-10 at the Stanford AI Lab by Don Woods on June 3rd,
    251977 (some sources erroneously say 1976). That version is sometimes
    26known as 350-point Adventure.
    
    history.adoc lines 23–26 at e616052 · upstream ↗
    30in the 1995 release of Adventure 2.5, also known as 430-point Adventure
    
    history.adoc lines 28–30 at e616052 · upstream ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-22.

    In the claim ledger

  2. ^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”.CodeOpen Adventure 1.22revised
    How we know
    567		if (word_count(input) > 2) {
    
    misc.c lines 567–571 at e616052 · upstream ↗
    2920- TWO_WORDS: 'Please stick to 1- and 2-word commands.'
    
    adventure.yaml line 2920 at e616052 · upstream ↗
    22#define TOKLEN 5          // # outputting characters in a token */
    
    advent.h line 22 at e616052 · upstream ↗
    401			if (strncasecmp(word, objects[i].words.strs[j],
    402			                TOKLEN) == 0) {
    
    misc.c lines 401–402 at e616052 · upstream ↗
    384			if (strncasecmp(word, motions[i].words.strs[j],
    385			                TOKLEN) == 0 &&
    
    misc.c lines 384–385 at e616052 · upstream ↗
    2862      you that I look at only the first five letters of each word, so you'll
    2863      have to enter "northeast" as "ne" to distinguish it from "north".
    
    adventure.yaml lines 2861–2863 at e616052 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-22.

    Revised after a check by a second AI model, 2026-10-22.

    In the claim ledger

  3. ^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.CodeOpen Adventure 1.22
    How we know
    32#define BATTERYLIFE 2500  // turn limit increment from batteries
    
    advent.h lines 27–32 at e616052 · upstream ↗
    26    .loc = LOC_START,       .limit = GAMELIMIT,      .foobar = WORD_EMPTY,
    
    init.c line 26 at e616052 · upstream ↗
    1547			game.limit = NOVICELIMIT;
    
    main.c lines 1543–1548 at e616052 · upstream ↗
    2935- WELCOME_YOU: 'Welcome to Adventure!!  Would you like instructions?'
    
    adventure.yaml line 2935 at e616052 · upstream ↗
    874	if (game.objects[LAMP].prop == LAMP_BRIGHT) {
    875		--game.limit;
    
    main.c lines 874–875 at e616052 · upstream ↗
    900			game.limit += BATTERYLIFE;
    
    main.c lines 884–901 at e616052 · upstream ↗
    915		game.objects[LAMP].prop = LAMP_DARK;
    
    main.c lines 913–915 at e616052 · upstream ↗
    1044	lampcheck();
    
    main.c line 1044 at e616052 · upstream ↗
    1326			if (closecheck()) {
    
    main.c lines 1321–1326 at e616052 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-22.

    Checked by a second AI model, 2026-10-22.

    In the claim ledger

  4. ^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.CodeOpen Adventure 1.22
    How we know
    25#define INVLIMIT 7        // inventory limit (# of objects)
    
    advent.h line 25 at e616052 · upstream ↗
    386	if (game.holdng >= INVLIMIT) {
    387		rspeak(CARRY_LIMIT);
    
    actions.c lines 386–388 at e616052 · upstream ↗
    2945- CARRY_LIMIT: 'You can''t carry anything more.  You''ll have to drop something first.'
    
    adventure.yaml line 2945 at e616052 · upstream ↗
    672		if (object != BIRD) {
    673			++game.holdng;
    
    misc.c lines 672–674 at e616052 · upstream ↗
    57* The caged bird used to be counted as two items in your inventory.
    
    notes.adoc line 57 at e616052 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-22.

    Checked by a second AI model, 2026-10-22.

    In the claim ledger

  5. ^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.CodeOpen Adventure 1.22
    How we know
    33	 *                                       TOTAL:   430
    
    score.c lines 18–35 at e616052 · upstream ↗
    First tally up the treasures. Must be in building and not broken.
    score.c#L37-L38 · upstream ↗
    55			if (game.objects[i].place == LOC_BUILDING &&
    56			    OBJECT_IS_FOUND(i)) {
    57				score += k - 2;
    
    score.c lines 44–58 at e616052 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-22.

    Checked by a second AI model, 2026-10-22.

    In the claim ledger

  6. ^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.CodeOpen Adventure 1.22
    How we know
    313	/* Dwarves move.  Return true if player survives, false if he dies. */
    
    main.c lines 312–313 at e616052 · upstream ↗
    442			if (randrange(1000) < 95 * (game.dflag - 2)) {
    
    main.c lines 437–444 at e616052 · upstream ↗
    457	if (game.dflag == 2) {
    458		game.dflag = 3;
    
    main.c lines 457–458 at e616052 · upstream ↗
    472	game.oldlc2 = game.loc;
    473	return false;
    
    main.c lines 469–473 at e616052 · upstream ↗
    3 A knife has been thrown (first set always misses) 3+
    advent.h#L198-L202 · upstream ↗
    717		if (HERE(FOOD)) {
    718			game.dflag += 2;
    
    actions.c lines 716–719 at e616052 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-22.

    Checked by a second AI model, 2026-10-22.

    In the claim ledger

Sources

Code