Wolfenstein 2D in 2K. You can walk around using the arrow keys. Demo shows procedural textures and map, collision detection and animated doors.
for(_='&&Cn[@-t$=[#h,`2,_-1^),Z,57,_._^]ZYImageData(X],WW[Vh=UI(T)*n+(eS++)R)ZQ=function(e,t,n){returnPP A[e.which]=O[f,oVN(N3_30W4737096=0;for(var ;s25664*(Math.abs(,D(min(vZmQ);if(s==[s])},0,.516random())/@4])[1][0] n-F(e $ ,e$)),@l++]=B(>s;sR&255(A[h+2]-A[h])*qM(M(2928815,.9+.*sin((3+o/)/(f/80^.3)^/4QQ,E([(v-m)*y,(m+v)*yVe=a.widt`t=a.height,n=(k=c.createXe,t)).data,r#Wi#WA#WK#36,36Wu=L=1,BP(t>>S>>)1-n)<<|(t*S*)1-n)*|(tS)1-nI=onkeydownO1,1>e?e>0?e:0:1},D=onkeyupOTn-e+1)*Te$+1EP D(e ,t ,n )*D(e,t,nFP sqrt(e*e+t*tGP T4JP T1^*MP e,e,2*T+*@5]@6]T(t -n -T(@2]$ )-@6]T(t-n-T(@3]$))QE(t,n,[@2W@3]])qP e,e,1+.2t $)/F(3$ ,3$QG(t,[3,3W1.)setInterval(function(){q=-u+(u=new Date//2ZU37,L+=,h++,ci=sin(LZco=cos(L)2K-=i[K -(1-s)*ci*|(K-s*co*)<<8]>1?0:(ci-s*ci+s*co)*;o#Wae>a;aR{f=2*a/e^,f#f*co/4+ci/4,co/4-f*ci/4Wl=255,UF(f ,fZd2>d;dR{var v=f[dWm=K[d]-~~K[dWg=1/v;0<v?m=1-m:g=-g;y=g*m,s2o=K+f*y;for(0>vCo[d]--;y<l;){if((H=i[o |o<<8])>1){s3i[o |o^+s<<8]==1CdC(H=4);l=y,p=(o +o)&63)+*d+128*H)}H==1C(w=F(x=(o -K +)/f *f,o -K +)/h)Cw<lC(j=x-T3-F(o -K ,o-K))+K-~~o)>0C(l=w,p=*j|0+128))2o+=f*g;y+=g}}var b=l/e,f=$*b/_l=4*a,d=4*e-4tM=1<f)?0>f?3684408:73688:r[321+f)|0+pWf+=bM>>M>>8M255,l+=d}c.putXk,032)*A=x=s,y=s>>8,l=.9<?3:_i=xCy?x%8?.7<C4!=y%8?l:0:4==y%8?1:l:l6b2>b;bRo>o;oRf>f;fR{l=o+1&15,p=f+1+(o+1>>4<<4)&31,U125006759873,l/+.1*);if(2>p||2>l)U;v=f-3_m=o-3UM(`[p,lV1,1,31,15,_.3_1]3)p#13,min(9-pow(5f/-Z2Z9)Wl=sin(.4*f+2.7Zd#51,55+lWy=->v?-.7:.7,U``.2ZE([f-_o-2Wp,dQ328987,777215_4Q3,3Q777215,G12QJ11QJ9^,^V1,4]-4._4.2V1,6.]^,^V4,1]4._^V6.,4.2]Q.8+.2*lZE([f,oWp,d)4)l#32-vZoWUl,[^,^,28,,_.4,^]Zl,[6,6,23YE(N29,0V35,]QUq(`[l %2_l%28]Z`E(l,[6,6V24,57])1)UN^,,66,_.4,^]ZN6,6,57YUq(`[f%8,o%8]Z`E(N6,6V57,57]));r[*f+o+*b+2*s)]=`b/3)}';g=/[-N-Z^-`#$@C]/.exec(_);)with(_.split(g))_=join(shift());eval(_)
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
Original source not submitted