A full-fledged raycasting engine
Изначально это
проект Frank Force, он написал крайне интересный супер-минималистичный кусок кода
который представлял собой почти полноценный raycasting-движок на чистом JS.
Вот весь его оригинальный код:
<canvas
style=width:99%
id=c
onclick=setInterval('
for(c.width=w=99,++t,i=6e3;i--;c.getContext`2d`.fillRect(i%w,i/w|0,1-d*Z/w+s,1))
for(a=i%w/50-1,s=b=1-i/4e3,X=t,Y=Z=d=1;++Z<w&(Y<6-(32<Z&27<X%w&&X/9^Z/8)*8%46||d|(s=(X&Y&Z)%3/Z, a=b=1, d=Z/w)); Y-=b) X+=a
', t=9)
>
В оригинале без пробелов и переносов строк код занимал всего 256 байт, что представляет собой чрезвычайно плотно упакованный пример минималистичного raycasting движка.
Разборы решения
Код текущей версии развёрнут по строкам и доработан, см. исходники этой страницы.
PDF с подробным разбором оригинала:
Город в бутылке — движок Raycasting всего на 256 байт
Также есть ещё вариант с "развёрнутым" оригинальным кодом и настройками некоторых параметров:
https://observablehq.com/@darabos/decoding-a-city-in-a-bottle