Dunnet (video game)

Last updated
Dunnet
Dunnet start.png
The first scene of Dunnet
Developer(s) Ron Schnell
Release1982
Genre(s) Text adventure

Dunnet is a surreal, cyberpunk [1] text adventure written by Ron Schnell, based on a game he wrote in 1982. [2] The name is derived from the first three letters of dungeon and the last three letters of ARPANET .[ citation needed ] It was first written in Maclisp for the DECSYSTEM-20, then ported to Emacs Lisp in 1992. [3] Since 1994 the game has shipped with GNU Emacs; [4] it also has been included with XEmacs. [5]

Contents

The game has been recommended to writers considering writing interactive fiction. [6]

Plot

The game starts out with the player standing at the end of a dirt road, but it turns to the surreal when players realize that they are actually walking around inside a Unix system, and teleporting themselves around the Arpanet. There are many subtle jokes in this game, and there are multiple ways of ending the game. Throughout the game the player moves through different areas and rooms trying to collect treasure to earn points.

Legacy

Dunnet is playable on any operating system with the Emacs editor. [7] Emacs comes with most Unices, including macOS (prior to version 10.15 Catalina) [8] and distributions of Linux. Several articles targeted to Mac OS X owners have recommended it as an easter egg as a game that can be run in Terminal.app. [9] [10] It can be run by running emacs -batch -l dunnet in a shell or the key sequence M-x dunnet within Emacs, the former being the preferred and official way to run it. [11] Dunnet was used as a benchmark in the effort to port Emacs Lisp to Guile, progressing from running standalone games [12] to running the entire Emacs system in less than a person-year of work. [13]

Related Research Articles

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

<span class="mw-page-title-main">Emacs Lisp</span> Dialect of Lisp used as an Emacs scripting language

Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs. It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C, as is the Lisp interpreter. Emacs Lisp is also termed Elisp, although there are also older, unrelated Lisp dialects with that name.

<span class="mw-page-title-main">Interactive fiction</span> Nonlinear narratives set by audience decisions

Interactive fiction, often abbreviated IF, is software simulating environments in which players use text commands to control characters and influence the environment. Works in this form can be understood as literary narratives, either in the form of interactive narratives or interactive narrations. These works can also be understood as a form of video game, either in the form of an adventure game or role-playing game. In common usage, the term refers to text adventures, a type of adventure game where the entire interface can be "text-only", however, graphic text adventures still fall under the text adventure category if the main way to interact with the game is by typing text. Some users of the term distinguish between interactive fiction, known as "Puzzle-free", that focuses on narrative, and "text adventures" that focus on puzzles.

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop, NetBeans do not.

<span class="mw-page-title-main">XEmacs</span>

XEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s. Any user can download, use, and modify XEmacs as free software available under the GNU General Public License version 2 or any later version.

The Z-machine is a virtual machine that was developed by Joel Berez and Marc Blank in 1979 and used by Infocom for its text adventure games. Infocom compiled game code to files containing Z-machine instructions and could therefore port its text adventures to a new platform simply by writing a Z-machine implementation for that platform. With the large number of incompatible home computer systems in use at the time, this was an important advantage over using native code or developing a compiler for each system.

<span class="mw-page-title-main">GNUstep</span> Open source widget toolkit and application development tools

GNUstep is a free software implementation of the Cocoa Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.

<span class="mw-page-title-main">GNU TeXmacs</span> Open-source word processor

GNU TeXmacs is a scientific word processor and typesetting component of the GNU Project. It originated as a variant of GNU Emacs with TeX functionalities, though it shares no code with those programs, while using TeX fonts. It is written and maintained by Joris van der Hoeven and a group of developers. The program produces structured documents with a WYSIWYG user interface. New document styles can be created by the user. The editor provides high-quality typesetting algorithms and TeX and other fonts for publishing professional looking documents.

<span class="mw-page-title-main">Gnus</span>

Gnus, or Gnus Network User Services, is a message reader which is part of GNU Emacs. It supports reading and composing both e-mail and news and can also act as an RSS reader, web processor, and directory browser for both local and remote filesystems.

Incompatible Timesharing System (ITS) is a time-sharing operating system developed principally by the MIT Artificial Intelligence Laboratory, with help from Project MAC. The name is the jocular complement of the MIT Compatible Time-Sharing System (CTSS).

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

Hemlock is a free Emacs text editor for most POSIX-compliant Unix systems. It follows the tradition of the Lisp Machine editor ZWEI and the ITS/TOPS-20 implementation of Emacs, but differs from XEmacs or GNU Emacs, the most popular Emacs variants, in that it is written in Common Lisp rather than Emacs Lisp and C—although it borrows features from the later editors. Hemlock was originally written by the CMU Spice project in Spice Lisp for the PERQ computer.

Bernard S. Greenberg is a programmer and computer scientist, known for his work on Multics and the Lisp machine.

libffi is a foreign function interface library. It provides a C programming language interface for calling natively compiled functions given information about the target function at run time instead of compile time. It also implements the opposite functionality: libffi can produce a pointer to a function that can accept and decode any combination of arguments defined at run time.

<span class="mw-page-title-main">GNU Emacs</span> GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its tag line is "the extensible self-documenting text editor."

Clozure CL (CCL) is a Common Lisp implementation. It implements the full ANSI Common Lisp standard with several extensions. It contains a command line development environment, an experimental integrated development environment (IDE) for Mac OS X using the Hemlock editor, and can also be used with SLIME. Clozure CL is open source and the project is hosted by Clozure Associates.

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 29.1, released July 2023.

<span class="mw-page-title-main">Scripting language</span> Programming language for run-time events

A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.

<span class="mw-page-title-main">Ron Schnell</span> American chief technology officer

Ronald Steven Schnell is an American computer programmer in Weston, Florida. He was co-founder of Mail Call in 1997 and the chief technology officer of Rand Paul's 2016 presidential campaign.

References

  1. "There Is A Surreal Cyberpunk Adventure Game Built Into OS X That You Never Knew About".
  2. "Original 1982 Dunnet predecessor found in MIT archives". GitHub . 8 April 2021.
  3. Ron Schnell (1992-07-28). "dunnet - text adventure for e-lisp".
  4. Richard M. Stallman (1994). GNU Emacs Manual. Free Software Foundation. p. 314. ISBN   9781882114047. M-x dunnet runs an adventure-style exploration game, which is a bigger sort of puzzle [compared to the other puzzle-games that ship with GNU Emacs].
  5. Ben Wing. "A Tour of XEmacs". Archived from the original on 2000-06-19. Retrieved 2015-07-27. Most of the actual editor functionality is written in Lisp and is essentially an extension that sits on top of the XEmacs core. XEmacs can do very un-editorlike things; for example, try running XEmacs using the command xemacs -batch -l dunnet.
  6. "Interactive Fiction – An introduction (updated)". Archived from the original on 2015-08-23.
  7. "Dunnet". A text adventure that is built into almost every copy of the Emacs text editor.
  8. "EmacsForMacOS". EmacsWiki. Archived from the original on 2008-10-22. Retrieved 2021-04-16.
  9. "Play an 'old-school' adventure game".
  10. "Discover the Text-Based Adventure Game Built Into Your Mac's Terminal". 14 April 2013.
  11. Dunnet help command: "NOTE: This game *should* be run in batch mode!"
  12. "Guile Scheme Emacs-Lisp Compatibility Matures". 2 April 2012.
  13. "Re: Emacs Lisp's future".