Document the evolution of MDL Zork

Currently there are five playable versions of MDL Zork:
1977-06-14 , Here
1977-12-12, Here
1978-01-24, Here
1979-12-11, Here
1981-07-22, Here

I’m toying with an idea to document the differences between the versions and tracking when and by whom, if possible, the different puzzles and features where implemented.

Good places to start are always The Digital Antiquarian and Renga in Blue.

From The Digital Antiquarian:

The road to Zork began in late May of 1977, when Dave Lebling put together a very simple parser and game engine quite similar to Adventure ‘s, from which Marc Blank and Tim Anderson built their first four-room game as a sort of proof of concept. At this point Lebling went on vacation for two weeks, while Blank, Anderson, and Bruce Daniels hacked like crazy, crafting the basic structure of Zork as we know it to this day.

This leads basically up to the 1977-06-14 version.

Info like where the idea for the grues comes from (discussed in a different thread a couple of days ago) would fit perfectly here.

Is this done already?

Would it be interesting?

I would very much like info and links to resources (interviews, histories, anything!) that relates to the development of Zork. If you have it, please share!

7 Likes

I’m not aware of a step-by-step development history, and I would love to see one.

1 Like

The most detailed history I’ve seen is the “History of Zork” articles from the New Zork Times. (Of course, that’s one of the sources The Digital Antiquarian used.)

Part 1 is in the Winter 1985 Edition.
Part 2 is in the Spring 1985 Edition.
Part 3 is in the Summer 1985 Edition.

It does provide a partial timeline of when some areas and concepts were added.

1 Like

Thank you!

I remember reading this but couldn’t for my life remember where it was.

The first two articles gives a pretty good timeline that matches completely with the currently playable versions.

I’m trying the 285 point version and it is hard! You only got the two word parser, no save/restore and a lot of the shortcuts isn’t implemented yet.

I can’t open the grating and you can only feed the cyclops not scare him to open up the shortcut to the living room. I wonder if the chimney is the only way to return the treasures to the living room, one at a time? (Maybe it is possible to use the mirrors? I havn’t tried that yet.)

1 Like

A couple of issuess of the “US NEWS & DUNGEON REPORT” (the newspaper lying on the table in the living room). These issues are extracted from the different source-files that exists and from some compiled Zork:s on the PDP-10 ITS.

Issue 7/1/77 (Note! Inconsistent dates.)
         US NEWS & DUNGEON REPORT
6/19/77                 Late Dungeon Edition

    We congratulate Mr. PDL, of Project HACK (formerly LCS), who has
successfully explored the entire dungeon.  Only three of the
implementer's heads were placed on poles during this amazing feat.

    Mr. TAA of Cambridge, Mass. discovered today a new section
in the ZORK dungeons in the vicinity of the Slide Room.  No further
details are available, however, as Mr. TAA has not been seen since.

    Mr. MARC, also of Cambridge, Mass. has also discovered a new section
in the vicinity of Flood Control Dam #3.  The theory here is that he is
now with TAA, probably in the land of the living dead.

    The dungeon guide (Mr. AV) has expanded his intelligence and
will understand some new words.  Among the more useful of these is
PUT with which objects may be placed inside other objects.  He also
is brighter in that he understands answers to some of his own questions
(e.g. Take What?).  It is also possible to open and close objects
which are containers (e.g. the bottle).
Issue 12/3/77
                US NEWS & DUNGEON REPORT
12/3/77  				       Late Dungeon Edition

     Dungeon will now print the creation date of the current version
when it comes up.  This is defined to be an essential part of any bug
report.  The date will also be printed when a fatal error occurs, and
is available via the 'version' command.

     Many people have reported the following message:
'GIN FREE STORAGE- VECTOR ...GOUT TIME= n.nn'
This indicates that a garbage collection is occurring.  Some reports
have this taking up to 30 sec. of cpu time, during which your dungeon
will refuse to respond.  We have added a feature which should prevent
this; if you see such a message, please send mail to DUNGEON@DM
describing the circumstances (particularly number of moves,
save/restore status, and the TIME).  A garbage collection is not
fatal:  your dungeon should be perfectly all right once it finishes
(after the GOUT TIME= message is printed).

     Some relatively gross bugs were recently fixed in save/restore. 
Unfortunately, some of them caused bad save files to be written out. 
The only factor affected was the scoring:  if you're using an old
save file (before November 20 or so), your score almost certainly
will not be valid.  Sorry about that.  The fixes were otherwise
compatible.

     Certain overly friendly behavior by the thief in his hideout has
been eliminated.
Issue 12/12/77
                US NEWS & DUNGEON REPORT
12/12/77                                       Late Dungeon Edition

     In order to get a more-or-less working version, we have
installed one with some known bugs.  In particular, the following
sequence will not work correctly, nor will anything resembling it:
>take
take what?
>frob
what do you want me to do with it?
     Note that if you now respond 'take', the right thing will
happen. In short, the current parser can't handle verbs with missing
objects.  Since it is completely new, we'd appreciate reports of any
other bugs encountered.

FLASH!
     An important change has been made.  When you have been killed,
and the 'patch' question is asked, or if you are confirming a 'quit',
it is now necessary to terminate the response to the question with a
carriage return (you may be surprised to find that this wasn't true
before).  Also, the answer to the 'patch' question is taken to be yes
unless something starting with n, N, f, or F is typed; the answer to
the 'quit' question is no unless something starting with y, Y, t, or
T is typed.

FLASH!
     Another FLAG DAY has been declared for save files.  Yes, ladies
