Update: Find out more about the 50 Years of Text Games book and the revised final version of this article!
Zork
a.k.a Dungeon
by Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling
First Appeared: late June 1977
First Commercial Release: December 1980
Language: MDL
Platform: PDP-10
Opening Text:You are in an open field west of a big white house, with a boarded front door. There is a small mailbox here.
[Note: contains spoilery discussion of the jeweled egg, cyclops, and robot puzzles.]
If Adventure had introduced hackers to an intriguing new genre of immersive text game, Zork was what brought it to the public at large. In the early 1980s, as the personal computer revolution reached into more and more homes, a Zork disk was a must-buy for first-time computer owners. By 1982 it had become the industry’s bestselling game. In 1983, it sold even more copies. Playboy covered it; so did Time, and American astronaut Sally Ride was reportedly obsessed with it. In 1984 it was still topping sales charts, beating out much newer games including its own sequels. At the end of 1985 it was still outselling any other game for the Apple II, half a decade after its first release on the platform, and had become the bestselling title of all time on many other systems besides.
Its creation can be traced to a heady Friday in May 1977 on the MIT campus in Cambridge, Massachusetts. It was the last day of finals week, and summer was kicking off with a bang for the school’s cohort of tech-obsessed engineers: a new movie called Star Wars opened that day in theaters, the groundbreaking Apple II had just been released, and Adventure was exploding across the terminals of computer labs nationwide, thousands of students having no further distractions, at last, to keep them from solving it.
Among those obsessive players were four friends at a campus research lab, the Dynamic Modeling Group. Within two weeks they’d solved Adventure, squeezing every last point from it through meticulous play and, eventually, the surgical deployment of a machine-language debugger. Once the game was definitively solved, they immediately hatched plans to make something better. Not just to prove the superiority of their school’s coding prowess over Don Woods at Stanford—though that was undoubtedly part of it—nor simply because many were dragging their feet on graduating or finding jobs, and a challenging new distraction seemed immensely appealing—though that was part of it too. But the most important factor was that Adventure had been so incredibly fun and, regrettably, there wasn’t any more of it. “It was like reading a Sherlock Holmes story,” one player recalled, “and you wanted to read another one of them immediately. Only there wasn’t one, because nobody had written it.”
The four friends were an eclectic group of grad students ranging in age from 22 to 28, united by shared sensibilities and a love of hacking. Dave Lebling had a political science degree and had started programming only because of an accidental hole in his freshman year schedule. A “voracious reader” and “frustrated writer,” he’d helped design Maze in 1973, one of the earliest graphical exploration games and first-person shooters. Marc Blank was young, tall, thin, and technically enrolled in med school, but found messing around with computers an addictive distraction. Bruce Daniels was nearing thirty and increasingly bored with his PhD topic; he’d helped develop the lab’s pet project, the MDL programming language, and was always eager to find new ways of showing it off. And Tim Anderson was close to finishing his master’s but none too excited about leaving the heady intellectual community at MIT. With Adventure solved, the four sat down to hack together a prototype for an improved version, which would run like the earlier game on a PDP-10 mainframe. Needing a placeholder name for the source file, they typed in zork, one of many nonsense words floating around campus that could, among other usages, be substituted for an offensive interjection.
The game they began to create was at first quite similar to Adventure, so much so that historian Jimmy Maher has noted parts of it are more remake than homage. Both games begin in a forest outside a house containing supplies for an underground expedition, including food, water, and a light source with limited power; in both you search for treasures in a vast underground cave system and score points by returning them to the building on the surface; both feature underground volcanoes, locked grates, trolls, and a “maze of twisty little passages, all alike.” Hacker tropes and nods to other early text games abound, like a huge bat who whisks you off to another location like in Hunt the Wumpus. But as Zork expanded, it began to develop its own character: less realistic than the caverns sketched from Will Crowther’s real-life experience, but also more whimsical, more threatening, and driven by an improved parser and world model.
>open trap door The door reluctantly opens to reveal a rickety staircase descending into darkness. >down It is pitch black. You are likely to be eaten by a grue. Your sword is glowing with a faint blue glow. >what is a grue? The grue is a sinister, lurking presence in the dark places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
The infamous grues were invented as a solution to a sort of bug: not with the game’s code, but with the player’s suspension of disbelief. In early versions of Zork, as in Adventure, you’d fall into a bottomless pit if you tried to move through a dark room without a portable light source. But someone noticed this could happen in Zork even in the dark attic of the above-ground house. Lebling, stealing the word “grue” from a Jack Vance novel, invented a new and more broadly applicable threat for dark places. The next update reported wryly that Bruce Daniels had spent weeks filling in the dungeon’s old bottomless pits.
>light lantern The lamp is now on. You are in a dark and damp cellar with a narrow passageway leading east, and a crawlway to the south. On the west is the bottom of a steep metal ramp which is unclimbable. The trap door crashes shut, and you hear someone barring it. >up The door is closed. >east You are in a small room with passages off in all directions. Bloodstains and deep scratches (perhaps made by an axe) mar the walls. A nasty-looking troll, brandishing a bloody axe, blocks all passages out of the room. The troll's axe barely misses your ear. Your sword has begun to glow very brightly.
The troll is easy enough to dispatch with the “elvish sword of great antiquity” found early on (which glows blue when enemies are near, à la Tolkien). But Zork also featured a more memorable antagonist, a parallel to Adventure’s pirate who would pop up from time to time to steal your treasure.
>inventory You are carrying: A lamp A sword A painting A platinum bar >north You are standing in a small circular room with a pedestal. A set of stairs leads up, and passages leave to the east and west. There is an extremely valuable (perhaps original) grail here. Someone carrying a large bag is casually leaning against one of the walls here. He does not speak, but it is clear from his aspect that the bag will be taken only over his dead body. Your sword has begun to glow very brightly. >get grail Taken. >kill thief Your stroke lands, but it was only the flat of the blade. The thief slowly approaches, strikes like a snake, and leaves you wounded. The other occupant just left, still carrying his large bag. You may not have noticed that he robbed you blind first. >inventory You are carrying: A lamp A sword >
The thief was more sophisticated than Adventure’s pirate. Not only does he steal treasure, he wanders the map at will, sometimes picking up other items he finds and discarding them later when he loses interest. Sometimes he’ll ignore the player, but often he’ll lash out first with his stiletto: fighting back is ineffectual early on, but as the player’s score goes up—from returning more and more treasure to the surface—combat becomes progressively easier. The thief also had a more subtle role to play in one of the game’s most confounding puzzles:
You are about 10 feet above the ground nestled among some large branches. The nearest branch above you is above your reach. On the branch is a small birds nest. In the bird's nest is a large egg encrusted with precious jewels, apparently scavenged somewhere by a childless songbird. The egg is covered with fine gold inlay, and ornamented in lapis lazuli and mother-of-pearl. Unlike most eggs, this one is hinged and has a delicate looking clasp holding it closed. The egg appears extremely fragile. >get egg Taken. >open it There is no obvious way to open the egg.
The player can smash the egg, revealing a golden clockwork canary inside, but doing so damages both items and renders them worthless. No command or tool exists that lets the player open the egg without ruining it. The correct solution, counter to all adventuring instincts, is to let the thief steal the egg. Later, once the player gains enough experience to defeat him, he can be tracked to his lair at the heart of the maze and dispatched. Found amidst his treasures are the canary and the opened egg, undamaged. The implication helps characterize the thief and gives him a hint of an inner life: an insatiable curiosity, and an unparalleled expertise.
The thief, along with the rest of Zork, evolved in a way that few previous text games had: through continuous interaction with an active player base. (1975’s PLATO game dnd was a notable earlier example.) The PDP-10 on which the game lived ran a homegrown operating system called ITS—the Incompatible Timesharing System, in reference to an earlier and much-derided “Compatible” OS. Part of the hacker ethos in the 1970s was that information should be maximally free, and to that end the developers of ITS had made it an entirely open system, with no modern notions of security or privacy. No passwords, no superusers: anyone could view and run anyone else’s files, or watch what was happening on any connected user’s terminal. This permissiveness spread even to remote users connecting to an ITS system over the ARPANET. And this meant net spelunkers could discover Zork, even without its creators publicly announcing it or promoting it, simply by logging into the Dynamic Modeling Group’s PDP-10 and watching what its users were up to. Much like devs in the 2010s livestreaming game development on Twitch, distant spectators could watch Zork’s creators test and play their game in real-time, as they were making it. It wasn’t long before the spectators figured out how to launch the unfinished game themselves and begin their own expeditions into the Great Underground Empire.
The thirst for a new Adventure was intense, and Zork, though still unfinished, became so popular its creators set up an official email list for its players. They also used an in-game newspaper called the US News & Dungeon Report (found in the living room of the white house) to advertise the latest fixes and improvements:
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.
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.
Zork’s parser represented another improvement over Adventure. While the earlier game could only understand inputs of two words at a time—a verb and a noun—Zork added support for multi-word verbs and nouns like look under or trap door, as well as the concept of both a direct and indirect object, enabling commands that simply hadn’t previously been possible such as attack troll with sword or put jewels in sack. As time went on, the team added pronouns, articles, and the ability to chain multiple commands together or refer to groups of objects more selectively, eventually touting that their parser could understand a command as complex as put all of the valuables except the torch and the coin into the trophy case. While inputs this long were rare in practice, the new parser’s smarts lent it a certain mystique it would never entirely shed, making Zork’s possibility space seem even more unbounded. “I’m not sure it can be solved,” wrote one overwhelmed reviewer: “there is so much in it and the possibilities seem staggering.” Zork’s creators had written about how their program could “simulate enough of the universe to appear to be more intelligent than it really is,” and a parser whose capabilities were less easy to understand was a key part of that illusion of intelligence.
With a mainframe’s generous space, Zork’s creators were free to keep expanding their game and riddling it with more and more responses to unexpected inputs, often indulging in their idiosyncratic sense of humor.
>win Naturally!
>eat money Talk about eating rich foods!
>count leaves There are 69,105 leaves here.
But despite their philosophical commitment to the open model of ITS, the team recognized that a fundamental appeal of Adventure-likes was their ability to surprise you with unexpected messages, as well as provide challenging puzzles—“problems,” as the team called them—which would be spoiled if players could view the game’s source code. They hacked ITS to prevent access to the one folder containing Zork’s secrets. One clever user nevertheless found a way to download the forbidden files; the MIT team was so impressed with his technique they weren’t even angry. The purloined game, then entitled Dungeon (the creators had briefly changed the name before reverting it in 1978) found its way to Bob Supnik of DEC, the makers of the PDP-10; Supnik kept the Dungeon name and ported the game to Fortran. It would proliferate through various systems on a parallel but distinct trajectory to the official Zork, and was how many outside the PDP/ARPANET ecosystem would first encounter it—including the authors of the first multi-user Dungeon, known as MUD.
While pilfering the source code had been something of a meta-puzzle, adding new official problems for the growing fan community kept the team busy through 1978 and into early 1979. Implementing them often required extending Zork’s core engine, expanding the codebase to support simulating and understanding more and more things. Vehicles were added which could be entered and steered through rooms; a more robust combat system inspired by Dungeons & Dragons worked its way into the game; an entire sliding-block puzzle maze of moving rooms showed up. In one area, the player finds a trapped treasure that seems impossible to retrieve:
You are in a dingy closet adjacent to the machine room. On one wall is a small sticker which says Protected by FROBOZZ Magic Alarm Company (Hello, footpad!) There is a beautiful crystal sphere here. >take sphere As you reach for the sphere, a steel cage falls from the ceiling to entrap you. To make matters worse, poisonous gas starts coming into the room.
Though there is no escape from the cage, a player who dies and tries again can find nearby something rather incongruous, for a dungeon: a robot.
!!!! FROBOZZ MAGIC ROBOT COMPANY !!!! Hello, Master! I am a late-model robot, trained at MIT Tech to perform various simple household functions. Instructions for use: To activate me, use the following formula: >TELL ROBOT '<something to do>' <cr> The quotation marks are required!
The solution is to instruct the robot to follow you into the room with the sphere, and lift the cage.
>tell robot 'go east' Done. >east Machine Room There is a robot here. >tell robot 'go south' Done. >south Dingy Closet There is a robot here. There is a beautiful white crystal sphere here. >get sphere As you reach for the sphere, a steel cage falls from the ceiling to entrap you. To make matters worse, poisonous gas starts coming into the room. >tell robot 'lift cage' The cage shakes and is hurled across the room. >take sphere Taken. >north
Though each of these new innovations were only used in one or two places—the robot can’t help you solve puzzles outside of its own small area—each were programmed as reusable, abstract systems, not special-case exceptions. Its creators, in short, built a reusable engine. In later years when they’d found a company called Infocom and start selling text adventures commercially, this would prove incredibly useful. A robot that could understand orders and carry out actions, for instance, would become the basis for an entire future game, Suspended (1983), which would exercise the concept in a much more thorough and thought-provoking way. The parser and its world model could be copied over for each new game, continuously improved but largely providing a stable platform on which to build more interesting work. Instead of continually rebuilding the stage, they could start to focus on the stories one might tell on it.
Zork is more remembered today for its pride of place than its actual gameplay. Scholar Nick Montfort praises its innovations, but calls it “a very early and rough effort” that’s “not a masterwork by today’s standards.” A 21st-century reviewer notes that it “wants nothing more than to see you fail, and it’s not overly concerned with how much fun you might be having.” The game’s worldbuilding was a bit of a mess, putting robots alongside elvish swords, Alice in Wonderland puzzles near a mechanized flood control dam, and underground chasms beside underground broom closets. It populates an otherwise eerie Land of the Dead with gratuitous hacker in-jokes. Zork’s “problems” could be arbitrary or unfair: the way to defeat a cyclops is to scare him off by saying the name of his rival Odysseus, something few players would think to try. Many puzzles (including that one) did have alternate solutions. But a player base consisting almost entirely of university hackers expected challenging problems: too simple, and they would have stopped playing. Today’s games are made for broader audiences used to far less friction.
And yet Zork was massively successful in its own right and as a follow-up to Adventure, a second draft of sorts that more fully explored the possibilities inherent in the new kind of game Crowther and Woods had prototyped. In February 1979, Zork’s creators declared it finished in part because they had run out of room to keep building: the MDL language only supported an address space of 256,000 36-bit words—roughly a megabyte of text and code—and the game had brushed up against that limit. It had expanded to include nearly two hundred rooms, a vocabulary of nine hundred words, thirty-one treasures to collect, and a challenging endgame for master explorers. Its creators had also been stretching the limits of their welcome at MIT, several long-since graduated and unsure what they wanted to do next. With a handful of other alums and faculty, some would found Infocom and run it at first out of their living rooms and apartments, not even getting a P.O. Box until nine months later. Though they had vague hopes of making some kind of business software, their first commercial product would be a program they already had on hand: Zork. There would be significant challenges in squeezing the massive mainframe game into the minuscule capabilities of the first generation of personal computers, but the team would overcome them (in part by splitting the game into a trilogy) and the rest would be history. Infocom would become one of the most legendary text game studios of the century.
Zork is noteworthy for more than just its commercial success. When the Library of Congress decided in 2007 to start archiving games with cultural significance, it was one of the first ten selected. Influencing the aesthetics of games for a generation, leaving behind tropes like grues and brass lanterns, it would also provide an enduring technical foundation for future text game creators. After Infocom’s demise, its engine would be reverse-engineered by fans to become the platform for the popular Inform and Inform 7 design languages, letting new generations of creators keep exploring the possibility space it had opened up. Today thousands and thousands of games have been written that run in the Z-machine, Zork’s engine. “A sufficiently imaginative person or persons could probably do this indefinitely,” the team wrote in 1979 about the idea of using Zork’s framework to write new games, with no idea how prophetic those words would become.
Zork’s creators were thrilled about the new genre they helped popularize, which years later would become known as interactive fiction. Dave Lebling recalled the joy of merging two great passions: “the idea of combining writing and programming, it was like—Wow! How can I do this for my whole life?” As the years went on they became starry-eyed about their new medium’s potential, increasingly aware they were circling the edges of something more than a new kind of amusing diversion. It had the potential to be a whole new kind of art. But as they declared their game finished on that cold February day in 1979, they had no inkling yet of the explosive spring and heady summer to come: of how much work was left to do. “We were learning how to write adventure games,” Lebling wistfully recalls, “and it took a long time to learn to do them better.”
Next week: the story of the husband and wife team who founded the first successful computer game studio—a year before Ken and Roberta Williams founded theirs.
You can play Zork online; for a more authentic experience, you can use telnet on the command line to connect to the original mainframe version (instructions here, as well as links to various versions of the source code); or for a more modern experience with save games etc., download ZDungeon and run it in an interpreter like Lectrote; you could also just buy the commercial Zork games on Steam. A poster map of mainframe Zork is available. In addition to the sources linked inline above, thanks to the always-excellent research from The Digital Antiquarian, whose work you can support on Patreon.
This is such a great description of the origins of Zork! I found it confoundingly difficult as a kid growing up in Alabama—I think I probably first encountered it around 1985 for the Commodore 64. But there was something magnetic about it.
My brother was a programmer at a brewery in the early 80's, when I was in highschool. He brought over an acoustic coupler modem, keyboard, and monochrome terminal for us to use. The handset of the phone would be nestled into foam lined openings on the modem and connect to the mainframe at his job. We didn't get very far in Zork, but we were fascinated by it. We also got to watch an early animation created using only text characters: Bambi versus Godzilla.