doom-game 
- Description
- DOOM on Emacs
- Latest
- doom-game-0.3.tar (.sig), 2026-Aug-19, 80.0 KiB
- Maintainer
- Daniel Mendler <mail@daniel-mendler.de>
- Website
- https://github.com/minad/doom-on-emacs
- Browse ELPA's repository
- CGit or Gitweb
- Badge
To install this package from Emacs, use package-install or list-packages.
Full description
This is DOOM running inside Emacs via a native module. The port is based on
doomgeneric such that only a handful of functions like DG_DrawFrame need to be
implemented in C with some Elisp code as glue. It uses the native Canvas API
which is part of the Emacs 32 source tree, and also available for download as
patch for Emacs 31. See further links and resources related to Canvas below.
1. Running DOOM
1.1. Prerequisites
In order to run DOOM, you need an Emacs 32 with Canvas support. On Emacs 31 first apply the Canvas patch to the Emacs source and recompile Emacs.
Furthermore DOOM data files are needed. These files have the extension *.wad. On
Debian you can for example install the packages doom-wad-shareware (original
doom1.wad) or freedoom (freedoom1.wad). On other distributions install the
equivalent packages or download the files from the Debian website and extract
the respective WAD files.
The WAD files need to be placed in the current directory where Emacs is started
or in the directory /usr/share/games/doom/. Furthermore a custom path to the wad
file can be specified via the customization option doom-args.
1.2. Installing as package
Install via M-x package-install RET doom-game RET from ELPA. After the
installation, invoke M-x doom. Compilation output and error messages will appear
in the *doom-log* buffer.
1.3. Running from source
Clone this repository and execute the command make. This will download the DOOM
source, compile the native Emacs module, and then start DOOM in emacs -Q. Error
messages will appear in the *doom-log* buffer.