A Gauntlet demake in 1023 Compressed Bytes of code for PICO-1K Jam 2023  #Pico1k

Destroy enemy spawners to advance to next level. Avoid being touched by enemies. The brighter enemies are, the more energy they drain when they touch you. Due to a highly intentional bug, you may freeze when surrounded by enemies, so choose your position well when facing a horde of enemies.

Mazes are randomly generated using quite sophisticated algorithms. If you find a maze can't be solved, use the secondary fire button to skip that level.

Code:

_set_fps(60)cls()rectfill(16,0,24,24,13)memcpy(0,3*8192,8192)::r::l=1s=0g=999::s::?"\as4cegdefeg"
srand(l)o={x=60.5,y=60.5,c=0,z=0,l=g or 999,k=0,r=0,a=1,b=0,m=8}p={o}w={}for i=0,1023do
a=i%32b=i\32mset(a,b,(a==0or b==0or a==31or b==31)and 2or(rnd(3)<1and 2or 0))end
for i=1,10do
x=rnd(30)\1*8+12.5y=rnd(30)\1*8+12.5add(p,{x=x,y=y,c=2,z=100,l=3,k=0,u=0,v=0})mset(x\8,y\8,1)end::_::cls(1)camera(mid(192,o.x-64),mid(192,o.y-64))map()n=0g=""for q in all(p)do
if q.c<2then
d=0if q.c<1then
q.k=9c=btn()a=c\2%2-c%2b=c\8%2-c\4%2if(btn(4))d=1
else
q.k=q.l+4a=(mid(-1,1,o.x-q.x)+.5)\1b=(mid(-1,1,o.y-q.y)+.5)\1
end
if a!=0or b!=0then
q.a=a
q.b=b
if a!=0and b!=0then
c=0
if(mget(q.x\8+a,q.y\8)>0)a=0c=1
if(mget(q.x\8,q.y\8+b)>0and c<1)b=0c=1
if(mget(q.x\8+a,q.y\8+b)>0and c<1)b=0
end
end
if q.z<=0and(a!=0or b!=0)and d<1then
q.u=a/q.m*8
q.v=b/q.m*8
if(mget(q.x\8+a,q.y\8+b)<1and(mget(q.x\8+a,q.y\8)<1or a==0)and(mget(q.x\8,q.y\8+b)<1or b==0))mset(q.x\8,q.y\8,0)mset(q.x\8+a,q.y\8+b,q.c>0and 1or 0)q.z=q.m
end
if(q.z>0)q.z-=1q.x+=q.u q.y+=q.v
if q.c<1then
q.r-=1if(q.r<0and d>0)q.r=10add(w,{x=q.x,y=q.y,u=q.a*2,v=q.b*2})g="\as2ceg"
end
if(q.c>0and max(abs(o.x-q.x),abs(o.y-q.y))<4)o.l-=q.l*2q.l=0g="\as4gcgcgc"
else
q.k=q.l+4n+=1q.z-=1if q.z<0then
a=rnd(2)\1*2-1b=rnd(2)\1*2-1if((a!=0or b!=0)and mget(q.x\8+a,q.y\8+b)==0)x=q.x+a*8y=q.y+b*8add(p,{x=x,y=y,c=1,z=0,l=q.l,k=0,a=1,b=0,u=0,v=0,m=24})mset(x\8,y\8,1)q.z=200
end
end
?q.c>1and"🅾️"or(q.c<1and"웃"or"🐱"),q.x\1-3,q.y\1-2,q.k
if(q.c>0and q.l<=0)mset((q.x+q.z*q.u)\8,(q.y+q.z*q.v)\8,0)del(p,q)
end
for r in all(w)do
r.x+=r.u r.y+=r.v
c=0a=r.x%8b=r.y%8pset(r.x,r.y,7)if(a==mid(2,6,a)and b==mid(2,6,b)and mget(r.x\8,r.y\8)>1)c=1
for q in all(p)do
if(q.c>0and max(abs(r.x-q.x),abs(r.y-q.y))<4)q.l-=1s+=1c=1break
end
if(c>0)del(w,r)
end
camera()?"s:"..s.." \f9♥:"..(o.l\1).." \fb⌂:"..l..g,1,1,7
flip()
if(n<1or btnp(5))l+=1g=o.l goto s
o.l-=.01if(o.l<=0)goto r
goto _
StatusReleased
PlatformsHTML5
Rating
Rated 4.0 out of 5 stars
(2 total ratings)
AuthorSkyBerron
GenreSurvival
Made withPICO-8
Tagspico1k, PICO-8

Leave a comment

Log in with itch.io to leave a comment.