A while ago I started working on a little platformer with a portal/hole mechanic. The idea was that you could toggle a hole through a level that would let you move through a parallel level and solve puzzles. I was working with a "modern" game engine and getting that to work was a breeze; I started thinking about how to nail that effect on pico-8 about a week ago but didn't begin writing it until last weekend. Turns out by using tline and some help from the pico-8 discord it took a couple of hours. Now I'm working on finishing it and releasing the game by the end of the month.
This is what it currently looks like:
If you have any suggestions, I'd love to hear them!
I'm working on a platformer right now and I've been kicking around the idea of custom masks. Essentially, I want to draw a map, and a map on top of that; a circle would then reveal (punch a hole through) the map that was drawn first through the foreground map.
This effect can be done through a simple clip() call between drawing both maps, but that only gives me a rectangle (and only one at that). I'd like that effect, but with a circular shape (or an arbitrary shape ideally).
A solution I've been messing with is saving the background map to memory (at the sprite data or general purpose address), then drawing the foreground map normally with map(). The game would then get the pixels within the shape, get the corresponding data from memory that would match the pixel location, and draw the correct pixels on top of the map, which would look like a "hole" punched through the map.
Thing is: I'm shit at memory stuff.
So, while I read through how memory works and how I can read would-be pixels from a memory address and draw them individually while keeping 60 fps sigh I would much appreciate any help with this. If you think my idea won't work, please let me know; if you have a better idea, PLEASE let me know; if you've done this before, I would be eternally grateful for the help.
That's all for now, I guess I will keep posting as I slowly work my way through this?
Thanks for the help,
This is the PICO-8 version of a game I wanted to make about 3 years ago. I figured I should make a smol version of it and actually finish.
The final game will be a one-screen maze game with moving enemies, and hopefully something interesting with the painting mechanic. I also want people to make their own levels for it, so I made a separate level editor (not in PICO-8) that spits out a table that the game reads as a leves; super user f r i e n d l y .
Anyways, that's what this is. I hope I have something more interesting
You can download a build of this game 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!
A game made in 1 hour for the 1 hour game jam.
Shoot the blue thing 100 times.
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