Hi guys. I just finished this game (sorta) for Ludum Dare 42. I'm just posting it here real quick to get it uploaded for the compo and I'll flesh this post out later.
Z to attack. Arrow keys move. Double tap an arrow key to dash.
X will restart when you die but it's a little wonky. You'll need to reboot the game to get the original map back.
Hey guys, this is sort of my first attempt to really make something with PICO-8 from scratch. Before making this, my only other PICO-8 experience was I followed the Squash tutorial from the PICO-8 zine and a bit of that tron light cycle tutorial on YouTube a few months ago and worked a little bit on a kind of turn based pong/space invaders kind of thing for a little bit but I didn't really make too much progress with that xD.
I was participating in Ludum Dare for the first time and PICO-8 was the only game making tool I knew how to use, so I tried making a game over the last weekend. The theme was making a game with two incompatible genres. I wanted to try and make a pinball/platformer game. The idea being you could charge yourself up at any time and fling yourself in a direction like a pinball at any given time and bounce off the walls to navigate gaps or climb upwards etc.
I got the charge and bouncing working on just a blank screen against the walls of the screen but then I started working on the platforming aspect. Unfortunately, I wound up spending pretty much the entire weekend trying to figure out how to make collisions work so the player could stand on platforms and not go through walls. I tried coming up with a bunch of different methods for it and I was finally starting to get some real headway by the end of it but then I was out of time.
You can see in the game that I have collision boxes drawn over every tile with a 1 flag(for collideable walls and platforms that should block the player) and collision boxes drawn over the player to help diagnose what was actually happening. The numbers are some debug data I was using previously. At this point the great difficulty was getting the player to be able to collide with the floor and walls at the same time. If I tried having code implemented for both, the player would fall inside of the tile floor tile, and then immediately get flung off the screen to the left, as it would push the player to the left side of the floor tile and into another floor tile.
The morning after I actually managed to solve that problem and actually have floors and walls working, although it's still a little janky. Unfortunately though, I never actually got far enough along to really make a game before the jam was over. Still, I put so much work into getting these fundamental parts together, I feel like I have to actually make something with it now that the jam is over, so I'm going to keep working on it. I'm mostly just uploading it here to see if this will let me have a playable version in browser that I could post in a blog post for the Ludum Dare site xD.
Also, in this version the player actually appears two pixels over the floor upon contact rather than just stopping and staying still where he collides with the floor. That's what causes the little hopping effect. It wasn't how I originally intended it but given this is just a "tech demo" I decided to leave it in, because frankly it just made the dude lot more fun to move around the screen ^_^. Go little hop dude, go!
Hope you like my little thing. Now after thinking about it a bit, I might post what little I had of The Legend of Pong too down the road :)