Let's play Zork + Colossal Cave Adventure

That is correct. The thief traverses indoor rooms in the order they appear in the (offscreen) ROOMS container. This is approximately the (reversed) order they appear in the source code. It’s not necessarily adjacent rooms; he jumps around the map a lot.

2 Likes

As it turns out, giving a treasure to the thief evidently is intended to have a special effect—it just doesn’t work. There is code in the game to temporarily reduce the thief’s battle strength (making the thief’s attacks less effective and the player’s attacks more effective) when you give him a treasure. It’s in the “the thief is taken aback by your unexpected generosity” code path. But due to a bug, or oversight, it doesn’t work as intended. See:

We’re going to be looking at this in some detail soon, when we get to the source code episodes. It was a big surprise to me to find that the thief in Zork teleports through rooms in a fixed order—I was convinced, while playing, that he had to use the same passages that were available to the player. On the other hand, in Adventure, the pirate is a special case of the dwarves, and uses much the same logic. The pirate/dwarf movement uses the ordinary cave passages, and is essentially a random walk with some restrictions (like never returning to the room they just came from, unless there is no other option). If you want a sneak preview of the dwarf/pirate logic, see §§159–176 (“Dwarf stuff”) in the source code.

1 Like

Episode A11

We resumed attempts at the Perfect Run.

Attempt 3

We followed the same approximate plan as before, hoping for better luck. We decided to try carrying around at least one treasure while making our rounds, to give the pirate more opportunity to attack.

First trip: spices, chain, silver, diamonds, trident, magazine. (Depositing the trident was a mistake, as it is needed later for the pearl.)

Second trip: vase, eggs, emerald, rug.

Third trip: pyramid. We picked up the trident again to take back into the cave.

Fourth trip: trident, pearl, gold, jewelry, coins. But we held on to the coins, to give the pirate something to steal.

Fifth trip: we went out in search of the pirate. We checked the past game transcripts to see in what rooms we’ve encountered the pirate before:

Count Room
5 maze of twisty little passages, all alike
3 Hall of the Mountain King
2 unknown
1 N/S passage
1 soft room
1 south side chamber
1 steep incline above large room
1 Swiss cheese room

This time, we found the pirate in his maze, just one room away from the dead end where he hides the chest. We delivered the coins and the chest to the house. Our score was 276 points after delivering all the treasures and leaving the magazine at Witt’s End.

While waiting for the cave to close, we experimented more with the random exits from Bedquilt. Going north from Bedquilt has a chance to take you to a junction of three secret canyons, exiting to the north, south, and SE. North from the junction is a “window on pit”: the same one we’ve visited so often before? No—it’s the other side of the mirror canyon, at last! Southeast from the junction took us back to Bedquilt. We didn’t get a chance to try the south exit from the junction, as the cave closed and we were whisked to the endgame.

In the repository, we took the dynamite (the rod with the rusty mark) from the southwest end and dropped it there, at the southwest end. Then we moved to the northeast end and blasted. The result: the wall broke open and flooded the room with lava.

New personal best: 335/350 points, Master Adventurer Class A.

Topics mentioned:

2 Likes

There is one more minor bit of geography you haven’t seen, and this one isn’t wholely randomized like the Bedquilt thing. It does however, as you now know, have no real purpose in the game.

Episode Z12

Job one of this episode was to figure out what to do with the thief. We finally engaged in the scurrilous practice of save scumming, saving and reloading at a point just before the battle in order to try out different tactics.

As a side quest, we needed to find out how to open the jeweled egg. Our hunch was that we had to turn it over to an NPC (because we, the player, have “neither the tools nor the expertise”). But what NPC? The troll? The cyclops? The thief? The bat?

  • Give the egg to the troll: the troll eats it.
  • Give the rusty knife to the troll: the troll eats it.
  • Drop the rusty knife in front of a disarmed troll: nothing happens.
  • Give the egg to the cyclops: “The cyclops is not so stupid as to eat THAT!”

We staged every weapon imaginable in the Cyclops Room adjacent to the thief’s hideout. (We were missing the rusty knife, however.)

  • elven sword
  • bloody axe
  • nasty knife
  • crystal trident

During this setup, the thief stole the egg from us. Then commenced a sequence of battles:

