Writing a retro 3D FPS engine from scratch
medium.com