1K Fly through gaps #Pico1K
About
Fly through the gaps in the walls for as long as you can. A game in less than 1024 characters for #Pico1k Jam
Code:
l={{12,7,8,3,10},{13,6,4,5,9},{2,13,2,1,2}}g=4096m=64h=0for i=0,g*2do j=i\64x=i%8y=i\8%8pset(x+j*8,y,1+(atan2(x-3.5,y-3.5)*4+j/8)%4)pset(i%128,i\128+8,1+rnd(15))end for i=0,7do k=i/16for j=-4,4,8do circfill(8+16*i+j*cos(k),16+j*sin(k),3,0) rectfill(16*i+1,27+i,16*i+14,31+i) rectfill(16*i+2+i,41,16*i+6+i,54) end end memcpy(0,6*g,2*g)::s::x=64y=64z=-2p={}n=0?"\as4fec" ::_::cls()z+=.04+n/3000b=btn()x+=(b&2)/2-(b&1)y+=(b&8)/8-(b&4)/4x=mid(x,127)y=mid(y,127)while #p<3do add(p,{z=n,u=rnd(8)\1*16,v=8+rnd(3)\1*16})n+=1end for i=#p,1,-1do q=p[i]k=8/(1+q.z-z)pal(l[i])e=m-(x-m)*k/8f=m-(y-m)*k/8for j=0,255do u=j%16v=j\16w=sget(q.u+u,q.v+v) if w>0then a=e+k*(u-8)b=f+k*(v-8)c=min((a+k)\1,128)d=min((b+k)\1,128)a=max(a\1)b=max(b\1) if(a<c and b<d)sspr(8*w,0,8,8,a,b,c-a,d-b) end end end s=n-3for q in all(p)do if q.z<z-.6then if(sget(q.u+x\8,q.v+y\8)>0)h=max(h,s)goto s del(p,q)end end b=64a=0u=.25v=.1*sin(z)for i=0,9do c=a+cos(v)d=b+sin(v)line(m+a,b,m+c,d,11)line(m-a,b,m-c,d)a,b=c,d v*=1.1u-=v end ?s,0,0 ?h flip()goto _