Battle #1
"Trying to attack the thief with a crystal trident is suicidal."
Throw axe: the thief just accepts it.
Attack with sword: thief wins.
Battle #2
Automatically parry a turn-zero attack, losing knife.
Attack with axe, draw blood once, but eventually get disarmed.
Attack with sword, miss, thief wins.
Battle #3
Attack ineffectually with axe, get stunned and can't fight.
Retreat, give up.
Battle #4
Attack repeatedly with axe, lightly injure the thief once.
Automatically parry an attack with the nasty knife, losing it in the process.
Attack once more with axe, thief wins.
Battle #5
Attack with knife, temporarily disarm thief.
Attack with knife, miss, get knocked out.
Attack with knife, knock the thief unconscious!
Try to take the stiletto while he's out, but "the stiletto seems white-hot".
Then:
>dispatch thief with knife
The unconscious thief cannot defend himself: He dies.
Left behind were a chalice, a stiletto, and "a jewel-encrusted egg, with a golden clockwork canary".

The long-hoped-for victory stirs ambiguous emotions. Was fighting with the knife the key? In any case, the thief is the means by which you open the jeweled egg. You give the egg to the thief (or let it be stolen), the thief opens the egg offstage, and after you kill the thief you recover the now-open egg and the golden clockwork canary it contains.

The experience versus the thief was unsatisfying. It had really felt like it was meant to be a puzzle to solve, not brute-force randomness. The odds of victory in each attempt must be less than 50%. Are you meant to just go after the thief first thing every time, and keep restarting until you win by chance, before getting on with the rest of the game? It doesn’t jibe with our intuition about game design.

We fiddled with the granite wall in the treasure room to no effect. We attacked the sleeping cyclops; it just wakes him up. With the thief out of commission, the trap door in the living room no longer locks shut behind us.

We spent the rest of the run going around collecting and depositing treasure, to see how high we could get our score after defeating the thief. Nothing happens when you put the canary in the nest in the tree. But winding the canary, in the forest, summons the songbird, which drops off a minor treasure, a brass bauble. We took the canary, now free of its egg, to the coal mine, but it still doesn’t do anything.

Using the torch as a light source, we went off to try combining the Egyptian scarab with the Egyptian coffin. We had reached the conclusion, in the last episode, that it was not possible to get to the top of the waterfall, collect the scarab, and get back down, without first getting the sceptre (and therefore opening the coffin). But that was mistaken—it is possible, using the boat. From the buoy, go east to the sandy cave, get the scarab, return to the buoy, and land west to White Cliffs Beach south, from where you can re-enter the cave. We got the scarab, took it back to the undisturbed coffin, and abracadabra! it doesn’t do anything. But we learned that the golden coffin itself is a treasure, which requires a special move to get out of the underground.

New personal best: 251/350 points, rank of Adventurer.

Our modest proposal for improving Zork I:

  • Giving an enemy the rusty knife should work to defeat them.
  • The clockwork canary should do something in the coal mine.
  • You should be able to go through the drafty passage as a ghost.

Topics mentioned:

2 Likes

Partially.

Your odds of beating the thief are merely bad with the knife, as opposed to catastrophic with any other weapon.

However, the higher your score, the higher your combat bonus. (Points are “experience points” in some vague D&D sense.) So the correct answer is to attack the thief last.

With the thief out of commission, the trap door in the living room no longer locks shut behind us.

The trap door code does not check the thief status – in any version, as far as I know.

There’s a not-entirely-clear check for the TOUCHBIT flag, but I don’t think that’s related to the thief either.

2 Likes

I believe the logic is:

  • TOUCHBIT is set when the trapdoor is locked behind you
  • TOUCHBIT is cleared when you get back aboveground via the chimney in the studio or via resurrection
  • The trapdoor doesn’t get locked behind you if TOUCHBIT is set

So if you get back aboveground via any “unlimited” means (not the chimney with limited carrying capacity, or resurrection with limited uses), then the trapdoor no longer locks behind you. But because of the way it’s tracked, you can make it lock again if you use the chimney or resurrection, even if you’ve already opened the grate in the forest (etc).

2 Likes

Episode A12

We resumed attempts at the Perfect Run.

This time, we were not going to worry about trying to carry around a piece of treasure to be stolen by the pirate. Going into the pirate’s maze, as we did in the previous episode A11, had probably been a good idea, for reasons that will become more clear when we look at the source code.