and gentlemen, yet another incompatible change has been made to the
save/restore code.  When will it end?

     Things like the bucket should resume working in this version.

     Many people have reported the following message:
'GIN FREE STORAGE- VECTOR ...GOUT TIME= n.nn'
This indicates that a garbage collection is occurring.  Some reports
have this taking up to 30 sec. of cpu time, during which your dungeon
will refuse to respond.  We have added a feature which should prevent
this; if you see such a message, please send mail to DUNGEON@DM
describing the circumstances (particularly number of moves,
save/restore status, and the TIME).  A garbage collection is not
fatal:  your dungeon should be perfectly all right once it finishes
(after the GOUT TIME= message is printed).
Issue 1/17/78
                US NEWS & DUNGEON REPORT
1/17/78  				       Late Dungeon Edition

!!!!!FLAG DAY!!!!!
    Another incompatible change has been made in save/restore.  This
was necessary to correct the omission of fighting strength from
things saved; since that was incompatible anyway, we made numerous
other changes simultaneously.  There is now a version number
associated with save files; thus old save files will refuse to
restore into your Dungeon, rather than destroying it.

    New commands 'bug' and 'feature' (with various synonyms) have
been added.  They cause a file to be written out; it is hoped that
such files will eventually be directed to the maintainers.

    Another new version of the parser has been installed.  The
newest features are:
	1. Phrases like 'pick up', 'put down', etc. may work.
	2. Expressions like 'pile of leaves' now work.
	3. 'On lamp' does not work.  Use 'Turn on lamp' or some such.
	4. Multiple objects may be specified for certain verbs.
	   The following forms are recognized:
	     a. 'Put foo and bar and bletch in trophy case'
	     b. 'Put foo, bar, and bletch in trophy case'
	     c. 'Put foo, bar, bletch in trophy case'
	   The following forms will never work:
	     a. 'Put foo bar bletch in trophy case'
	     b. 'Put foo bar and bletch in trophy case'
	5. Referencing self may occasionally work.
	6. In case you forgot, 'everything' and 'valuables' are valid
	   as object names for TAKE, PUT, and DROP.
Issue 1/24/78
                US NEWS & DUNGEON REPORT
1/24/78                                        Late Dungeon Edition

    When an error is encountered in this version, you will be asked
for a description of the problem immediately, just as if you had used
the 'bug' command.  We hope that this will improve the handling of
such problems.

    A reminder that save files created before 1/17 will not work in
this version; fortunately, the program is clever enough to figure out
whether a particular save file can be used or not.

    New commands 'bug' and 'feature' (with various synonyms) have
been added.  They cause a file to be written out; it is hoped that
such files will eventually be directed to the maintainers.

    In addition to 'take foo and bar', the parser now claims to
