Skip to content

Zork

The MIT mainframe adventure that became Infocom's trilogy

Zork was written for fun in 1977 by four members of MIT's Dynamic Modelling Group on a PDP-10, and spread by word of mouth to players across the United States. Its parser understood whole sentences. Cut into three parts and run on a virtual machine, it became Infocom's first product: Zork I in 1980, Zork II in 1981 and Zork III in 1982. Zork I alone had sold about a quarter of a million copies by 1984. MIT has since published the 1977 mainframe source, and Microsoft released the Infocom source of the trilogy under the MIT licence in 2025.

“It is pitch black. You are likely to be eaten by a grue.” The line is still in the Zork I source code, in the routine that describes a room, and it exists because players complained. In the first version of Zork, wandering in the dark meant falling into a bottomless pit, and players pointed out that a bottomless pit in an attic ought to be visible from the ground floor. Dave Lebling invented the grue instead. Zork was built that way, by a handful of programmers at MIT answering the people who played it, and the result was the adventure that turned into Infocom.

Fast facts

  • Authors: Tim Anderson, Marc Blank, Bruce Daniels and Dave Lebling, of the Dynamic Modelling Group at MIT’s Laboratory for Computer Science.
  • Original: a DEC PDP-10 mainframe game written in MDL, begun in 1977 and updated until January 1981.
  • Commercial games: Zork I (1980), Zork II (1981) and Zork III (1982), published first by Personal Software and then by Infocom.
  • Technology: a virtual machine its designers called the Z-machine as early as 1980.
  • Sales: about a quarter of a million copies of Zork I by early 1984.
  • Source code: the 1977 MDL source published by MIT Libraries; the Infocom source of the trilogy on GitHub since 2019, and under the MIT licence since 2025.

A game to beat Adventure

In the spring of 1977 the players at MIT’s Dynamic Modelling Group had finished Adventure. “By late May, ADVENTURE had been solved, and various DM’ers were looking for ways to have fun,” Tim Anderson wrote in Infocom’s newsletter, The New Zork Times, in 1985. Marc Blank was on a break from medical school, Anderson had just finished his master’s degree and Bruce Daniels was bored with his PhD topic.

Dave Lebling had already written a command parser in MDL, a LISP-like language developed at MIT, that was “almost as smart as ADVENTURE’s”. Anderson and Blank used it for a four-room prototype. Then Anderson, Blank and Daniels sat down to write a real game while Lebling was away, and by the time he got back it had the thief, the cyclops, the troll, the reservoir and dam, the house, the maze and more. Files from June and July 1977 survive on the laboratory’s backup tapes. “Zork” was a nonsense word used around the laboratory, usually as a verb, as in “zork the fweep”.

Nobody announced the game. People logged in to the group’s PDP-10, saw someone running a program called ZORK and asked about it. By mid-1978, Electronic Games wrote later, students were dialling in to MIT from terminals across the United States to play it. For a while the authors called it Dungeon, until “a certain company (which shall remain nameless)” claimed trademark rights to the name, in Anderson’s words, and they went back to Zork. A programmer at DEC translated the game into FORTRAN in early 1978, and that version, still called Dungeon, spread to other computers.

The authors kept adding to it. Lebling gave fights the “full complexity of D&D-style fighting”, with wounds, unconsciousness and different strengths for different weapons, and gave the thief his stiletto. By the end the game held about a megabyte, and it grew, Lebling wrote in BYTE in December 1980, “to strain even the megabyte address space of that machine”. The last mainframe update was made in January 1981.

Sentences, not two words

Most adventures of the time understood two words, a verb and a noun. Zork read whole sentences. Lebling’s BYTE article gave a vocabulary of over 600 words, including 100 verbs, and an example of what the parser could handle: “Put all of the books but the green one under the rug”. The parser reduced each command to a verb, a direct object and an indirect object. Lebling saw it as a trade: a clever parser let the authors write subtler puzzles, but it also made players expect the game to understand almost anything, and “only a small number of concepts can be implemented given the available space”.