Attempt 4

First trip: trident, spices, chain. We entered Witt’s End, having forgotten to first pick up the magazine. After trying many times to get out by going west, the game gave a hint: “Don’t go west.” We abandoned the run and restarted.

66/350 points, novice class adventurer.

Attempt 5

First trip: we dropped the magazine at Witt’s End. Getting out of Witt’s End took an amazing 43 attempts. Then we got the trident, spices, and chain, but lost them to the pirate in the Oriental Room. We pivoted to the emerald, vase, eggs, and silver. To conserve battery, we turned off the lamp while doing FEE FIE FOE FOO and while dropping treasures.

Second trip: we fended off a dwarf attack. We collected the diamonds, then lost them to the pirate again. Then we died to a two-dwarf pincer attack and had to restart.

122/350 points, “Experienced Adventurer”.

Attempt 6

First trip: trident, spices, chain, pearl, silver. We survived two dwarf attacks.

Second trip: magazine, emerald, then a pirate attack. We got the vase and eggs on the way to the pirate’s maze. We survived two dwarf attacks. The pirate got us once more, en route to the secret dead end. There we recovered the vase, eggs, chest, and emerald and took them to the building.

Third trip: pyramid, gold nugget, diamonds, jewelry, rug.

Fourth trip: coins.

While waiting for the cave to close, we re-entered the secret junction north of Bedquilt to explore the south exit. Descending the stalactite drops you into the all-alike maze.

In the last episode, in the repository, we dropped the dynamite at the SW end, moved to the NE end, then blasted. This time, we did the opposite: dropped the dynamite at the NE end, moved to the SW end, then blasted.

There is a loud explosion, and a twenty-foot hole appears in the far wall, burying the dwarves in the rubble. You march through the hole and find yourself in the main office, where a cheering band of friendly elves carry the conquering adventurer off into the sunset. You scored 350 points out of a possible 350, using 369 turns. All of Adventuredom gives tribute to you, Adventure Grandmaster! To achieve the next higher rating would be a neat trick! Congratulations!!

New personal best: 350/350 points, Adventure Grandmaster!

Topics mentioned:

3 Likes

Episode Z13

To begin we looked at a short “fastest eaten by a grue” tool-assisted speedrun we had developed. The speedrun shows that you can stack multiple commands in one line, by separating them with periods. The input to get eaten by a grue is s.e.open.in.u.u.

It felt like we had solved all the game’s essential mysteries—in isolation. Now it was time to put together the Perfect Run for Zork. We made a dependency chart showing which items must be collected before other items. With that, we drafted a rough and untested plan for collecting all the treasures. We scheduled the thief fight, with its high degree of randomness, early in the run, so we could restart without losing much progress every time the battle didn’t go our way.

Plan
* get egg
in house
take lunch and bottle
take lamp and sword
take rope and knife
down
fight troll with sword
drop sword and rope
maze to Cyclops
offer lunch
offer water
drop bottle
offer egg to thief
fight thief with knife
drop knife
* take egg
* take canary
* take chalice
maze to room S
* get coins
get key
maze to grating
unlock grating
up
wind canary
* get bauble
in house
deliver
_ egg
_ coins
_ chalice
_ canary
_ bauble

down
to dam
get matchbook
get wrench
get screwdriver
push yellow
turn bolt with wrench
drop wrench
get pump
inflate boat
launch boat
get buoy
land sandy beach
get shovel
go to cave
dig
* get scarab
launch boat
west
open buoy
* get emerald
drop buoy
go to loud room
echo
* get platinum
go to cellar
up
deliver
_ emerald
_ scarab
_ platinum

down
get rope
go to round room
se
tie rope to railing
down
* take torch
lamp off
go to egyptian room
open coffin
* take sceptre
* take coffin
pray
in house
deliver
_ coffin
go to rainbow
wave sceptre
* take pot of gold
in house
deliver
_ sceptre
_ pot of gold

down
to temple
take bell
s
take book and candles
down
ring bell
light match
light candles with match
read book
drop candles
drop book
in
* take skull
go to mirror room
touch mirror
* get trunk
* get trident
touch mirror
go to gallery
take painting
up
deliver
_ crystal skull
_ painting
_ trunk
_ trident

