Super Jump Guy - The Techy Stuff
As ever, a massive thank you to everyone who's played Super Jump Guy so far and left feedback on it! So far there don't seem to be any glaring problems, which is great; I'm glad to see people enjoying it so much. If you haven't played it yet, please do, especially as this post contains major spoilers for the game's ending. (It also contains sneak peeks at some of the improvements in the upcoming V1.2 update, so keep your eyes peeled!)
With that out of the way, it's time for my traditional breakdown of some of the tricks and techniques that went into making Super Jump Guy. If any of you are fellow PICO-8 devs, maybe this will be helpful!
Collision Detection
Collision detection has been the bane of my existence ever since I started competing in Ludum Dare 2 1/2 years ago. This is the first time I've managed to build a game that launched with no collision detection issues, which is something I'm very proud of.

Super Jump Guy's collision detection system builds on the system I used for my LD43 entry, The Gods Are Angry, and works in three parts:
- Every frame, a vertical collision check is run to see whether Jump Guy has hit something, what he has hit, and what should happen as a result.
- Every frame, every enemy and bullet checks to see whether they have hit Jump Guy. (I could make this more efficient by checking the distance to Jump Guy first, and only running a proper collision check if they're close to him, but I'm only using 6% of PICO-8's CPU, so efficiency isn't a concern.)
- If Jump Guy tries to move to a specific X co-ordinate, a horizontal collision check is run to see whether he would walk into a wall as a result. This ensures that wall collisions are pixel-perfect without me having to check every frame.
Effects System
The effects system is also built on something from a previous entry: Save the Bird! from LD46. There, it was mainly used for things like explosions, but for Super Jump Guy I've expanded it significantly. It can now display text, like the score pop-ups, or animated sprites that loop a set number of times, like the casting animations during the final sequence.

What Final Sequence?
Seriously, if you haven't played Super Jump Guy yet, I strongly suggest you do so before reading any further. Everything I'm about to talk about is supposed to be a big surprise.
...
So after four playthroughs, Jump Guy grows tired of going through the same platformer levels on a constant loop, breaks out of Super Jump Guy, and tries out an RPG instead. This meant that, having spent the first two days building a platformer, I now had about 16 hours to build an entirely separate RPG battle system -- from scratch!
Obviously, this meant I had to cut some corners - items and magic can be used infinitely (though I intend to change this in a future patch), and there's a very limited selection of both. But I managed to get in all the standard mechanics of turn-based RPGs, even a curable status effect!

It wasn't actually that difficult in the end. I've got a basic state machine to keep track of whose turn it is and where you are in the menu, and then two methods - one for the player, one for the enemy - that control the various attack animations. Getting the timing of the animations right was honestly the hardest and most time-consuming part. I even had plenty of tokens to spare!

There are two slightly different endings, depending on whether you win or lose. There's no option to start the game again and get the other ending; Jump Guy's broken out of the loop and/or dead, so you can't send him back in! I actually thought about taking this a step further, and having Jump Guy fail to appear if you reload the page to play again. I didn't do this because a) people might mistake it for a genuine glitch and rate the game lower, and b) you'd be able to get around it by clearing your browser cache.
I think that's all I have to discuss regarding Super Jump Guy. I already have my post-mortem written up, and I'll post it with about seven days to go, like always. In the meantime, if there's anything else you'd like to ask about Super Jump Guy's inner workings, feel free to let me know!