I've been working on this for over a year, and it's slowly taking form of something fun. It's a classic 90s style FPS made from scratch, including the assets (with the exception of sounds). Only dependency aside from C++ standard library is SDL2, and it's basically only used to provide a framebuffer and input.
Some highlights:
- deterministic game state, support for demo recording and playback
- simple software renderer based on raycasting (single threaded)
- software sound mixing with limited number of channels
- primitive music tracker for MIDI-like music playback
- 3D assets made in blender, pre-rendered into textures using python scripts, then quantized in perceptual (LAB) color space
I look forward to publishing the source when it's complete, but until then, have a sneak peek: