If you're interested in the math behind the firstperson rendering algorithm, this tutorial was incredibly helpful: https://lodev.org/cgtutor/raycasting....
00:00 Intro 00:46 Basic Game 04:27 More Mazes, Bigger Mazes 06:26 Map List 07:56 Nonlinear Map List 11:10 Colors 12:40 Renderer 15:17 Final Game