Text-based DOOM in your terminal!
Source-port of doomgeneric. Does not have sound.
You will need a WAD file (game data). If you don't own the game, the shareware version is freely available.
Try it out over telnet!
telnet doom.w-graj.net 666
Binaries for Windows and Linux are provided as github releases.
Requires Make and a C compiler. Creates doom_ascii/doom_ascii
cd src
make
Compile on linux. Creates doom_ascii/doom_ascii.exe
cd src
make windows-cross
Default keybindings are listed below.
Action | Default Keybind |
---|---|
UP | ARROW UP |
DOWN | ARROW DOWN |
LEFT | ARROW LEFT |
RIGHT | ARROW RIGHT |
STRAFE LEFT | , |
STRAFE RIGHT | . |
FIRE | SPACE |
USE | E |
SPEED | ] |
WEAPON SELECT | 1-7 |
Keybinds can be remapped in .default.cfg
, which should be placed in the same directory as the game executable.
Most terminals aren't designed for massive throughput, so the game cannot be played at full 320x200 resolution at high frames per second.
Pass the command-line argument -scaling n
to determine the level of scaling. Smaller numbers denote a larger display.
A scale of 4 is used by default, and should work flawlessly on all terminals. Most terminals (excluding Windows CMD) should manage with scales up to and including 2.
For a better playing experience, increase the keyboard repeat rate, and reduce the keyboard repeat delay.
If the displayed image looks something like this, you are likely using a terminal that does not support 24 bit RGB. See this for more details, troubleshooting information, and a list of supported terminals.
Run make --version
and cc --version
to verify that you have Make and a C compiler installed. If you do, and you're still getting an error, file a github issue.