get garlic
down
go to mirror room
touch mirror
go to bat room
* get figurine
go to shaft room
light lamp
put torch and screwdriver in basket
get coal
put coal in basket
lower basket
go to drafty room
drop all
w
get torch and screwdriver and coal
put coal in machine
turn switch with screwdriver
* get diamond
* get bracelet
go to slide room
down
up
deliver
_ torch
_ bracelet
_ figurine
_ diamond

Attempt 1

Defeated the troll.

Died to the thief.

We wondered if you have to leave the thief alone with the egg for a while to get him to unlock it, or if it happens instantly when you give it to him.

Attempt 2

Defeated the troll.

Died to the thief.

Attempt 3

Counted the leaves.

Defeated the troll.

Died to the thief.

Attempt 4

Counted the leaves.

Defeated the troll.

Died to the thief (turn zero).

Attempt 5

Counted the leaves.

Got a light injury from the troll, and waited for it to heal.

Defeated the thief. The egg was open immediately after the battle—so the thief doesn’t need simulated time to work on it.

First trip: canary, coins, chalice, bauble, egg.

Second trip: scarab, emerald.

We died at the waterfall, unexpectedly, after trying to go west after taking the buoy.

We didn’t restart immediately, but instead went looking for our gear. (We didn’t know, at the time, that the points penalty from dying would prevent us from finishing the game. It doesn’t in Adventure.) But we couldn’t find the scarab again, so we restarted.

Attempt 6

Received a light injury from the troll, and waited it out.

Defeated the thief (in just three attacks).

Counted the leaves.

First trip: canary, coins, chalice, bauble, egg.

Second trip: emerald, scarab, platinum. This time, we took the buoy (containing the emerald) the first time entering the room on the river, not during the return crossing, and didn’t go over the falls.

Third trip: sceptre, pot of gold. We picked up the torch, but held on to it as a light source. We grabbed the sceptre from the Egyptian Room. The coffin is too heavy to carry at the same time as our other items, so we’d come back for it. PRAY works even if you’re not carrying the coffin; we arrived back in the forest. Delivered the sceptre and pot of gold to the trophy case.

Fourth trip: coffin.

Fifth trip: skull, trident, trunk. We tried also for the painting but didn’t have room.

Sixth trip: painting.

Seventh trip: figurine, bracelet, torch, diamond. The lamp started to dim on this trip.

As we placed the final treasure in the trophy case and earned the 350th point, a voice whispered: “Look to your treasures for the final secret.” There appeared in the trophy case a parchment map. The map showed a stone barrow SW of a clearing in the forest. Going outside, there was a new secret path leading SW from the front of the house. We followed the new path, stepped inside the stone barrow, and won!

As you enter the barrow, the door closes inexorably behind you. Around you it is dark, but ahead is an enormous cavern, brightly lit. Through its center runs a wide stream. Spanning the stream is a small wooden footbridge, and beyond a path leads into a dark tunnel. Above the bridge, floating in the air, is a large sign. It reads: All ye who stand before this bridge have completed a great and perilous adventure which has tested your wit and courage. You have mastered the first part of the ZORK trilogy. Those who pass over this bridge must be prepared to undertake an even greater adventure that will severely test your skill and bravery!

New personal best: 350/350 points, rank of Master Adventurer.

We brainstormed things to look at in the next, source code episode. We commented on how, in the making of the tool-assisted speedrun, it seems that grue attacks in the dark are not certain but are slightly randomized, and that the random number generator can be influenced (in the Apple II version, at least) by frame-granularity delays.

Finally we tried the alternative strategy for the cyclops that had been mentioned in a previous episode. Saying ODYSSEUS causes the cyclops to flee in terror and carve a passage to the living room.

Topics mentioned:

3 Likes

The mainframe version of Zork, unlike Zork I, does have a designated “last lousy point”. It’s obscure (but IMO not as obscure as Adventure’s) and also kinda funny in a meta sort of way. I’ll happily spoil it here if you want.

Zork II does, in fact, pick up right where Zork I left off. You get your lamp back (magically recharged, of course). Some areas of Zorks II and III were from the mainframe original, and some aren’t. (And even some of the bits from Zork I play differently in Zork mainframe.)

1 Like