https://github.com/wojciech-graj/doom-ascii
DooM in the terminal!
https://github.com/wojciech-graj/doom-ascii
ascii c command-line-tool doom shell source-port terminal text-based text-based-game
Last synced: 7 months ago
JSON representation
DooM in the terminal!
- Host: GitHub
- URL: https://github.com/wojciech-graj/doom-ascii
- Owner: wojciech-graj
- License: gpl-2.0
- Created: 2022-03-08T23:24:49.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-11-18T20:35:32.000Z (about 1 year ago)
- Last Synced: 2025-03-31T20:05:31.480Z (9 months ago)
- Topics: ascii, c, command-line-tool, doom, shell, source-port, terminal, text-based, text-based-game
- Language: C
- Homepage:
- Size: 2.92 MB
- Stars: 655
- Watchers: 7
- Forks: 30
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tuis - DOOM-ASCII - based DOOM running in terminal. (Table of Contents)
README
# DOOM-ASCII

**Text-based DOOM in your terminal!**
Source-port of [doomgeneric](https://github.com/ozkl/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
```
## Build
Binaries for Windows and Linux are provided as [github releases](https://github.com/wojciech-graj/doom-ascii/releases).
### Linux / Mac
Requires Make and a C compiler. Creates ```doom_ascii/doom_ascii```
```
cd src
make
```
### Windows
Compile on linux. Creates ```doom_ascii/doom_ascii.exe```
```
cd src
make windows-cross
```
## Controls
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.
## Performance tips
### Display
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.
### Input
For a better playing experience, increase the keyboard repeat rate, and reduce the keyboard repeat delay.
## Troubleshooting
### Colours are displayed incorrectly
If the displayed image looks something like [this](https://github.com/wojciech-graj/doom-ascii/issues/8), you are likely using a terminal that does not support 24 bit RGB. See [this](https://github.com/termstandard/colors) for more details, troubleshooting information, and a list of supported terminals.
### Running make throws an error
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.