Controls

  • Left & right keys to rotate the ship
  • C to activate engine, ie shoot & move at once

How far can I go?

The game starts with 2 blobs and for each of the 4 following levels difficulty will raise, ie your ship will get less energy, more inertia, and bullets won't go as far. Then 2 blobs are added, difficulty will reset, and so on. So the game has no end, but since I can't seem to pass the 14.3 level, the game kind of ends there. Please make this wrong by going further! Anyway here's my 40 minutes longplay until that 14.3 level:

5.4 also seems to be the end for many players, if you own Pico-8 you can set the l  (lowercase L) value in the penultimate line (here set to 0=level 1.1): 19 for level 5.4, or 54 for level 14.3. If you want to go any level set l to level*4+difficulty-5 (difficulty going from 1 to 4).

The 1k code

function i()f=l%#e
g=99-f*20d=e[f+1]srand(l)?"\aszi7v7e0x1v4ev2ev0e"
t=0p={t=0,c=7,x=64,y=64,r=3,a=.25,s=0,n=100}m={p}
for n=-1,l\#e*2do
add(m,{t=1,c=k[l%#k+1],x=r(99)-50,y=r(99)-50,a=r(),s=r(.2)+.1,r=r(9)+4})end
end
function _update60()a=circfill
p.a-=(b()\2%2-b()%2)*.01if(b(4)and t%3<1and p.n>5)add(m,{t=2,c=10,x=x,y=y,r=1,a=p.a,s=2,d=30*d})p.s-=.2p.n-=1?"\ax5i0g"
p.s*=.99-d*.01cls(k[(l-1)%#k+1])for v=#m,1,-1do
n=m[v]for w=#m,v+1,-1do
o=m[w]ts=n.t+o.t
if n.r+o.r>=sqrt((n.x-o.x)^2+(n.y-o.y)^2)then
if(ts==1)p.n-=1a=circ?"\ai2c0"
if ts==3then
n.r*=.7?"\as9i3x5e1e0"
if n.r<3.5then
del(m,n)else
o.r,o.t,o.s,o.c=n.r*.5,1,n.s,n.c
end
end
end
end
n.x+=n.s*cos(n.a)n.y+=n.s*sin(n.a)n.x%=128n.y%=128a(n.x,n.y,n.r,n.c)if n.t==2then
n.d-=1
if(n.d<0)del(m,n)
end
end
x,y,p.n=p.x+cos(p.a)*p.r*1.5,p.y+sin(p.a)*p.r*1.5,mid(0,p.n,g)a(x,y,2,10)rect(13+g-p.n,11,13+g,15)?"astero1k\n\nlvl "..1+l\#e .."."..f+1,13,5
if(#m<2)l+=1i()
if(p.n<=0)i()?"\ascv7x3i3c3c2c1"
p.n+=.1
t+=1
end
k={12,4,1,3,9,8,14,13,2}l=0r=rnd
e={2,1,.7,.4}i()b=btn

How 'bout the source code?

The code above IS the source code, I directly made the game this way to keep a precise control over its size. But I kept a doc to track my 1 char variables:

  • a() = circfill()
  • b() = btn()
  • c = collision
  • e = difficulties
  • f = l%#e
  • g = 99-f*16
  • i() = init()
  • k = colors
  • l = level
  • m = mobs
    • a = angle
    • c = color
    • n = nrg
    • r = radius
    • s = speed
    • t = type (0 = plyr, 1 = foe, 2 = bullet)
    • x, y = position
  • n = current mob
  • o = mob checked for collision with n
  • p = player
  • r() = rnd()
  • v = # of n (current mob)
  • w = # of o (checked mob)
  • x, y = x, y weapon/engine


StatusReleased
PlatformsHTML5, Windows, macOS, Linux
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorElGregos
GenreShooter, Survival
Made withPICO-8
Tags2D, Arcade, Asteroids, Endless, PICO-8, Pixel Art, Retro, Shoot 'Em Up
Average sessionA few minutes
InputsKeyboard, Gamepad (any)
AccessibilityTextless

Download

Download NowName your own price

Click download now to get access to the following files:

astero1k_windows.zip 935 kB
astero1k_osx.zip 3.2 MB
astero1k_linux.zip 688 kB
astero1k_raspi.zip 1.4 MB

Development log

Comments

Log in with itch.io to leave a comment.

p8 file, possible?

(+1)

This is SO good Gregory! 😮
Great spin on the classic game, but the new mechanics change everything.
I think this could easily be a hit casual game (e.g. done as full game, post-jam)
But as it is, I reckon ppl will get hooked - like I did! 😅
(I also got to LVL 5.4 before I died more than I think I should've been allowed to!)

Thanks Paul, I was indeed considering making this a full game, if I manage to keep it at a small scale :)

(+1)

furthest: lvl 5.4. controls r good. was thinking about how to make movement like this game's. I really like the booster+two-turn-angles gametype ideology, u seemed to figurout a good combo here with the camera and all that as it is.  

holding down fire and 1 movement key is best way to clear screens where ur fire length spams most of the screeen. 

imo: The best levels are the ones where theres lots of asteriods and u have to manage turn rate and firing on a finer level. To that end, separating health and energy from eachother would be best, otherwise i have to do alot of idling to regen things safely. I would increase the turnrate or have some kind of booster to facilitate harder turns, i think this would really help with the levels where ur fire-length is short and make it fun with lots of asteriods on the screen. wud rly bringout the fact that u move a little when u just turn and dont fire, which is cool, that could maybe be increased a bit too as a wiggle type movement, or at least to extend ur velocity from firing a bit further.

Thanks for your thorough review, yet I think having only one energy stat is the point there, forcing the gamer to alternate between offensive and defensive play. It may not show at lower levels but it really makes sense on later levels where you have to slalom among blobs to allow your energy to go up. I'm all into making minimal games that allow various ways of playing.