Great work on this! There's so much game logic crammed into it!
Play game
1K Charr demake #Pico1k's itch.io pageCompressed Bytes used
1024
Source Code (OPTIONAL)
_set_fps(60)s=0l=32pal({1,11,139,3,5},1)
::s::x=64y=64c=512r=rnd(21)\1-10p={}w={}z=1j=1k={rnd(),rnd(),rnd()}for i=1,c do
a=96+(sin(i/128+k[1])+sin(i/256+k[2])+sin(i/512+k[3]))*16\1
if(i>c*j/9)w[j]={x=i,y=a,z=1/8,i=j,f=64}j+=1
p[i]={g=0,p={{a=a,b=a+7,c=2},{a=a+8,b=a+15,c=3},{a=a+16,b=a+23,c=4},{a=a+24,b=256,c=5}}}end
::_::cls(1)camera(0,max(y-64))
if(z<2)b=btn()u=b\2%2-b%2v=b\8%2-b\4%2
for i=1,#p do
j=i-x\1+64if j==mid(j,127)then
q=p[i].p
for o in all(q)do
rect(j,o.a,j,o.b,o.c)end
end
end
for t in all(w)do
a=t.x-x+64b=t.y-6
rectfill(a-6,b+1,a+6,b+5,t.i+6)?"(⬇️)",a-7,b+1,0
t.c=cos(t.z)t.d=sin(t.z)line(a,b,a+t.c*6,b+t.d*6,7)
q=p[t.x].p
if#q<1or q[1].a>t.y or l<1then
if(t.i<2or l<1)s=0l=32goto s
del(w,t)s+=1end
end
if z<1then
x=mid(x+u,512)y=mid(y+v,256)?"+",63,y-1,7
if(btnp(5))z=1
elseif z<2then
t=w[1]rect(28,y-64,28+t.f,y-63,7)
x+=mid(-2,t.x-x,2)y+=mid(-1,t.y-y,1)
t.z=mid(t.z-u/600,.5)t.f=mid(t.f-v,100)
if(btnp(5))z=0
if(btnp(4))x=t.x+t.c*8y=t.y+t.d*8u=t.c*t.f/32v=t.d*t.f/32z=2l-=1
elseif z<3then
a=x
b=y
x+=u
y+=v
u+=r/5000v+=.02circ(64+x-a,y,1,7)
if pget(64+x-a,y)>1or y>256then
z=3for i=1,#p do
j=i-x\1if abs(j)<16then
e=(256-j*j)^.5\1c=-e+y\1d=e+y\1q=p[i].p
g=p[i].g
j=1while j<=#q do
o=q[j]if o.a<=d and o.b>=c then
g=1if o.a<c and o.b>d then
add(q,{a=d+1,b=o.b,c=o.c},j+1)o.b=c-1
elseif o.a>=c and o.b<=d then
del(q,o)j-=1
elseif o.b>=d then
o.a=d+1
else
o.b=c-1end
end
j+=1end
p[i].g=g
end
end
end
elseif z<4then
a=0for i=1,#p do
if p[i].g>0then
g=0q=p[i].p
if #q>0then
o=q[#q]if(o.b<256)o.a+=1o.b+=1g=1a=1
end
for j=#q-1,1,-1do
o=q[j]if(q[j+1].a>o.b+1)o.a+=1o.b+=1g=1a=1
end
p[i].g=g
end
end
if(a<1)z=1
end
?"w:"..r,0,y-64,7
?s
?l
if(#w<2)goto s
flip()goto _
Leave a comment
Log in with itch.io to leave a comment.