Three games from one

In June 1979 three of the authors, Anderson, Blank and Lebling, joined seven colleagues from the laboratory to found Infocom, and Zork, already written and tested, became its first product. The mainframe game would not fit a home computer with 32K of memory, so Infocom did two things. Lebling drew a boundary round a part of his map that held about 100 locations. The Zork I source that survives defines 110 rooms. The rest was held back for sequels, with new puzzles added to fill the space. The game was then compiled for a virtual machine. Every computer needed only a small interpreter, and once that existed the game ran unchanged; in December 1980 there were interpreters for the Apple II, TRS-80, PDP-10 and PDP-11. In the virtual machine’s instruction set, moving an object from one room to another took three bytes.

Personal Software, the publisher of VisiCalc, sold Zork I: The Great Underground Empire on floppy disk for the Apple II and TRS-80 at $39.95. Retro Gamer says a PDP-11 version came first, in November 1980, followed a month later by the TRS-80 version, and that Personal Software sold 1,500 TRS-80 and 6,000 Apple II copies. Jerry Pournelle, reviewing it in BYTE that December, admitted he had “wasted incredible amounts of time playing the original Zork on a PDP-10”. Infocom disliked Personal Software’s box, which showed a warrior hacking away, bought back the unsold stock and from October 1981 sold the game itself, with Zork II a month later.

Each part had its own villain. In Zork I a thief stalks the underground ruins, stealing the treasures you are trying to collect. In Zork II the Wizard of Frobozz appears at random and casts spells at you. Zork III, advertised in November 1982, ends with a meeting with the Dungeon Master himself, and Electronic Games found it “by far the most difficult to master”.

Hits and hint books

The trilogy sold for years. In a Computer Gaming World list of top sellers compiled from publishers’ figures up to 30 June 1982, Zork I was second with 32,000 copies. Infocom’s advertisements that year boasted that Softalk’s readers had voted Zork I and II the most popular adventures of 1981. In March 1984 Electronic Games reported that Zork I alone had sold about a quarter of a million copies, when 100,000 counted as a “superhit”. Retro Gamer says that at the end of 1983 the three-year-old Zork I was still at the top of the Softsel chart, ahead of Lode Runner and Ultima III. By 1987 Infocom’s advertisements claimed “nearly one million” copies of the trilogy.

Stuck players wrote in. Mike Dornbrook, an MIT friend of the authors and Infocom’s first play-tester, answered them, then set up the Zork Users Group to sell maps and hints, charging $2 a question. In 1982, when the letters became too many, a friend suggested hints printed in invisible ink that a special pen would reveal one at a time. They became Infocom’s InvisiClues.

Later Zorks

The name outlived Infocom’s text games. Infocom added role-playing statistics in Beyond Zork (1987) and pictures in Zork Zero (1988). After Activision closed Infocom’s studio, it turned Zork into graphical adventures with Return to Zork (1993), Zork Nemesis (1996) and Zork: Grand Inquisitor (1997). PC Gamer reported in 1996 that Return to Zork had sold more than a million copies.

The source code

Zork‘s code is public at both ends of its history. MIT Libraries’ Department of Distinctive Collections has published the MDL source of 1977 and 1978 versions of the mainframe game, recovered from the Laboratory for Computer Science’s backup tapes, and releases them under the MIT No Attribution licence as far as MIT holds rights. In April 2019 the archivist Jason Scott posted the source code of Infocom’s games, written in Infocom’s own Zork Implementation Language, to GitHub. On 20 November 2025 Microsoft, which by then owned Activision, released the source of Zork I, II and III under the MIT licence through those same repositories.

