I just posted a writeup of a simplified raycasting engine using the Fennel language. It is based on my recent jam entry Spilljackers but radically simplified down to 43 lines. I tried to show how simple the raycasting algorithm is by stepping thru the functions needed to trace the path of each ray. One fun technique that worked really well is encoding color and height of map tiles in the sprite sheet based on the row and column of the tile in question.
Anyway I hope people find it interesting!
(I love how TIC-80 lets me embed the actual game demo right in the middle of the blog post.)