Finally finished my first full PICO-8 game!
- Movement: up,down,left,right
- Attack: Hold X or Z
How To Play:
- Move your avatar around the screen to avoid getting hit by demons and saw-blades.
- Hold the attack buttons to shoot your soul out and control it to hit demons.
- You can't move your body while using your soul. Your body is still vulnerable.
- Let go of the attack button to return your soul to your body.
- You can't damage saw-blades.
- Survive 66 seconds...
- Original concept, design, programming, art: Gabriel Duarte
- Aditional art: Liam McAlinden
You can play the original version over at Itch.io.
A while ago I decided to port a game I made to PICO-8, and I'm finally almost done :D All that's missing is SFXs and a dope title image/cart cover. I'm posting this here because I'd love to playtest it here and get your opinions on it so don't hesitate to tell me if something sucks!
Also, don't look into the code too much, I'm not a great programmer...
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