Sources

  • Tim Anderson and Stu Galley, “The History of Zork”, The New Zork Times (Infocom), vol. 4 nos. 1–3, Winter–Summer 1985 (web): the Dynamic Modelling Group after Adventure; the authors in 1977; Lebling’s parser and the four-room prototype; the first working game; the name and “zork the fweep”; spread by word of mouth; Dungeon and the trademark claim; the FORTRAN translation at DEC; grues; fighting and the thief; the last mainframe update in January 1981; the one-megabyte game and the boundary of about 100 locations for Zork I. https://ifarchive.org/if-archive/infocom/articles/NZT-Zorkhistory.txt

  • P. David Lebling, “Zork and the Future of Computerized Fantasy Simulations”, BYTE vol. 5 no. 12, December 1980, pp. 172 onward: the authors; the PDP-10 original and its megabyte address space; the virtual machine, three-byte instruction and interpreters; the vocabulary, the example sentence and the parser’s structure; the trade-offs of a clever parser; Personal Software as distributor.

  • Jerry Pournelle’s column, BYTE vol. 5 no. 12, December 1980, p. 235: Zork written in MDL by “the Four Implementors”; Zork I from Personal Software at $39.95; playing the PDP-10 original.

  • Page 6 issue 11, September 1984, adventure column: the FORTRAN translation of Zork distributed as Dungeon.

  • Tracie Forman, “The Challenge of Zork”, Electronic Games vol. 2 no. 12, March 1984, pp. 54–56: a quarter of a million copies of Zork I; the thief, the wizard and the Dungeon Master; Zork III the hardest; mid-1978 players across the country; Mike Dornbrook, the Zork Users Group and invisible-ink hints.

  • “List of Top Sellers (as of 30 June 1982)”, Computer Gaming World vol. 2 no. 5, September–October 1982: Zork I, 32,000 copies.

  • Infocom advertisement, ANALOG Computing issue 8, November 1982, p. 44: Zork III announced; the Softalk readers’ poll.

  • Infocom advertisement for Beyond Zork, Computer Gaming World issue 41, November 1987, p. 9: the trilogy “selling nearly one million copies”.

  • “From Zork to Zero: The Infocom Story”, Retro Gamer issue 10, 2004: the Dynamic Modelling Group and MDL; Infocom’s founding; the Z-machine interpreters; the three-part split; the PDP-11 and TRS-80 releases and Personal Software’s sales; the box and the buy-back; Zork II; the Softsel chart at the end of 1983.

  • PC Gamer (UK) issue 28, March 1996, p. 23: Return to Zork sales and Zork Nemesis.

  • Computer Gaming World issue 156, July 1997, p. 59: timeline of Zork games, with Zork Nemesis (1996); issue 161, December 1997, p. 38: advertisement for Zork: Grand Inquisitor.

  • Historical source: Zork I source code, gverbs.zil (the “pitch black” message) and 1dungeon.zil (the rooms), historicalsource/zork1 on GitHub (web). https://github.com/historicalsource/zork1

  • MIT Libraries Department of Distinctive Collections, Zork source code from the Tapes of Tech Square collection, GitHub MITDDC/zork, MITDDC/zork-1977-07 and MITDDC/zork-1978-01 (web): the 1977 and 1978 MDL source and its licence. https://github.com/MITDDC/zork

  • “The Source Code For All Infocom Text Adventure Classics Has Been Released”, Slashdot, 18 April 2019 (web, secondary): Jason Scott’s upload of the Infocom source to GitHub. https://games.slashdot.org/story/19/04/18/2132228/the-source-code-for-all-infocom-text-adventure-classics-has-been-released

  • Microsoft Open Source Blog, “Preserving code that shaped generations: Zork I, II, and III go Open Source”, 20 November 2025 (web, secondary). https://opensource.microsoft.com/blog/2025/11/20/preserving-code-that-shaped-generations-zork-i-ii-and-iii-go-open-source/

  • Marc S. Blank and S. W. Galley, “How to Fit a Large Program Into a Small Machine”, Creative Computing vol. 6 no. 7, July 1980, pp. 80–88: “Z-machine”, “Z-code” and “ZIP (Zork Interpretive Program)”.

See also

Checked. Verified against primary sources and signed off by a person.