# dungeon-mode

> game engine and REPL for creating and playing multi-user dungeons on GNU Emacs

**Wikidata**: [Q100371084](https://www.wikidata.org/wiki/Q100371084)  
**Source**: https://4ort.xyz/entity/dungeon-mode

## Summary
**dungeon-mode** is a game engine and interactive REPL (read–eval–print loop) designed for creating and playing multi-user dungeons (MUDs) directly within GNU Emacs. It combines role-playing game mechanics with Emacs Lisp scripting, enabling real-time collaborative gameplay and development in a text-based environment.

## Key Facts
- **Purpose**: A game engine and REPL for multi-user dungeon (MUD) creation and gameplay within GNU Emacs.
- **Platform**: Runs exclusively on GNU Emacs.
- **Programming Language**: Written in Emacs Lisp.
- **License**: Free software (part of the free software movement).
- **Operating Systems**: Compatible with GNU/Hurd, BSD, Microsoft Windows, macOS, and iOS.
- **Source Code**: Hosted on Savannah (GNU) and GitHub.
- **IRC Channel**: Community support available at `irc://irc.freenode.net/#dungeon-mode`.
- **Aliases**: Also known simply as "dungeon."

## FAQs
### Q: What is dungeon-mode used for?
A: dungeon-mode is used to create and play text-based multi-user dungeons (MUDs) within GNU Emacs, blending gameplay with live coding via a REPL.

### Q: Which operating systems support dungeon-mode?
A: It runs on GNU/Hurd, BSD, Microsoft Windows, macOS, and iOS, provided GNU Emacs is installed.

### Q: Is dungeon-mode open-source?
A: Yes, it is free software licensed under the free software movement, with source code available on Savannah and GitHub.

### Q: What programming language does dungeon-mode use?
A: It is written in Emacs Lisp, the scripting language native to GNU Emacs.

### Q: Where can I find the dungeon-mode community?
A: The community gathers on the IRC channel `#dungeon-mode` on Freenode.

## Why It Matters
dungeon-mode bridges the gap between text-based gaming and live programming, offering a unique environment for both players and developers. By leveraging GNU Emacs' extensibility, it transforms a text editor into a collaborative MUD platform, fostering creativity and real-time experimentation. This approach democratizes game development, allowing users to modify gameplay mechanics on the fly using Emacs Lisp. For Emacs enthusiasts, it adds a novel layer of interactivity, while for MUD creators, it provides a lightweight, scriptable framework. Its cross-platform compatibility ensures accessibility across diverse systems, reinforcing the ethos of free software.

## Notable For
- **First MUD engine embedded in GNU Emacs**: Unique integration of gameplay and coding within a text editor.
- **REPL-driven development**: Allows real-time modification of game logic during play.
- **Cross-platform support**: Works on Unix-like systems (GNU/Hurd, BSD), Windows, macOS, and iOS.
- **Free software**: Aligns with the free software movement, ensuring user freedom and transparency.
- **Community-driven**: Active development and support via IRC and public repositories.

## Body
### Overview
dungeon-mode is a specialized game engine and REPL designed for creating and playing multi-user dungeons (MUDs) within GNU Emacs. It treats the Emacs environment as both a development platform and a gameplay interface, enabling users to interact with the game world while dynamically altering its rules via Emacs Lisp.

### Technical Specifications
- **Core Technology**: Built on GNU Emacs, utilizing its extensibility and scripting capabilities.
- **Programming Language**: Emacs Lisp (required for customization and gameplay logic).
- **Gameplay Mechanics**: Supports role-playing video game elements, including multi-user interactions and dungeon exploration.
- **REPL Integration**: The REPL allows players/developers to execute commands and modify the game state in real time.

### Platform Compatibility
dungeon-mode operates on any system that supports GNU Emacs, including:
- **GNU/Hurd**: The GNU operating system using the Hurd kernel.
- **BSD**: Unix-like systems derived from Berkeley Software Distribution.
- **Microsoft Windows**: Compatible since Windows' inception (1985).
- **macOS**: Supported since macOS' release in 2001.
- **iOS**: Runs on Apple's mobile operating system.

### Development and Distribution
- **Source Repositories**:
  - Primary: [Savannah Git](https://git.savannah.nongnu.org/cgit/dungeon.git) (HTTPS, SSH, Git Wire Protocol).
  - Mirror: [GitHub](https://github.com/dungeon-mode/game.git).
- **License**: Copyrighted but distributed as free software (reference: [Q27016754](https://www.wikidata.org/wiki/Q27016754)).
- **Community**: Active on IRC (`#dungeon-mode` on Freenode) and listed in the Free Software Directory.

### Use Cases
- **Game Development**: Rapid prototyping of MUDs with live feedback.
- **Educational Tool**: Teaches Emacs Lisp and game design principles.
- **Collaborative Play**: Multi-user dungeon crawling with shared world states.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "dungeon-mode",
  "description": "Game engine and REPL for creating and playing multi-user dungeons on GNU Emacs.",
  "url": "https://savannah.nongnu.org/projects/dungeon/",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q107475055",
    "https://github.com/dungeon-mode/game"
  ],
  "additionalType": [
    "https://schema.org/SoftwareApplication",
    "https://schema.org/Game"
  ],
  "operatingSystem": [
    "GNU/Hurd",
    "BSD",
    "Microsoft Windows",
    "macOS",
    "iOS"
  ],
  "programmingLanguage": "Emacs Lisp",
  "license": "https://www.wikidata.org/wiki/Q27016754"
}

## References

1. Free Software Directory