Moon Miner 2580
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
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
Status | Released |
Platforms | HTML5 |
Release date | Sep 29, 2023 |
Rating | Rated 4.5 out of 5 stars (6 total ratings) |
Author | Powersaurus |
Genre | Action |
Made with | PICO-8 |
Tags | 3D, pico1k, PICO-8, Retro |
Code license | BSD 2-clause 'Simplified' License |
Asset license | Creative 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