Render a points cloud of 7000+ particles representing a carriage from the retro game the Oregon Trail.
d="c.HTML='<E*{w@:%;h:%;margin:Qoverflow:hidden}</E';M=[H=0,onmousemove=H=6*screenXY}];i=0,x=28;x!)y=12;y!)z=5;z!)if(d=[Ad0b09A3090aAc06030]['011PPJP0101RPR1ZJKJK0R0R103K3K3KNNN_F1J033F222220222_NZ1'[z+y*5U20-abs(x-20))*60]])f=z,o=r=16;o!f=-f)G={x:x-14,y:y,z:f,s:o<4,c:'#'UdU)*&(o/r>.5?:0x070707))).toString(16).slice(-6)};setInterval(h=c.h=J*HY|QM.sort(return V-w.W}r=new Date()/4096+H;C=rS=r-8i=Qv=G;){d=V|Qc if(s)w=v,'#ddd' t=2*r*5UO3+z+y)/16V=96/(CB-OS+24u=150+V*(OC+SBw(3+t-yv8}},49)";for(e in f="_Z33Y/W@VWU+(RQ0;P11Ox*N0KJ3GM[i++]FEstyle>B*(t-z)A0,0x@idth!--;);1=h/2+W*0x1f1f1f0cos(eight0a.fillStyle=33+)*o/r111Math.innerfor(000v.function(v,w){ ,a.fillRect(v.u|0,v.w|0,d,d);133330303Math.random(11111000000".split(""))d=d.replace(RegExp(f[e][0],"g"),f[e].slice(1));eval(d)
DQpkPSJjLhJIVE1MPSc8RSp7d0A6AyU7aBk6AyU7bWFyZ2luOlFvdmVyZmxvdzpoaWRkZW59PC9FJztNPVtIPTAsb25tb3VzZW1vdmU9C0g9NioMc2NyZWVuWFl9XTsRaT0wLHg9Mjg7eCEpEXk9MTI7eSEpEXo9NTt6ISlpZihkPVtBZDBiMDlBMzA5MGFBYzA2MDMwXVsnDzAxGzEbUA8PUAVKUDAxDwQeMDFSUAQCDlIbMR5aShZLDgYFBUoWSwIwFAQOFAQOFAQOFAIYBlIGDzBSBgYeMQ8EMDMPSxgzD0sYM0sCHhsGBE5OTl8IAkYQBhgeMRYWSjAzGzMbRjICMgIyAjICMg4wMg4yMgQIX04CWhADMRsnW3oreSo1VTIwLRNhYnMoeC0yMCkpKjYwXV0pEWY9eixvPXI9MTY7byFmPS1mKUc9e3g6eBUtMTQseTp5FSx6OmYVLHM6bzw0LGM6JyMnVWRVBykqHCYoby9yPi41Pxw6MHgwNzA3MDcpKSkudG9TdHJpbmcoMTYpLnNsaWNlKC02KX07c2V0SW50ZXJ2YWwoC2g9Yy5oGT1KKhJIGVl8UU0uc29ydCgLcmV0dXJuIFYtdy5XfR9yPW5ldyBEYXRlKCkvNDA5NitIO0M9GnIfUz0aci04HxFpPVF2PUc7KXtkPVZ8URcMYwlpZigMcykMdz0MdiwXJyNkZGQnCXQ9Mioacio1VU8zKwx6Kwx5KS8xNh9WPTk2LyhDQi1PUysyNB8MdT0xNTArViooT0MrU0IfDHcdKDMrdC0MeR8Mdh04fX0sNDkpIjtmb3IoZSBpbiBmPSJfAhAGBAFaMwIzAgFZLxJXQAFWDFcBVSsoAVIFBgFRMDsBUDExAU8MeCoBTjAWFgFLDwIBSjMOAUdNW2krK10BRhAGGB4IGwFFc3R5bGU+AUIqKHQtDHopAUEwLDB4AUBpZHRoASEtLTsBHyk7AR4xAgEdPWgvMisMVyoBHDB4MWYxZjFmARsDMAEaE2NvcygBGWVpZ2h0ARgCDjABF2EuZmlsbFN0eWxlPQEWMzMBFSsHKSpvL3IBFDExBTECBg8BE01hdGguARJpbm5lcgERZm9yKAEQBQUDMAEPBAQBDjAwAQx2LgELZnVuY3Rpb24odix3KXsBCSxhLmZpbGxSZWN0KHYudXwwLHYud3wwLGQsZCk7AQgxMzMzMwMwMwMwMwEHTWF0aC5yYW5kb20oAQYDMTEBBTECMQIBBAICAgEDMTAwAQIwMDAwIi5zcGxpdCgiASIpKWQ9ZC5yZXBsYWNlKFJlZ0V4cChmW2VdWzBdLCJnIiksZltlXS5zbGljZSgxKSk7ZXZhbChkKQ==
// fullsize canvas
c.innerHTML='<style>*{width:100%;height:100%;margin:0;overflow:hidden}</style>';
// capture the mousemove for a little interaction
M=[H=0,onmousemove=function(v,w){H=6*v.screenX/innerWidth}];
// generate the point cloud
for(i=0,x=28;x--;)
for(y=12;y--;)
for(z=5;z--;)
if(d=[0,0xd0b090,0x3090a0,0xc06030]['000000000000000000000000011000110001100000000000000000000000000000000000000000000000011100001000030011010000000000000000000000000000000000001000001100001000010011110000000000000000001000010000100111000110000300003000030033000000000000000000000000000000100111000010000100001000030033000000000000000000000000000000000111000010000100001001100000000000000000000000000000000000000111000010000100001001100000000000000000000000000000000000000111000010000100001001100000000000000000000000000000000000000111000010000100001001100000000000000000000000000000000000100111000010000100111001100000000000000000000000001000010000100111001110011100001000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000010000100010011000000000000033330333303333000010000100001000010000100010011000000000000133331000310003000010000100001000010000100010011000000010000133331000310003100010000100001000010000100010011000000010000133333000310003100010000100001000010000100010011000000010000133331000310003100020000200002000020000200020022000000000000133331000310003000010000100001000010000100010011000000000000033330000300003000010000100001000010000100010011000'[z+y*5+(20-Math.abs(x-20))*60]])
for(f=z,o=r=16;o--;f=-f)
M[i++]=
{
x:x+Math.random()*o/r-14,
y:y+Math.random()*o/r,
z:f+Math.random()*o/r,
s:o<4,
c:'#'+(d+(Math.random()*0x1f1f1f&(o/r>.5?0x1f1f1f:0x070707))).toString(16).slice(-6)
};
setInterval(function(v,w)
{
// clear
h=c.height=300*innerHeight/innerWidth|0;
// sort the point cloud Front-to-Back
M.sort(function(v,w){return v.W-w.W});
// render current frame & compute next frame
r=new Date()/4096+H;
C=Math.cos(r);
S=Math.cos(r-8);
for(i=0;v=M[i++];)
{
// render
d=v.W|0;
a.fillStyle=v.c,a.fillRect(v.u,v.w,d,d);
if(v.s)v.w=v.v,a.fillStyle='#ddd',a.fillRect(v.u,v.w,d,d);
// compute
t=2*Math.cos(r*5+(v.x*3+v.z+v.y)/16);
v.W=96/(C*(t-v.z)-v.x*S+24);
v.u=150+v.W*(v.x*C+S*(t-v.z))|0;
v.w=h/2+v.W*(3+t-v.y)|0;
v.v=h/2+v.W*8|0;
}
},49)