Dunnet (1982; GNU Emacs port 1992)
Author(s): Ron Schnell (ronnie@driver-aces.com)
Sources: Wikipedia: Dunnet (video game), dunnet.el source (GNU Emacs), IFDB: Dunnet, TV Tropes: Dunnet
Category: inspiration, Batch 10 (gameplay-mechanics mining). An adventure embedded in the editor itself, whose second act is a “you are inside the network” hacking sub-world with a simulated Unix shell.
Serves: ICE Breaker (assigned by Josh; see cart map)
What it is
Section titled “What it is”Dunnet is a text adventure that ships with GNU Emacs and runs with M-x dunnet (or emacs -batch -l dunnet). Ron Schnell wrote the original in 1982 in Maclisp on a DECSYSTEM-20, then ported it to Emacs Lisp on 25 July 1992. It has been distributed inside GNU Emacs since 1994, which makes it one of the most widely shipped text adventures ever written. The name packs its two halves together: “dun” from dungeon and “net” from ARPANET. It opens like a pastoral cave crawl, then turns into a network-hacking story where the map is a Unix system and the connections are the early internet.
Mechanics
Section titled “Mechanics”Mechanics below are cited from the shipped dunnet.el source (Version 2.01, part of GNU Emacs).
- Pastoral opening. You start “at a dead end of a dirt road,” with a shovel that carries a $19.99 price tag. Digging in the right spot unearths a CPU board with a VAX chip on it. Standard adventure verbs, treasures (gold, silver, platinum, diamonds, emeralds), and a room graph of roads, buildings, and caves.
- The turn into the machine. You reach a computer room holding “a VAX 11/780” named
pokey. A sign tells you: “To type on the console, use the ‘type’ command.” From there, the game becomes a computer simulated inside the game. - A simulated Unix shell. Logging into
pokeyprints “UNIX System V, Release 2.2 (pokey)” and asks for a login. The player character is Robert Toukmond: logintoukmond, passwordrobert. The shell implements a real-feeling verb set:ls,cd,pwd,cat,echo,ftp,rlogin,uncompress,exit. A piece of paper in the world even reminds you to typehelpfor help. - Network hacking. From
pokeyyouftpanonymously to a second host,gamma(an IBM 3090/600s in the Gamma Computing Center, wired by ethernet, speaking tcp/ip). The ftp sub-shell has its own commands (type,binary/bin,ascii,send/put,quit,help); sending a file removes it from your inventory, simulating an upload.rloginreaches a third machine literally namedendgame. - A second, DOS-flavored console. A PC in the world boots to its own prompt via the
resetcommand, with a DOS-style verb set (dir,type,command,a:/b:/c:). Two different simulated operating systems live inside the one Emacs buffer. - The endgame is an exam. The finale quizzes you on facts you could only know by having explored: your password on
pokey(“robert”), your login onendgame(“toukmond”), the price of the shovel, the bus company (“mobytours”), the megabytes on the VAX CPU board (“2”), the street named after a U.S. state (“vermont”), the protocol betweenpokeyandgamma(“tcp/ip”), and “the last name of the author of EMACS” (“stallman”). A wizard mode is gated behind the passwordmoby, which the win screen finally reveals. - Editor in-jokes. A wax statuette of Richard Stallman melts into a diamond in a sauna at high heat, and the exam asks who wrote EMACS. The game knows it is running inside Emacs and plays with it.
Mineable patterns
Section titled “Mineable patterns”- An adventure that lives inside the tool. The game is a mode of the editor, launched with a single command and played in an ordinary buffer. The authoring environment is also the runtime.
- A “you are inside the computer” sub-world. The fiction’s map is a machine. Rooms become hosts, movement becomes login and ftp and rlogin, and exploration becomes reconnaissance of a network.
- A simulated shell as a puzzle surface. A convincing but bounded command line, a real-looking
ls/cat/ftpthat only implements what the puzzle needs, gives the operator the feel of a Unix session while staying fully scripted. - Nested consoles. More than one simulated OS inside the same session (a Unix host and a DOS PC), each with its own prompt and verb set, reached by switching “into” a device.
- Knowledge as the key. An endgame that quizzes the player on observed detail, rewarding attention and turning the whole playthrough into notes for a final exam.
- Self-aware environment humor. Jokes that only land because the player knows what they are running the game inside.
KN-86 resonance
Section titled “KN-86 resonance”- Dunnet is the on-the-nose ancestor of KN-86’s editor lineage: an adventure authored in a Lisp and played inside an Emacs-family environment. KN-86 carries an onboard KEC Lisp REPL and the nEmacs structural editor, the same soil an editor-embedded game grows in.
- The “you are inside the network” second act maps directly onto KN-86’s hacking and intrusion fiction: hosts as rooms, login and ftp and rlogin as traversal, a simulated shell as the interaction model.
- The simulated-shell-as-puzzle pattern pairs with the deck’s keyboard-first, text-only stance. A bounded command line that feels like a real session is a natural cart surface for an amber terminal with no pointer.
- Dunnet as a hidden game bundled inside a serious tool rhymes with KN-86’s Legacy Terminal mode (ADR-0021), a concealed environment reached from the normal one.
Sources & verification
Section titled “Sources & verification”- Confirmed from the shipped source (
dunnet.el, header: Author Ron Schnell, Created 25 Jul 1992, Version 2.01, part of GNU Emacs, GPL): the dirt-road opening, the shovel, the VAX 11/780pokey, thetypeconsole command, the “UNIX System V, Release 2.2” login astoukmond/robert, the shell verb set (ls cd pwd cat echo ftp rlogin uncompress exit), anonymous ftp togamma, the DOS/PC console viareset, therlogintoendgame, the endgame quiz, the wizard passwordmoby, and the Stallman-statuette gag. - Confirmed from Wikipedia and IFDB: the original 1982 Maclisp/DECSYSTEM-20 version, the 1992 Emacs Lisp port, bundling with GNU Emacs since 1994, and the dungeon+ARPANET etymology.
- Unverified and corrected: the research brief mentioned hunting for “a cookie,” but no “cookie” object or mechanic appears in the shipped Emacs
dunnet.el. The actual hunt is for machine passwords and the wizard passwordmoby, with the endgame exam as the gate. A “cookie” may belong to the 1982 mainframe original or be a misremembering; I could not confirm it and did not present it as fact. - No Internet Archive game item is cited because Dunnet is distributed as source inside GNU Emacs; the primary citation is the
dunnet.elfile itself. - Overall confidence: high on the Emacs-version mechanics (read directly from source) and on the port and bundling history. The only correction is the “cookie” detail.