Pico-8 1K Space Game!!
The Controls for the game are as follow:
Left and right arrow to steer the ship.
Down arrow to push it forward.
X to shoot.
The only reason the game's name is: 'Space Game' is because I couldn't come up with anything better :)))
Nevertheless, I had a lot of fun making this game. The 1k limitation was really nice in that it allowed me not to worry about cramming the game full of features and just getting something done. The game might not be all to great and the code is probably worse, but it was a fun experience. Though there is a problem with the cart label, but I genuinely have no idea how to fix it :')
Code(In total exactly 1024):
x=60y=60v=0c=0d=0f=3l=3q=2b={}e={}pu={}pi={}h=0r=10pe={}li=3lr=30sc=0hi=0 cartdata(0)hi=dget(0) for i=1,l do add(pu,0)add(pi,0) end function pm(o) o[4]-=1 if(o[4]<=0)del(pe,o)return o[1]+=sin(o[3])*(3*(o[4]/30)) o[2]+=cos(o[3])*(3*(o[4]/30)) circ(o[1],o[2],o[4]/15+1,1) end function ce(ee) for j=1,5do add(pe,{ee[1],ee[2],rnd(10)/10,30}) end end function mb(o) o[1]+=sin(o[3])*7 o[2]+=cos(o[3])*7circfill(o[1],o[2],1,8) o[4]-=1 if(o[4]<0)del(b,o) if(o[1]>128)o[1]=0 if(o[1]<0)o[1]=128 if(o[2]>128)o[2]=0 if(o[2]<0)o[2]=128 n=1 for m=1,#e do if(de(o,e[n]))del(b,o)n-=1 n+=1 end end function me(o) o[1]+=1*sin(o[3])o[2]+=1*cos(o[3])if(o[2]>128)o[2]=0 ?"⧗",o[1]-3,o[2]-5,2 ?"🐱",o[1]-3,o[2]-3,8 po={x,y} if(lr<=0and ds(o,po)<8)li-=1lr=30 end function de(bb,ee) if(ds(bb,ee)<6)del(e,ee)ce(ee)sc+=10return true end function ds(o1,o2) return abs(sqrt((o1[1]-o2[1])^2+(o1[2]-o2[2])^2)) end ::st::cls(1)?"space game!!",40,53,7 ?"press ❎ to start",30,65,6 rect(0,0,127,127,7)flip()if(not btnp(❎))goto st ::s::flip()cls() if(btn(⬇️))v+=0.4 if(v>f)v=f if(btn(⬅️))d+=.02 if(btn(➡️))d-=.02 u=v*sin(d)x+=u i=v*cos(d)y+=i if(x<0)x=128 if(x>128)x=0 if(y<0)y=128 if(y>128)y=0 circfill(x-pu[l-1]*v/2,y-pi[l-1]*v/2,4,9)circfill(x-pu[l]*v,y-pi[l]*v,2,10)circfill(x,y,5,7)if(lr%5==0)circfill(x,y,5,5)circfill(x+sin(d)*2,y+cos(d)*2,2,6)circfill(x+sin(d)*3,y+cos(d)*3,0,7)r+=1 if(btnp(❎)and r>10)add(b,{x,y,d,25})r=0 pu[1]=u pi[1]=i pu[q]=pu[q-1] pi[q]=pi[q-1] q+=1 if(q>l)q=2 u=0i=0 if v>0then v-=.1else v=0end foreach(e,me)foreach(b,mb)foreach(pe,pm)if(lr>0)lr-=1 h+=1 if h>60then h=0 if(#e<4)add(e,{rnd(128),0,0}) end for i=0,li-1 do ?"●",i*8,0,7 end ?"score: "..sc.."",0,8 ?"hi: "..hi.."",0,16 if(li>0)goto s if(hi<sc)dset(0,sc)hi=sc ::_::if(btnp(🅾️))li=3e={}b={}sc=0goto s ?"game over!!",42,50,7 ?"score: "..sc.."",42,58 ?"highscore: "..hi.."",42,66 ?"press 🅾️ to reset",42,74 goto _
Leave a comment
Log in with itch.io to leave a comment.