Play DOOM in your terminal with pi.

git clone https://github.com/badlogic/pi-doom.git
pi --extensions /path/to/pi-doom
Then in pi:
/doom
Press Q to pause and return to pi. Run /doom again to resume.
git clone https://github.com/badlogic/pi-doom.git
cd pi-doom
npm install
npm start
Press Q or Ctrl+C to quit.
| Action | Keys |
|---|---|
| Move | WASD or Arrow Keys |
| Run | Shift + WASD |
| Fire | F or Ctrl |
| Use/Open | Space |
| Weapons | 1-7 |
| Map | Tab |
| Menu | Escape |
| Pause/Quit | Q |
DOOM runs as WebAssembly compiled from doomgeneric. Each frame is rendered using half-block characters (▀) with 24-bit color, where the top pixel is the foreground color and the bottom pixel is the background color.
The WASM module and shareware WAD are bundled in the repo, so there are no external dependencies.
GPL-2.0 (DOOM source code license)
18 commits
TypeScript
70.4%
Shell
15.6%
C
7.9%
JavaScript
6.0%
Play DOOM in your terminal with pi.

git clone https://github.com/badlogic/pi-doom.git
pi --extensions /path/to/pi-doom
Then in pi:
/doom
Press Q to pause and return to pi. Run /doom again to resume.
git clone https://github.com/badlogic/pi-doom.git
cd pi-doom
npm install
npm start
Press Q or Ctrl+C to quit.
| Action | Keys |
|---|---|
| Move | WASD or Arrow Keys |
| Run | Shift + WASD |
| Fire | F or Ctrl |
| Use/Open | Space |
| Weapons | 1-7 |
| Map | Tab |
| Menu | Escape |
| Pause/Quit | Q |
DOOM runs as WebAssembly compiled from doomgeneric. Each frame is rendered using half-block characters (▀) with 24-bit color, where the top pixel is the foreground color and the bottom pixel is the background color.
The WASM module and shareware WAD are bundled in the repo, so there are no external dependencies.
GPL-2.0 (DOOM source code license)
18 commits
TypeScript
70.4%
Shell
15.6%
C
7.9%
JavaScript
6.0%