understand things like 'take foo and read bar', 'take foo and read
it', and so on.
Issue 3/14/78 (Note! Inconsistent dates.
                US NEWS & DUNGEON REPORT
3/28/78  				       Late Dungeon Edition

    Note:  the question in the endgame regarding the cyclops has been
deleted.

A US NEWS Editorial
Bug reports:
    If, in making a bug report, you know what symptoms were exhibited
by the program, PLEASE, PLEASE, PLEASE include them.  It is at best
extremely irritating and at worst useless to receive a bug report
saying 'mumble frotz' loses, or 'try saying "mumble frotz"'.  With
such reports, we have no way of knowing what the situation was when
'mumble frotz' lost, and no way of knowing if whatever bug we manage
to reproduce (if we do) is the same one you saw.  In consequence,
everyone's time is wasted.

    Command lines whose first character is ';' will be ignored.  This
may be useful for annotating hard copies/scripts of games.

    Due to a bug in the save routines, save files made between the
appearance of the version of 3/10 and this version may be defective. 
This applies only if the thief was alive and carrying stuff when the
save file was made; if you're losing, you'll find the program in an
infinite loop within a few moves after restoring.  There is,
unfortunately, no way to patch the losing files.

    This version of Dungeon incorporates many bug fixes, and a more
or less complete reorganization of the internals of the program.  As
a consequence, there may be lots of little bugs lurking in the dark
along with the usual grues.  Please report any that bite you.  (Bugs,
not grues).

ANSWERS							      2/22/78

    All riddles, conundrums, anagrams and other puzzles are now to be
answered uniformly using: "ANSWER 'answer'".  Such places, people,
and things tend to also mention this fact when the question is asked.
Issue 3/17/79 (Note! Inconsistent dates.)
		US NEWS & DUNGEON REPORT
3/23/79  				       Late G.U.E. Edition
	     Send correspondence to ZORK@DM

		  !CHANGE OF ADDRESS!

    Note the change in our preferred net address, above.

		     !NEW PARSER!

    Several changes have been made in the Zork parser in an attempt 
to disambiguate nouns and adjectives.  This allows words in the Zork
vocabulary which are both adjectives and nouns.  'Take gold' has not
worked in the past, because 'gold' was defined as an adjective only.
Now, however, this should work.  

		      !APOLOGY!

    The implementers apologize for the length of time it has taken
for the recent problems with the parser to be fixed.  This version
should have all or most of those bugs fixed.  Please report any
new (or previous) problems with the parser.
Issue 12/11/79 (Note! Inconsistent dates.)
                US NEWS & DUNGEON REPORT
12/11/79                                       Late G.U.E. Edition
             Send correspondence to ZORK@DM

Many bugs have been fixed in this version.  There are probably no
other changes.
Issue 7/22/81
                US NEWS & DUNGEON REPORT
7/22/81                                        Last G.U.E. Edition

This version of ZORK is no longer being supported on this or any other
machine.  In particular, bugs and feature requests will, most likely, be
read and ignored.  There are updated versions of ZORK, including some
altogether new problems, available for PDP-11s and various
microcomputers (TRS-80, APPLE, maybe more later).  For information, send
a SASE to:

                Infocom, Inc.
                P.O. Box 120, Kendall Station
                Cambridge, Ma. 02142
1 Like

“The History of Zork” in a single PDF-document instead of three issues in “New Zork Times”.

1 Like

These are the versions that is currently playable, either in the PDP-10 ITS emulator or in Confusion.

Timestamp	Issue date	Points	Comment
---------	----------	------	-------
 19770612	       N/A	   285	ITS emulator, 2-word parser
 19770614	       N/A     285	Same as above?
 19770701	  19770619     387	ITS emulator. Inconsistent dates, both 770619 and 770701 in game.
 19771212	  19771212	   500	ITS/Confusion. Source-code.
 19780123	  19780117	   500	ITS emulator
 19780128	  19780124	   500	ITS/Confusion. Source-code. Unfinished end-game.
      ---	  19791211	   616	Confusion. Source-code. Inconsistent date 19790317 in file.
      ---	  19810722	   616	Confusion. Source-code. Only minor bugfixes from 19791211.

The game from 19780328 isn’t playable but according to the issue text from this version the end-game was finished at this point.

I’m gonna dig deeper in these files and list differences between them but it seems safe to say that June 1977 was an intense coding period.

1 Like

6/12/77 - 285 points

In late May, when Adventure was solved, PDL (Peter David Lebling, aka Dave Lebling) wrote a simple two word parser. MARC (Marc Blank) and TAA (Tim Anderson) wrote a four room prototype, “Hail to the Chief”. PDL tested the game and then went on a two week vacation. During PDL:s absence BKD (Bruce Daniels), MARC and TAA set out to design and write a real game. All three helped wih the design and MARC and TAA did most of the coding.

This first version contains the white house and the surrounding forest, the troll, the maze, the cyclops, the thief, the glacier, the dam, the reservoir, the loud room, the round room, the riddle room, the mirror rooms and the temple area.

This version have 80 rooms, 44 objects and the dictionary contains 113 words.

Notable things in this version:

  • Two word parser that is pretty limited.
  • It’s only possible to score 275 points, presumably the “Strange Passage” isn’t implemented as intended yet. EDIT: I just found out that there is a way to open the “Strange Passage”. You have to use another word to scare the cyclops - SINBAD.
  • You only need to DROP treasures in the living room to deposit them in the trophy case. Note! They can’t be retrieved.
  • There’s no real fighting. The troll and the thief have to be solved by other means.
  • Dark areas contains no grues, instead “You will probably fall into a pit.”.
  • There’s no SAVE/RESTORE capability.
  • There’s no time limit on the light from the lantern.

Startup message
Welcome to adventure.
You are in an open field west of a big white house, with a closed, locked
front door.
>

Known bugs in this version:

  • The game will crash if you try to DROP a treasure in the trophy case that’s not in your posession.
  • GET or DROP without specifying an object will crash the game.

How points are scored in this version:

I. Treasures.
                                   Total=trophy,find

grail (in Grail Room)                  7=  5, 2
gold coffin (in Egypt Room)           10=  7, 3
painting (in Gallery)                 11=  7, 4
pearl necklace (in Pearl Room)        14=  5, 9
crystal trident (in Atlantis Room)    15= 11, 4     Called diamond trident in this version
bag of coins (in Maze)                15=  5,10
torch (in Torch Room)                 20=  6,14
chalice (in Treasure Room)            20= 10,10
platinum bar (in Loud Room)           22= 10,12
ruby (in Ruby Room; behind Glacier)   23=  8,15
trunk with jewels (under Reservior)   23=  8,15
                                     ---
Treasures Subtotal                   180

II. Accomplishments.

Getting into Kitchen (Window)         10
Getting into Cellar (Trap Door)       25
Getting past Cyclops (Sinbad)         10
Getting into Thief's Treasure Room    25
Getting past Troll (E-W Passage)       5
Land of Living Dead (Exorcism)        30
                                     ---
Accompishments Subtotal              105

                                     ---
Grand Total                          285

This version is possible to play in the PDP-10 ITS emulator.

6/14/77 - 285 points

This is the same as the 6/12/77 version except with the bugs from that version fixed.

This version have 80 rooms, 44 objects and the dictionary contains 114 words (new word is “PRESS”, synonym to “PUSH”).

Startup message
Welcome to adventure.
You are in an open field west of a big white house, with a closed, locked
front door.
>

This version is possible to play in the PDP-10 ITS emulator.

I think that’s the one I came across while looking for the article, but I noticed it had a transcription error. (It refers to “the section of Zork II [sic] with the Dungeon Master”). Rather than proof-reading the whole thing, I decided to link to scans of the original three-part article instead.

In the early versions of Zork (at least up until the January 1978 version), the content of the sandwich bag is listed in the inventory like “a .lunch”.

Like this:

You are in the kitchen of the white house. A table seems to have been
used recently for the preparation of food. A passage leads to the west
and a dark staircase can be seen leading upward. To the east is a small
window which is open.
On the table is a elongated brown sack, smelling of hot peppers.
A bottle is sitting on the table.
There is some water here [in the bottle]
>get bottle
Taken.
>get sack
Taken.
>invent
You are carrying:
A sandwich bag
A bottle with a water
>open bag
Opening the sandwich bag reveals a clove of garlic, and a .lunch.
>invent
You are carrying:
A sandwich bag with a clove of garlic, and a .lunch
A bottle with a water

I got this explanation from TAA why that is:

In MIDAS (the assembler used on ITS), the mnemonics for the system calls (UUOs, actually) all started with “.”: .OPEN, etc.
.LUNCH? might be taken as a combination of assembly language and Muddle, since Muddle’s predicates all ended with ? (vs. LISP, where they ended with “p”). It meant, “time to get lunch?”
-ta

1 Like

7/1/77 - 387 points

The dates in the “US NEWS & DUNGEON REPORT” is inconsistent for this version. The masthead in the issue says “6/19/77” but both the timestamp and the date for the issue in the description (LDESC) are “7/1/77”. The later date is the more probable date due to the many changes in this version.

This version have 119 rooms, 76 objects and the dictionary contains 155 words.

Notable changes:

  • New section, the Coal Mine. Allegedly designed by BKD and implemented by TAA.
  • New section, Aragain Falls. Allegedly designed and implemented by MARC.
  • The parser now ignores some buzzwords and understands some prepositions and an indirect objects (IN/TO), for example PUT [object] IN [object].Containers can also be opened/closed.

    OPEN TROPHY CASE
    PUT COINS IN CASE
    GET THE LEAFLET
    TIE ROPE TO RAILING

  • The parser now also allows you to answer some of its questions.

    TAKE
    Take what?
    LEAFLET
    Taken.

  • Introduces a vehicle, the Boat.
  • The mailbox and the “US NEWS & DUNGEON REPORT” makes its first appearances.
  • Alternative solution for the cyclops puzzle (“ODYSSEUS” replaces “SINBAD” as word that scares the cyclops and opens the “Strange Passage” to the living room.).
  • The grating can be unlocked and opened for a shortcut between the maze and the forest.
  • Still no grues.
  • SAVE/RESTORE capability. Probably only the implementors could save games due to fears that the system resources could be exhausted. Strangly enough the PDP-10 at MIT wasn’t primarely there to play Zork…
  • Still no time limit on the lantern.

Known bugs:

  • If you die and don’t have the lantern the game will crash during the patchup (the game don’t crash if the lantern havn’t been touched).
  • Crystal trident still has diamond as synonym (it was called “diamond trident” in previous version). The new treasure “diamond” don’t have any synonyms so you can create an unwinnable state if the trident is deposited in the trophy case before the diamond because this makes it impossible to deposit the diamond, the parser can’t resolve what you are refering to.
  • The rainbow in the Aragain Falls area is solid even before you have waved the stick (but the pot of gold appears first when stick is waved).

Startup message
Welcome to adventure.
You are in an open field west of a big white house, with a closed, locked
front door.
There is a small mailbox here.
>
US News & Dungeon Report dated 7/1/77
         US NEWS & DUNGEON REPORT
6/19/77                 Late Dungeon Edition

    We congratulate Mr. PDL, of Project HACK (formerly LCS), who has
successfully explored the entire dungeon.  Only three of the
implementer's heads were placed on poles during this amazing feat.

    Mr. TAA of Cambridge, Mass. discovered today a new section
in the ZORK dungeons in the vicinity of the Slide Room.  No further
details are available, however, as Mr. TAA has not been seen since.

    Mr. MARC, also of Cambridge, Mass. has also discovered a new section
in the vicinity of Flood Control Dam #3.  The theory here is that he is
now with TAA, probably in the land of the living dead.

    The dungeon guide (Mr. AV) has expanded his intelligence and
will understand some new words.  Among the more useful of these is
PUT with which objects may be placed inside other objects.  He also
is brighter in that he understands answers to some of his own questions
(e.g. Take What?).  It is also possible to open and close objects
which are containers (e.g. the bottle).

How points are scored:

I. Treasures.
                                   Total=trophy,find

Coal Mine:
sapphire bracelet (in Gas Room)        8=  3, 5     Called jewels/baubles in this version
jade figurine (in Bat Room)           10=  5, 5
diamond (made from Coal in Machine)   16=  6,10

Aragain Falls:
emerald (in Buoy in Frigid River)     15= 10, 5
pot of gold (at End of Rainbow)       20= 10,10
statue (in Sandy Beach)               23= 13,10
                                     ---
Treasures Subtotal                    92

II. Accomplishments.

Lower Shaft                           10
                                     ---
Accompishments Subtotal               10


Points from previous version         285
Points in this version               102
                                     ---
Grand Total                          387

This version is possible to play in the PDP-10 ITS emulator.

1 Like

12/12/77 - 500 points

July of '77 continued an intensive period of developing that then settled down when other commitments, like work, require the implementors attention. Development then picked up again later in the fall of '77.

This version have 145 rooms, 156 objects and the dictionary contains 275 words.

Notable changes:

  • Improvements to the parser:
    • GET ALL/EVERYTHING
    • L as abbreviation for LOOK
    • IT for last used item (a bit buggy)
    • Understand adjectives to the noun, GET BLUE CAKE.
    • Understands more prepositions, WITH.
    • Rudimentery TELL for other actors, TELL [actor], “[command]”
  • New section, the Volcano. Allegedly designed and implemented by MARC in July of '77.
  • The Volcano also had the first two “graphics” (the ASCII variant). Probably done by MARC.
  • The Volcano triggered a need of measuring time. MARC implemented a clock deamon and this introduced among other things a time limit on the lantern.
  • All the pits was filled up and now the dark areas contained grues. This change was allegedly done by PDL in July of '77.
  • During the fall of '77 MARC improved the the SAVE/RESTORE capability to only save the variables instead of all the working memory of the Muddle session. This made SAVE accessible to “ordinary” users.
  • New section, Alice in Wonderland. Allegedly designed and implemented by PDL in the fall of '77.
  • D&D style fighting is introduced with the troll and the thief. Allegedly designed and implemented by PDL in the fall of '77.
  • Name change to “Dungeon”.
  • Source code was “stolen” and decrypted from the hidden LCF directory by Ted Hess. This eventually led to Bob Supnik writing a Fortran version during the great blizzard of '78. This version was then maintained and developed parallel to Zork and new features from Zork was implemented in the Fortran version. The Fortran version always retained the name “Dungeon” and the latest version, 3.2b, is almost identical in gameplay to the last version of Zork.
  • Introduces first actor that can be instructed to perform actions.
  • New room behind Land of the Living Dead, the Tomb of the Unknown Implementer.

Startup message
Welcome to Dungeon.
This version created December 12.
You are in an open field west of a big white house, with a boarded
front door.
There is a small mailbox here.
>
US News & Dungeon Report dated 12/12/77
                US NEWS & DUNGEON REPORT
12/12/77                                       Late Dungeon Edition

     In order to get a more-or-less working version, we have
installed one with some known bugs.  In particular, the following
sequence will not work correctly, nor will anything resembling it:
>take
take what?
>frob
what do you want me to do with it?
     Note that if you now respond 'take', the right thing will
happen. In short, the current parser can't handle verbs with missing
objects.  Since it is completely new, we'd appreciate reports of any
other bugs encountered.

FLASH!
     An important change has been made.  When you have been killed,
and the 'patch' question is asked, or if you are confirming a 'quit',
it is now necessary to terminate the response to the question with a
carriage return (you may be surprised to find that this wasn't true
before).  Also, the answer to the 'patch' question is taken to be yes
unless something starting with n, N, f, or F is typed; the answer to
the 'quit' question is no unless something starting with y, Y, t, or
T is typed.

FLASH!
     Another FLAG DAY has been declared for save files.  Yes, ladies
and gentlemen, yet another incompatible change has been made to the
save/restore code.  When will it end?

     Things like the bucket should resume working in this version.

     Many people have reported the following message:
'GIN FREE STORAGE- VECTOR ...GOUT TIME= n.nn'
This indicates that a garbage collection is occurring.  Some reports
have this taking up to 30 sec. of cpu time, during which your dungeon
will refuse to respond.  We have added a feature which should prevent
this; if you see such a message, please send mail to DUNGEON@DM
describing the circumstances (particularly number of moves,
save/restore status, and the TIME).  A garbage collection is not
fatal:  your dungeon should be perfectly all right once it finishes
(after the GOUT TIME= message is printed).

How points are scored:

I. Treasures.
                                   Total=trophy,find

Alice in Wonderland:
tin of spices (in Pool Room)          10=  5, 5
crystal sphere (in Dingy Closet)      12=  6, 6
violin (in Steel Box in Round Room)   20= 10,10

Volcano:
stamp (in Purple Book in Library)     14= 10, 4
priceless zorkmid (on Narrow Ledge)   22= 12,10
crown (in Safe in Dusty Room)         25= 10,15
                                     ---
Treasures Subtotal                   103

II. Accomplishments.

Top of Well                           10
                                     ---
Accompishments Subtotal               10


Points from previous version         387
Points in this version               113
                                     ---
Grand Total                          500

This version is possible to play both in the PDP-10 ITS emulator and with slightly modifications to the MDL source code to make it run in Confusion, here. .

Bonus material, the ASCII art:

The Coin
               --------------------------
              /      Gold Zorkmid        \
             /  T e n   T h o u s a n d   \
            /        Z O R K M I D S       \
           /                                \
          /        ||||||||||||||||||        \
         /        !||||          ||||!        \
        |          |||   ^^  ^^   |||          |
        |          |||   OO  OO   |||          |
        | In Frobs  |||    <<    |||  We Trust |
        |            || (______) ||            |
        |             |          |             |
        |             |__________|             |
         \                                    /
          \    -- Lord Dimwit Flathead --    /
           \    -- Beloved of Zorkers --    /
            \                              /
             \       * 722 G.U.E. *       /
              \                          /
               --------------------------
The Stamp
---v----v----v----v----v----v----v----v---
|                                        |
|          ||||||||||        LORD        |
>         !||||      |      DIMWIT       <
|         ||||    ---|     FLATHEAD      |
|         |||C     CC \                  |
>          ||||       _\                 <
|           ||| (____|                   |
|            ||      |                   |
>             |______|       Our         <
|               /   \     Excessive      |
|              /     \      Leader       |
>             |       |                  <
|             |       |                  |
|                                        |
>    G.U.E. POSTAGE        3 Zorkmids    <
|                                        |
---^----^----^----^----^----^----^----^---

1/23/78 - 500 Points

There are no new sections added in this version but there are bug fixes and a couple of improvements to the parser. There are also a couple of text changes but I will analyze this in more depth in the next version (it’s from only a week later) when there is source code to compare between the 12/12/77 version vs the 24/1/78 version.

Notable changes:

  • Parser improvements:
    • Refering to objects with IT works much better in this version.
    • Automatic TAKE when handling objects in room.
    • It is possible to bunch objects together with AND or a comma (,) for the verbs TAKE, DROP and PUT.
      • PUT FOO AND BAR AND BLETCH IN TROPHY CASE
      • PUT FOO, BAR AND BLETCH IN TROPHY CASE
  • The bug where the rainbow always is solid is fixed.
  • The trapdoor stays open when it is opened for a second time.
  • It is possible to retrieve treasures from the trophy case.

Startup message
Welcome to Dungeon.
This version created January 23.
You are in an open field west of a big white house, with a boarded
front door.
There is a small mailbox here.
>
US News & Dungeon Report dated 1/17/78
                US NEWS & DUNGEON REPORT
1/17/78  				       Late Dungeon Edition

!!!!!FLAG DAY!!!!!
    Another incompatible change has been made in save/restore.  This
was necessary to correct the omission of fighting strength from
things saved; since that was incompatible anyway, we made numerous
other changes simultaneously.  There is now a version number
associated with save files; thus old save files will refuse to
restore into your Dungeon, rather than destroying it.

    New commands 'bug' and 'feature' (with various synonyms) have
been added.  They cause a file to be written out; it is hoped that
such files will eventually be directed to the maintainers.

    Another new version of the parser has been installed.  The
newest features are:
	1. Phrases like 'pick up', 'put down', etc. may work.
	2. Expressions like 'pile of leaves' now work.
	3. 'On lamp' does not work.  Use 'Turn on lamp' or some such.
	4. Multiple objects may be specified for certain verbs.
	   The following forms are recognized:
	     a. 'Put foo and bar and bletch in trophy case'
	     b. 'Put foo, bar, and bletch in trophy case'
	     c. 'Put foo, bar, bletch in trophy case'
	   The following forms will never work:
	     a. 'Put foo bar bletch in trophy case'
	     b. 'Put foo bar and bletch in trophy case'
	5. Referencing self may occasionally work.
	6. In case you forgot, 'everything' and 'valuables' are valid
	   as object names for TAKE, PUT, and DROP.

Known bugs:

  • LIGHT [OBJECT] WITH MATCH doesn’t work for all burnable objects. For some objects you need to use the syntax BURN [OBJECT] WITH MATCH instead.
1 Like

Here is a reminder how you can play these old Zork versions online on an emulation of the PDP-10 ITS:

  1. telnet to its.pdp10.se port 10003 (I use Kitty on Windows).

  2. When you see Connected to the KA-10 simulator MTY device, type Control-Z
    The terminal will answer:

TT ITS.1650. DDT.1547.
TTY 23
2. Lusers, Fair Share = 99%
THIS IS TT ITS, A HIGHTY VOLATILE SYSTEM FOR TESTING

For brief information, type ?
For a list of colon commands, type :? and press Enter.
For the full info system, type :INFO and Enter.

You may have to set the correct terminal type.
Try :TCTYP AAA or :TCTYP DATAPOINT

PLEASE LOG IN!  Type ":login", your name, and Enter.
Please log out when your are done.
  1. Log in with :login [something]
:login jondoe
TT: JONDOE; JONDOE MAIL - NON-EXISTENT DIRECTORY
  1. :listf madman will list the contents of the MADMAN directory.
:listf madman
TT   MADMAN
FREE BLOCKS #2=5417 #3=7166 #0=6088 #1=4654 #4=793 #5=743 #6=5065 #7=1450
  2   MADADV DEC12  119 ! 12/12/1977 22:48:06
  5   MADADV HELP   3   9/14/2020 09:04:35
  5   MADADV INFO   1   9/14/2020 09:04:35
  0   MADADV JAN11  124 ! 1/11/1978 03:12:56
  2   MADADV JAN23  144 ! 1/23/1978 00:26:53
  0   MADADV JAN24  121 ! 1/24/1978 23:21:37
  0   MADADV JAN26  121 ! 1/26/1978 00:47:30
  0   MADADV JAN28  121 ! 1/28/1978 14:45:07
  0   MADADV JAN7   122 ! 1/7/1978 16:30:09
  2   MADADV JUL1   88 ! 7/1/1977 00:01:02
  2   MADADV JUN12  65 ! 6/12/1977 22:46:51
  2   MADADV JUN14  66 ! 6/14/1977 03:29:10
  0   MADADV SAVE   65 ! 6/12/1977 22:46:51
  0   MADMAN SAVE   115 ! 12/4/1977 17:44:35
  6   OMADAD SAVE   115   12/4/1977 17:44:35
  1   TRV    SAVFIL 105 ! 6/27/1977 21:58:25
  1   TV     FILE   301 ! 6/24/1977 21:50:41
  2   ZORK   BUG    0 ! 9/28/2020 22:45:18
  7   ZORK   LOG    2 ! 1/26/2021 12:45:44

  1. To play the 12/12/77 version of Zork you will need to start MUDDLE version 54 and then restore the correct game file (note that the dollar sign ($) means that you press the [ESC]-button here to execute the command in MUDDLE):
*:mud54
MUDDLE 54 IN OPERATION.
LISTENING-AT-LEVEL 1 PROCESS 1
<RESTORE "MADMAN; MADADV DEC12">$
Welcome to Dungeon.
This version created December 12.
You are in an open field west of a big white house, with a boardedfront door.
There is a small mailbox here.
>
  1. When done, type quit in then game.
  2. And then :logout from the session.

The files in the MADMAN directory works and corresponds to these versions:

Issue date Filename       Points  CRC
6/12/77    MADADV JUN12   285 pts 0x4DC4
6/14/77    MADADV JUN14   285 pts 0x1A61
7/1/77     MADADV JUL1    387 pts 0x2D46
12/12/77   MADADV DEC12   500 pts 0x5A53
1/17/78    MADADV JAN23   500 pts 0xFA9A
1/24/78    MADADV JAN24   500 pts 0x265E
1/24/78    MADADV JAN26   500 pts 0x4B17
1/24/78    MADADV JAN28   500 pts 0xCCB0
1 Like

12/4/77 - 500 Points

This version currently crashes on startup with this message:

I'm sorry, you seem to have encountered an error in the program.
Send mail to DUNGEON@MIT-DMS describing what it was you tried to do.
This version created December 4.

DANGEROUS-INTERRUPT-NOT-HANDLED!-ERRORS
MPV!-INTERRUPTS
#WORD *710000464247*
Your score is 23748389065 [total of 500 points], in -1 moves.
This score gives you the rank of Wizard.

This version have 145 rooms, 152 objects and the dictionary contains 284 words.

US News & Dungeon Report dated 12/3/77
                US NEWS & DUNGEON REPORT
12/3/77  				       Late Dungeon Edition

     Dungeon will now print the creation date of the current version
when it comes up.  This is defined to be an essential part of any bug
report.  The date will also be printed when a fatal error occurs, and
is available via the 'version' command.

     Many people have reported the following message:
'GIN FREE STORAGE- VECTOR ...GOUT TIME= n.nn'
This indicates that a garbage collection is occurring.  Some reports
have this taking up to 30 sec. of cpu time, during which your dungeon
will refuse to respond.  We have added a feature which should prevent
this; if you see such a message, please send mail to DUNGEON@DM
describing the circumstances (particularly number of moves,
save/restore status, and the TIME).  A garbage collection is not
fatal:  your dungeon should be perfectly all right once it finishes
(after the GOUT TIME= message is printed).

     Some relatively gross bugs were recently fixed in save/restore. 
Unfortunately, some of them caused bad save files to be written out. 
The only factor affected was the scoring:  if you're using an old
save file (before November 20 or so), your score almost certainly
will not be valid.  Sorry about that.  The fixes were otherwise
compatible.

     Certain overly friendly behavior by the thief in his hideout has
been eliminated.

1/7/78 - 500 Points

This version currently crashes on startup with this message:

I'm sorry, you seem to have encountered an error in the program.
Send mail to DUNGEON@MIT-DMS describing what it was you tried to do.
This version created January 7.

PURE-LOAD-FAILURE!-ERRORS
FIELD
Your score is 23748389065 [total of 500 points], in -1 moves.
This score gives you the rank of Wizard.

This version have 147 rooms, 148 objects and the dictionary contains 283 words.

US News & Dungeon Report dated 1/1/78
US NEWS & DUNGEON REPORT
1/1/78                 Late Dungeon Edition

             Happy New Year!

    Please get ZORK by typing ZORK^K to DDT rather than :ZORK.
This will prevent the accidental creation of multiple ZORKs.

    Another new version of the parser has been installed.  The
newest features are:
        1. Phrases like 'pick up', 'put down', etc. may work.
        2. Expressions like 'pile of leaves' now work.
        3. 'On lamp' does not work.  Use 'Turn on lamp' or some such.
        4. Multiple objects may be specified for certain verbs.
           The following forms are recognized:
             a. 'Put foo and bar and bletch in trophy case'
             b. 'Put foo, bar, and bletch in trophy case'
             c. 'Put foo, bar, bletch in trophy case'
           The following forms will never work:
             a. 'Put foo bar bletch in trophy case'
             b. 'Put foo bar and bletch in trophy case'
        5. Referencing self may occasionally work.

OLD FLASH!
     An important change has been made.  When you have been killed,
and the 'patch' question is asked, or if you are confirming a 'quit',
it is now necessary to terminate the response to the question with a
carriage return (you may be surprised to find that this wasn't true
before).  Also, the answer to the 'patch' question is taken to be yes
unless something starting with n, N, f, or F is typed; the answer to
the 'quit' question is no unless something starting with y, Y, t, or
T is typed.

1/11/78 - 500 Points

This version currently crashes on startup with this message:

I'm sorry, you seem to have encountered an error in the program.
Send mail to DUNGEON@MIT-DMS describing what it was you tried to do.
This version created January 11.

PURE-LOAD-FAILURE!-ERRORS
FIELD
Your score is 23748389065 [total of 500 points], in -1 moves.
This score gives you the rank of Wizard.

This version have 147 rooms, 148 objects and the dictionary contains 293 words.

US News & Dungeon Report dated 1/9/78
                US NEWS & DUNGEON REPORT
1/9/78                                         Late Dungeon Edition

    New commands 'bug' and 'feature' (with various synonyms) have
been added.  They cause a file to be written out; it is hoped that
such files will eventually be directed to the maintainers.

    The arrangement of the dungeon has been changed slightly in a
couple of places.

    Another new version of the parser has been installed.  The
newest features are:
        1. Phrases like 'pick up', 'put down', etc. may work.
        2. Expressions like 'pile of leaves' now work.
        3. 'On lamp' does not work.  Use 'Turn on lamp' or some such.
        4. Multiple objects may be specified for certain verbs.
           The following forms are recognized:
             a. 'Put foo and bar and bletch in trophy case'
             b. 'Put foo, bar, and bletch in trophy case'
             c. 'Put foo, bar, bletch in trophy case'
           The following forms will never work:
             a. 'Put foo bar bletch in trophy case'
             b. 'Put foo bar and bletch in trophy case'
        5. Referencing self may occasionally work.

OLD FLASH!
     An important change has been made.  When you have been killed,
and the 'patch' question is asked, or if you are confirming a 'quit',
it is now necessary to terminate the response to the question with a
carriage return (you may be surprised to find that this wasn't true
before).  Also, the answer to the 'patch' question is taken to be yes
unless something starting with n, N, f, or F is typed; the answer to
the 'quit' question is no unless something starting with y, Y, t, or
T is typed.

1/24/78, 1/26/78, 1/28/78 - 500 Points

These versions are almost identical to each other and to the previous one (1/23/78). There is a new issue of the “US News & Dungeon Report” and, I assume, a couple of bugfixes.Most notable bugfix is the one from the previous version with LIGHT and BURN.
There is also source code available to the 1/28/78 that is, with some changes, possible to play in Confusion. In the Confusion version the half finished end-game is added. The end-game is playable all the way until the last puzzle with the wizard and the parapet where the game breaks down.

All these versions have 147 rooms, 145 objects and the dictionary contains 297 words.


Startup message 1/24/78
Welcome to Dungeon.
This version created January 24.
You are in an open field west of a big white house, with a boarded
front door.
There is a small mailbox here.
>
Startup message 1/26/78
Welcome to Dungeon.
This version created January 26.
You are in an open field west of a big white house, with a boarded
front door.
There is a small mailbox here.
>
Startup message 1/28/78
Welcome to Dungeon.
This version created January 28.
You are in an open field west of a big white house, with a boarded
front door.
There is a small mailbox here.
>
US News & Dungeon Report dated 1/24/78
                US NEWS & DUNGEON REPORT
1/24/78                                        Late Dungeon Edition

    When an error is encountered in this version, you will be asked
for a description of the problem immediately, just as if you had used
the 'bug' command.  We hope that this will improve the handling of
such problems.

    A reminder that save files created before 1/17 will not work in
this version; fortunately, the program is clever enough to figure out
whether a particular save file can be used or not.

    New commands 'bug' and 'feature' (with various synonyms) have
been added.  They cause a file to be written out; it is hoped that
such files will eventually be directed to the maintainers.

    In addition to 'take foo and bar', the parser now claims to
understand things like 'take foo and read bar', 'take foo and read
it', and so on.

1 Like

Source code 12/12/77 → 1/28/78

For 12/12/77 and 1/28/78 have the source code been partially restored from MIT backup tapes. Below is a table of the relevant files needed to make a complete, playable game. They are listed in the order they need to be loaded and have a short description of the files purpose. Note that on the PDP-10 ITS each file has two filenames, each up to six characters long. Here they are listed as filename and extension. Conventionally the first filename was the name of the file and the second filename was used as iteration, practically a version number. Files with “?” as version number is missing and have been recreated from later versions.

12/12/77	1/28/78
--------	-------
PRIM.?		PRIM.?		Definition of MDL extensions.
DEFS.63		DEFS.89		Definition of types, structs, functions and macros.
MAKSTR.7	MAKSTR.25	Definition of MDL extensions for IF. Practically ZIL.
TELL.?		TELL.?		Definition of TELL.
ACT1.38		ACT1.71		Action-routines for the locations in the 285 points version.
ACT2.27		ACT1.37		Action-routines for the coal mine, the aragain falls and the volcano. 
ACT3.13		ACT1.18		Action-routines for Alice in wonderland.
ROOMS.99	ROOMS.165	Guts of frob:  Basic verbs, command reader, parser, vocabulary hackers.
NP.93		NP.168		Parser
MELEE.?		MELEE.105	Action-routines and definitions for fighting, D&D style. 
DUNG.56		DUNG.129	Definition for rooms and objects.

My ambition is to make a deeper analysis, in following posts, of the changes in each individual file.

1 Like

I discovered a nice little trick one can do when playing on the PDP-10 ITS. If you login as one of the defined “WINNERS” on the emulator, the game will not KILL the MDL environment when quitting or stopping the execution (Ctrl-G). You will remain in MDL and can there inspect variables. Unfortunately are all the FUNCTIONs compiled so you can’t see the source code for those. Sure WINNERS are MARC, PDL, TAA or BKD.

Example:

THIS IS TT ITS, A HIGHTY VOLATILE SYSTEM FOR TESTING

For brief information, type ?
For a list of colon commands, type :? and press Enter.
For the full info system, type :INFO and Enter.

You may have to set the correct terminal type.
Try :TCTYP AAA or :TCTYP DATAPOINT

PLEASE LOG IN!  Type ":login", your name, and Enter.
Please log out when your are done.
:login marc

To see system messages, do ":MSGS<CR>"
:mud54
MUDDLE 54 IN OPERATION.
LISTENING-AT-LEVEL 1 PROCESS 1
<RESTORE "MADMAN;MADADV JAN28">$
Welcome to Dungeon.
This version created January 28.
You are in an open field west of a big white house, with a boardedfront door.
There is a small mailbox here.
>
*ERROR*
CONTROL-G?
LISTENING-AT-LEVEL 2 PROCESS 1
,HERE$
#ROOM [WHOUS "West of House" NORTH SOUTH WEST EAST FDOOR MAILB <>]

The <1 .OBLIST> contains all the names of the defined variables and functions (an OBLIST is a lookup list Muddle uses to parse the code to the right variable or function (ATOM) in the current context).
,ROOMS prints out all the room definitions and ,OBJECTS print all the object definitions. The vocabulary is stored in its own OBLIST called WORDS, <MOBLIST WORDS>.

I’m gonna update earlier posts with new information I gained by this. I, for example, found out how you open up the “Strange Passage” in the 285 point versions. I’m also gonna add some statistical info on each game.

EDIT: You can also change things in the game like: modifying texts, rewriting functions (<SET REDEFINE T> and then replace existing function with your own). When you’re finished you just call and the game save a new MADMAN; MADADV SAVE-file that is a new modified game!

2 Likes