Look, I’m not exactly pleased to be here either, but this much of that green ore is too good to turn up. Yes, the moon is increasingly unstable but carve as much as you can using the rockerizer, get it back to the tele unit and we’re out of here in an hour. Not the time to be asking why we aren’t sending a bot. If we had the money for one we wouldn’t need to be here. It’s a very decent payday.

Your hazard suit will absorb a fair amount of punishment from the molten rock, but the surface instability means it’s leaking between gaps in the ground. Nothing like a bit of motivation eh? It’ll mean your journey back to the TU will be trickier than the outward trek, so use the nano waypoint device to mark a path back. Anything marked will have a bright yellow glow in your HUD, just like the TU. It’s got limited juice though, so go easy. Oh yeah, worth saying - just remember that less rock means more lava.

See you in a bit!

 * * *

x - start/restart game

 * * *

arrow keys - move

x - mine rock/ore

z/c - mark waypoint on hard rock

 * * *

Credits

Made for pico1k game jam by Ben Jones using pico8 in 1023 bytes of compressed code. Raycasting engine based on Lode Vandevenne's Raycasting Tutorial - licensed under BSD 2-clause license - check it out, it's brilliant.

License

The 2-Clause BSD License

Code

You can play with the code on pico-8-edu or see below

r=3::_::f,x,y,o,v,cx,cy,a,t,l,w={15,1,1,6,6,6,6,6,6,6,6,6,9,9,9,0,0,2,2,3,1},16,16.5,1,0,0,.75,0,0,100,8pal({1,141,137,130,133,141,133,141,134,4,9,135,131,3,139},1)memset(8192,9,4096)
for j=1,30 do
for i=1,30 do
k=f[1+rnd(#f)\1]mset(i,j,k)f[16+i%3]=k
end
end
mset(14,16,11)
mset(15,15,11)
mset(15,16,1)
mset(15,17,11)
mset(16,15,2)
mset(16,16,2)
mset(16,17,2)
mset(17,15,2)
mset(17,16,2)
mset(17,17,2)
fillp(0xa5a5)
::l::
if r>0 then
if(r==1)?"ore mined: "..a
if(r==2)?"signal lost"
if(r==3)?"moon miner"
if(btn(5))r=0goto _
goto l
end
t+=1
for j=1,30 do
for i=1,30 do
k=mget(i,j)m=i+rnd(3)\1-1n=j+rnd(3)\1-1
if(t%360<1and k==3and mget(m,n)<3)mset(m,n,3)
end
end
s=0
if(btn(2))s=.05
if(btn(3))s=-.05
if(mget(x+o*s,y)<4)x+=o*s
if(mget(x,y+v*s)<4)y+=v*s
s=0
if(btn(0))s=-.01
if(btn(1))s=.01
i=mget(x,y)
if(i==3)l-=1?"\ag4"
if(l==0)r=2
if(x\1==15and y\1==16)r=1
m=mget(x+o,y+v)
if(btn(5)and (m==15or m==6))mset(x+o,y+v,rnd(2))?"\ag0"
if(btn(5)and m==15)a+=1?"\ab3"
if(btn(4)and m==9and w>0)mset(x+o,y+v,12)w-=1
i=o
o=o*cos(s)+v*sin(s)v=i*-sin(s)+v*cos(s)
i=cx
cx=cx*cos(s)+cy*sin(s)cy=i*-sin(s)+cy*cos(s)
cls(3)for z=0,127do
local sx=2*z/128-1
local r,s=o+cx*sx,v+cy*sx
local ly,g,w,cy,sx,sy,sd=127,1,0,0,1,1,0
local i,j=x\1,y\1
local lc=mget(i,j)
local c,dx,dy=lc,abs(1/r),abs(1/s)
if(r==0)dx=30
if(s==0)dy=30
local u,v=(i+1-x)*dx,(j+1-y)*dy
if(r<0)sx=-1u=(x-i)*dx
if(s<0)sy=-1v=(y-j)*dy
while g do
if u<v then
sd=0u+=dx
i+=sx
else
sd=1v+=dy
j+=sy
end
c=mget(i,j)
g=c<4
if(sd==0)d=u-dx
if(sd==1)d=v-dy
local f=128/d\1/2+64line(z,ly,z,f,80+lc)
if(lc<2)line(z,127-ly,z,127-f,sget(16+lc,max(0,min((d-1)/3\1,3))))cy=127-f
w=128/d+.5\1
if(c<2)c2=6line(z,max(cy,-w*2+64),z,-w/2+64,bor(max(c2-2,c2-sd-d/3\1),shl(max(c2-2,c2-(d+.5)/3\1),4)))
ly,lc=f,c
end
h=-w/2
if(lc>1)h=-w*2
c2=c
line(z,max(cy,h+64),z,w/2+64,bor(max(c2-2,c2-sd-d/3\1),shl(max(c2-2,c2-(d+.5)/3\1),4)))end?"\ff◆"..a.." ♥"..l.." ˇ"..w
flip()goto l
StatusReleased
PlatformsHTML5
Release date Sep 29, 2023
Rating
Rated 4.5 out of 5 stars
(6 total ratings)
AuthorPowersaurus
GenreAction
Made withPICO-8
Tags3D, pico1k, PICO-8, Retro
Code licenseBSD 2-clause 'Simplified' License
Asset licenseCreative Commons Attribution_NonCommercial_ShareAlike v4.0 International

Comments

Log in with itch.io to leave a comment.

lol cute once i got the hang of it(O:

Very cool concept, and I really like the pressure that the approaching lava exerts on you!

coolfun