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:

https://www.youtube.com/watch?v=LJhvPvhhUqQ