Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
A jam submission

White ArrowView game page

Endless asteroids game in 1024 compressed Pico8 bytes!
Submitted by joesoft — 21 days, 20 hours before the deadline
Add to collection

Play game

White Arrow's itch.io page

Compressed Bytes used
1024

Source Code (OPTIONAL)
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

Leave a comment

Log in with itch.io to leave a comment.

Comments

Impressive!

Developer

Most appreciated!

Submitted

Wow great entry in 1K! I enjoy those details, like the splitting rock shadows and your bullets angled in your direction. Impressive!

Developer

Thank you!

HostSubmitted

This is a really polished clone (esp. in 1K!) 🤓
You even managed to get some cool music and death sequences in.
Such a neat entry 👍

Developer(+1)

Thanks! It was a very fun challenge.

Only got the music in as I'd kept the code indented up until the very  end, and deleting it gave me like 25 more bytes!