Slashdot Mirror


The History and Future of Zork

Matt Barton writes "I thought folks might be interested in my History of Zork feature on Gamasutra. I interviewed three of the original 'imps' for the piece (you can read the full interviews online) as well as Nick Montfort (author of Twisty Little Passages) and Howard Sherman (president of Malinche Entertainment). The article covers the original trilogy, as well as Enchanter and the later Activision games such as Zork: Grand Inquisitor."

1 of 69 comments (clear)

  1. Original Zork Source Code in MDL by SimHacker · · Score: 5, Interesting

    Zork was the reason I got on the ARPANET, back around 1980 or so. I was using Bruce's Northstar BBS that had an adventure game that Bruce had written in Basic, and he told me how to play Zork: first, dial up the NBS TIP, connect to MIT-AI (the command was "@L 134", because the ARPANET had 8 bit host numbers, and AI was 134), and apply for an account to learn Lisp. Once that was granted, I connected to MIT-DM ("@L 70"), and logged in as URANUS, password RINGS, used :CHUNAME to change my user name, and waited until one of the two people playing Zork quit, to take their slot. Later somebody told me the magic words to use to get an account on DM, so I applied for my own account on DM, claiming that I wanted to "Learn MDL for calculus and algebraic applications". The source code to Zork was well hidden. DM ran a weird version of ITS that had some kind of file security or cloaking, it was rumored. I was always looking for the Zork sources, but never found it on DM.

    Years later I googled for a unique phrase that was only in the original DM version of Zork, and this URL popped up: http://retro.co.za/adventure/zork-mdl/

    The original MDL source to Zork is really beautiful code that's almost as fun to read as it was to play. I had discovered a bug in the InfoCom version of Zork, which turned out to be in the original sources. When you're fighting the troll who's wielding an Axe, you can give anything to the troll and he will eat it. So I tried "give axe to troll" and he ate his axe, then cowered in the corner! Better yet you can go "give troll to troll" and he will eat himself and disappear, unfortunately not clearing the troll bit that is required to leave the room, so if you try to leave it prints a message saying the troll fends you off with a menacing gesture, and stops you from leaving. Sure enough, in the original sources, there is a troll bit!

    From http://retro.co.za/adventure/zork-mdl/dung.mud:

    <OBJECT ["TROLL"]
    ["NASTY"]
    "troll"
    <+ ,OVISON ,VICBIT ,VILLAIN>
    TROLL
    (<GET-OBJ "AXE">)
    (ODESC1
    "A nasty-looking troll, brandishing a bloody axe, blocks all passages
    out of the room."
    OSTRENGTH 2
    OFMSGS ,TROLL-MELEE)>

    <PSETG FLAG-NAMES
    <UVECTOR TROLL-FLAG
    LOW-TIDE
    DOME-FLAG
    GLACIER-FLAG
    ECHO-FLAG
    RIDDLE-FLAG
    LLD-FLAG
    CYCLOPS-FLAG
    MAGIC-FLAG
    RAINBOW
    GNOME-DOOR
    CAROUSEL-FLIP
    CAGE-SOLVE
    BANK-SOLVE
    EGG-SOLVE
    SING-SONG
    CPSOLVE
    PALAN-SOLVE
    SLIDE-SOLVE>>

    <PSETG TCHOMP "The troll fends you off with a menacing gesture.">

    <ROOM "MTROL"

    "This is a small room with passages off in all directions.
    Bloodstains and deep scratches (perhaps made by an axe) mar the
    walls."
    "The Troll Room"
    <EXIT "WEST" "CELLA"
    "EAST" "NORTH" "SOUTH" (<GET-OBJ "TROLL">)>

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com