Raycasting games is complicated.