Building A Raycasting Engine In Python