Ultimate DOOM, "playable" in the terminal
git clone https://github.com/marvinirwin/terminal-doom.git &&
cd terminal-doom &&
docker run --name=DOOM_UBUNTU -it \
-v $(pwd)/build:/terminal-doom \
i386/ubuntu:xenial /bin/bash -c "
apt update &&
apt-get -y install libncurses5-dev cmake &&
cd /terminal-doom &&
cmake . &&
make &&
./terminal-doom
"
- 32 bit curses
- A DOOM / DOOM2 .wad file
- A C compiler
- A terminal
- q to select, wasd to move, e to shoot
It was an excuse to learn to read and write(poorly) some C and it was funny.
Each pixel is converted to greyscale and then mapped to an ASCII character based on density, turns out ASCII characters aren't very distinct when looked at far away.
If you change the compiler flags you can see what it looks like with colors, it's just that the curses attron
function takes so long. I even optimized it so that I would only need to change colors 8 times per frame, it's still unbearably slow.
I can't detect keyup events with the terminal, moreover I cannot press more than 1 down at once.
Don't know, I've never tried, this is just a mildly modified version of https://github.com/id-Software/DOOM
No, I never figured out how that worked, the sound server fails on startup (whatever a sound server is)
I prefer the phrase "Has considerable hardware requirements"