1K Q-Shooter #Pico1k
1K Q-Shooter
A mini shoot'em up in 1024 Compressed Bytes of code for PICO-1K Jam 2023 #Pico1k
A fast paced shoot'em up with lots of alien invaders moving very fast. Don't stay in the same place for too long and keep shooting!!!
Difficulty level increases with time. As level goes up, enemies get even faster and more bullets are sent to you.
S = Score
H = Highscore
L = Level
♥ = Lives
Code:
_set_fps(60)h=0cls()?"\^:1818183c3c7e4281\r\fc\^:0000819999818181\n\f3\^:007e7e7e00000000\r\f5\^:3c4281817e244442\r\f9\^:00006c0000000000" memcpy(0,3*8192,8192)::s::x=64y=90p={}w={}z=0o=0s=0l=1j=0g=8k=0t={}for j=1,200do r={}a=rnd(.5)add(r,{x=64+90*cos(a),y=64+90*sin(a)})add(r,{x=64+90*cos(a),y=64+90*sin(a)})for i=1,20do add(r,{x=rnd(128),y=rnd(120)})end a=rnd(.5)add(r,{x=64+90*cos(a),y=64+90*sin(a)})add(r,{x=64+90*cos(a),y=64+90*sin(a)})add(t,r)end::_::cls()?"s:"..s,1,1,12 ?"h:"..h ?"l:"..l ?"♥"..g,8 if(k>0)k-=1 if(rnd()<.2)add(w,{x=rnd(128),y=0,u=0,v=1,c=2+rnd(14),l=128}) if #p<11then j+=1for i=1,10do add(p,{i=1-i/5,j=i,r=t[j],l=1})end if(j%5<1)l+=1 end c=btn()a=c\2%2-c%2b=c\8%2-c\4%2x=mid(4,124,x+a)y=mid(4,124,y+b)z-=1if(btn(4)and z<0)z=10add(w,{x=x,y=y-4,u=0,v=-2,c=0,l=128})?"\as4g" for r in all(w)do if(r.c>1)pset(r.x,r.y,r.c) end for q in all(p)do q.i+=l*.001+.02i=mid(1,#q.r,q.i)a=i%1b=1-a i\=1p0=q.r[i]p1=q.r[min(i+1,#q.r)]p2=q.r[min(i+2,#q.r)]q.x=((p0.x+p1.x)/2*b+a*p1.x)*b+a*(p1.x*b+a*(p1.x+p2.x)/2)q.y=((p0.y+p1.y)/2*b+a*p1.y)*b+a*(p1.y*b+a*(p1.y+p2.y)/2)if(k<1and max(abs(x-q.x),abs(y-q.y))<6)g-=1k=60 pal(3,q.j%14+2)spr(16,q.x-4,q.y-4,1,1,q.i%2<1)if(q.l<=0)s+=1for i=1,20do a=rnd()b=rnd(2)add(w,{x=q.x,y=q.y,u=b*cos(a),v=b*sin(a),c=rnd(4)+6,l=20})end del(p,q)?"\as2ceg" if(q.i>#q.r)del(p,q) end o-=1if #p>0then q=rnd(p)a=x-q.x b=y-q.y d=sqrt(1+a*a+b*b)if(d>64and o<0)o=50/(1+l/50)add(w,{x=q.x,y=q.y,u=a*1.5/d,v=b*1.5/d,c=1,l=128})?"\as2e" end for r in all(w)do r.l-=1r.x+=r.u r.y+=r.v if(r.y!=mid(-4,132,r.y)or r.x!=mid(-4,132,r.x))r.l=0 if r.c<1then ?"!!",r.x-4,r.y-3,11 for q in all(p)do if(max(abs(q.x-r.x),abs(q.y-r.y))<6)r.l=0q.l-=1break end elseif r.c<2then circfill(r.x,r.y,1,10)if(k<1and max(abs(x-r.x),abs(y-r.y))<4)g-=1k=60 end if(r.l<=0)del(w,r) end if(k\4%2<1)spr(0,x-4,y-4) if(g<1)h=max(s,h)goto s flip()goto _
Comments
Log in with itch.io to leave a comment.
This is phenomenal! Well done on this project. Fun to play too.
Well done! 👏
It looks pretty, sounds good and is addictive!
Thanks!!! Moving the enemies so fast makes the game a bit chaotic. There's plenty of action going on and you can't afford to lose focus for a second.