Dungeon aka Zork

Playing the Inform port of Dungeon, aka mainframe Zork.

There is a bit of information that is the answer to something in the game. I remember the information from many years ago, but not how I originally acquired it. I’m looking for an in-game source of the following:

The minimum value of the Zork treasures is 30003 zorkmids. This number is the answer to one of the Dungeon Master’s questions.

Only three of the treasures are given a specific value:

Gold Zorkmid: 10,000 zorkmids

Zorkmid bills, 200 @ 100 zorkmids each: 20,000 zorkmids

Flathead stamp: 3 zorkmids

2 Likes

Aha! I thought it might be that. Thanks!

I just want to add that this is an almost indentical game to the original MDL version. I can only detect some small differences in the parser, like for example:

  • In the MDL version 5 characters per word is enough. In this you need to type 9.
  • You need to type “OPEN WINDOW”, “LIGHT LAMP”. In MDL “OPEN” and “LIGHT” is enough.
  • This version are missing some synonyms like “ISSUE” for the “NEWSPAPER”.

The map and the puzzles are the same and I don’t know why @ethan choose to change the score to 646 instead of the original 616. The only differences are:

You only get 5 points instead of 10 for entering the "Strange Passage".
You get 35 points for entering the "Soothy Room". In the MDL version this isn't awarded at all.
1 Like

The 5 vs 9 characters makes sense. Early z-machine versions, and logically this precursor, used 5 character dictionaries, but z5 uses 9.

The reason the MDL version uses 5 characters is that PDP-10, as many mainframes from the 60s and 70s, used 36-bit words as a basic word-length. In other words, a 36-bit computer (in contrast to the 32- or 64-bit computers of today). If you use 7 bits to represent each individual character, 5 characters fitted inside a single 36-bit word. 36 is actually pretty neat because it is dividable by both 3 and 4 (12 octal numbers or 9 hexadecimal numbers).

9 is, as you write, standard in z5 and there was no reason to change that.

1 Like

Six-character. (Four bytes containing six five-bit Z-characters.)

1 Like

You are of course correct. My memory isn’t what it once was.

Yes. In my Rust translation of Adventure from Fortran I needed to deal with 36 bit words. One bug I encountered while developing it was my assuming the bit left over after the five characters was the MSB. when it is the LSB.

1 Like

Hi, Henrik,

Thanks for your observations. I appreciate hearing of the specific details I didn’t copy over correctly.

I have no idea why the room point values changed. Looking at the source I can see what you are reporting, I just don’t know why those values are there. I also see where I missed “issue” as a synonym for “paper”

I will put those on the queue to fix.

As for the parser differences, those have been hashed out elsewhere. I’m using the Inform 6 parser and a z5 file, so it’s 9 chars of significance.

2 Likes

I see I have what might be an unreleased “Release 14 / Serial number 071009”. Time for a Release 15!

4 Likes

Oh, I didn’t mean that as some kind of criticism. It’s inherited in your specifications for the project to use the Inform parser. I just wanted to point out that it is a truthful implementation of the original. The points 646 vs 616 could otherwise lead people to think that there are some modifications (like all the different versions of Adventure - 350, 400, 550 and so on).

That’s exactly what I thought. LOL

Is there any documentation anywhere about the shortest number of moves to fully solve it?

I was able to do it in about 650 moves - assuming nearly optimal combat with the troll and thief, and one successful pass through the Round Room.

I’m not feeling picked on. I just don’t know how that got implemented differently (and that nobody has mentioned it at any point over the last 20 years :wink:

1 Like