White Arrow

An endless asteroids clone where the screen progressively fills with more and more rocks!

Your weapon upgrades every 4th level, and more asteroids spawn in when your level increases (1 extra rock with each new level).

The ship's hitbox is 1x1 (shown by the pixel in the middle of the ship) and there's no momentum so you can do some dodging.

Left and Right
Rotate ship
Up
Move ship forward
X
Fire

In 1024 compressed bytes for the PICO-1K Jam 2022 https://itch.io/jam/pico-1k-2022

pl={0,4,8,8,6,4,8,0,0,4}
rk={1,1,4,0,7,2,8,4,7,6,4,8,1,7,0,4,1,1}
function rks(s,n,x,y)
if #r<200 then
for i=1,n do
if x==nil then
a=rnd(160)
b=(rnd(2)\2)*160
o=rnd{{a,b},{b,a}}
x=o[1]
y=o[2]
end
add(r,{x=x,y=y,t=r,
s=s,a=rnd(),d=rk,
h=1,v=.3+rnd()})
end
end
end
function draw(m,c)
for a in all(m) do
o=a.d
t=a.a
if (a.t==r) t+=ra
sa,ca=sin(t),cos(t)
for i=1,#o,2 do
x=(o[i]-4)*a.s
y=(o[i+1]-4)*a.s
m=x*sa-y*ca+a.x
n=x*ca+y*sa+a.y
if (i>1) line(k,l,m,n,c)
k,l=m,n
end
end
end
function move(m)
for a in all(m) do
a.x=(a.x-sin(a.a)*a.v+8)%160-8
a.y=(a.y-cos(a.a)*a.v+8)%160-8
if (a.t==f or a.t==g) a.h-=1
end
end
function kill(m)
for a in all(m) do
if (a.h==0) del(m,a)
end
end
function coll(m,n)
for a in all(m) do
for b in all(n) do
if a.h and b.h>0 then
x=a.x-b.x
y=a.y-b.y
if x*x+y*y<a.s*a.s*8 then
a.h=0
b.h=0
if a.t==r then
?"\a1dad"
sco+=1
add(g,{x=a.x,y=a.y,t=g,s=a.s*.5,v=1.5,h=5,d=rk,a=-a.a})
add(g,{x=a.x,y=a.y,t=g,s=a.s*.5,v=1.5,h=5,d=rk,a=a.a})
if (a.s>1) rks(a.s-1,5-a.s,a.x,a.y)
end
end
end
end
end
end
function _init()
r={}
f={}
g={}
p={x=64,y=64,a=0,s=1.5,v=1.5,h=1,d=pl}
sco=0
lsco=10
sta=1
lev=1
tic=0
cd=0
ra=0
rks(3,4)
sfx(-1,-2)
?"\a2shl08d0..d..c#."
?"\a3syl0wf1efad.fefad.c#.e.fefad.fefaa#agfec#"
end
function _update()
if sta==1 then
if (btn(0)) p.a-=.025
if (btn(1)) p.a+=.025
if (btn(2)) move({p})
if btn(5) and tic>=cd then
cd=tic+8
?"\a0d2ad"
l=lev\4/2
for i=-l,l do
add(f,{x=p.x,y=p.y,t=f,s=.3,v=4,h=20,d=pl,a=p.a+i*.1})
end
end
move(r)
move(f)
move(g)
coll(r,f)
coll(r,{p})
kill(r)
kill(f)
kill(g)
if (p.h==0) then
sta=2
?"\a3sfl08bfd"
end
if sco>lsco then
lev+=1
lsco+=lev*6
rks(3,lev)
end
ra+=.025
end
if sta==2 then
p.s-=.025
p.a+=.025
if (p.s<.025) sta=3
end
if (sta==3 and btn(5)) _init()
tic+=1
end
function _draw()
cls(1)
draw(g,2)
draw(r,12)
draw(f,9)
pset(p.x,p.y)
draw({p},8-sta%2)
if (sta==3) ?"game over!\npush x\n",48,48
?"score:"..sco
?"lev:"..lev
end

StatusReleased
PlatformsHTML5
Rating
Rated 3.0 out of 5 stars
(1 total ratings)
Authorjoesoft
GenreShooter
Made withPICO-8
TagsAsteroids, pico1k, PICO-8

Leave a comment

Log in with itch.io to leave a comment.