light cast simulation/ 2d raycasting OPTIMISED | ScratchStats