doomcli is a tiny ASCII first-person shooter prototype for the terminal.
It exists because of a meme-level question: could we make Doom run in a CLI, even in a basic form? So this project does the honest version of that idea. It is not Doom, it is not a port, and it does not use Doom assets. It is a terminal raycaster that proves the shape of the joke.
- ASCII raycast renderer in the terminal
- WASD movement
- Arrow-key turning
- One enemy sprite rendered in-world
- Space-bar shooting and a simple win condition
- Wall collision
- Tiny status HUD
- No external dependencies beyond Python standard library
W/S: move forward and backwardA/D: strafe left and right- Left / Right arrows: turn
Space: shootQ: quit
python3 doomcli.pyIf your terminal is small, make it larger for a better result.
python3 -m unittest discover -s tests -vBecause you and I wanted to see whether "running Doom in a CLI" could be turned into something real enough to demo, even if basic. This is that proof-of-concept.