From Free Software Directory
Jump to: navigation, search



Create free (as in freedom) RPGs with GNU Emacs. And then play them.

DungeonmodeB.png Dungeonmode.png

Dungeon-mode is a game engine and REPL for creating and playing multi-user dungeons written primarily in emacs lisp. While playing a game created with dungeon-mode doesn’t necessarily require Emacs authoring game environments (e.g. worlds) does, as do assigning special powers, resolving Ghod calls, Sage encounters, and Ubic -if enabled- or any other or custom events with a dm-intractable property set to a non-nil value. Dungeon Masters may specify delegation rosters to support cooperative oversight and enable teams to direct the play experience.



We are completing proofs of concept to assemble a minimum play-testable version (i.e. a minimum learning product"). Interactive exploration of dungeon maps (implemented in dm-map.el and bound to C-u <F8> or via M-x dm-map-draw RET) is modestly stable while features such as WISIWYG map editing are beginning to take form (see dm-sketch.el or try M-x dm-sketch RET).


    The name of the project is "dungeon".  
    The name of the product (e.g. of the software) is "dungeon-mode"
    In code, variables and functions are prefixed "dm-". 

This is consistent with the Emacs tradition of using lower case names for features and of suffixing "-mode" to programs that provide a primary/drive interface to Emacs while running.

"IRC general" IRC general channel

Related Projects

Extension or Plugin

This package can be used as an extension, plugin, or add-on to:



Verified by

Verified on


Verified by


Verified on

17 April 2020

Leaders and contributors

Corwin Brust (Corwin)Developer
Erik Elmshauser Designer
Hope Christensen (Trixiehorror)Senior Intern - Project Coordination Specialist II

Resources and communication

AudienceResource typeURI
GeneralVCS Repository Webviewhttps://git.savannah.nongnu.org/cgit/dungeon.git/

Software prerequisites

Required to useGNU Emacs (27.1 or newer)

This entry (in part or in whole) was last reviewed on 17 April 2020.


Property "Submitted by" (as page type) with input value "{{{Submitted by}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
"{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.

"Designer" is not in the list (Maintainer, Contributor, Developer, Sponsor, Unknown) of allowed values for the "Role" property.

"Senior Intern - Project Coordination Specialist II" is not in the list (Maintainer, Contributor, Developer, Sponsor, Unknown) of allowed values for the "Role" property.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.