Wow. PICO-8 is extremely fun to work with, and I'm so happy I stuck around to learn how to use it!
Right now I'm learning how to work with tables and 'objects' to sort of port a game I'm currently developing called HellHole. It's a top-down shooter where you choose between controlling your body or the bullet (which is your soul).
So far, I've managed to not slow down the game with a shit ton of instances and that makes me happy!
I'll leave you with a gif of the latest bit of progress: A spawner, soul particles, and screen-shake.
Hi! I'm developing a short little game in PICO-8 and plan to export it as an executable. The problem is, I would like the game to close itself after something happens. I've tried using the 'shutdown', 'exit' and 'stop' functions but none of them closes the window at the end of the game.
Is there even a way to do this? Or perhaps I'm using the previously mentioned functions in a wrong way?
Thanks for the help!
Hi! I just started using PICO-8 and I'm having a little trouble with my collision code.
It works fine when colliding against walls, but colliding against corners (the red tiles) breaks it.
Here is the collision part of the code:
function placeMeeting(x, y, f) local tilesize = 8 local tilex = flr(x/8) local tiley = flr(y/8) local s = mget(tilex, tiley) return (fget(s, f)) end
And this is the movement part:
if (btn(0)) then if (not placeMeeting(p.x-1, p.y, solidtile)) then p.x -= p.speed end p.mirror = true elseif (btn(1)) then if (not placeMeeting(p.x+p.bbox_w+1, p.y, solidtile)) then p.x += p.speed end p.mirror = false end if (btn(2)) then if (not placeMeeting(p.x, p.y-1, solidtile)) then p.y -= p.speed end elseif (btn(3)) then if (not placeMeeting(p.x, p.y+p.bbox_h+1, solidtile)) then p.y += p.speed end end
Thanks for the help :D