First Hour Superpower Post-Mortem Lite
This year was the first time I had attempted a Game Jam and I enjoyed it so much I entered a few more (1, 2, 3, 4, 5, 6). I’ve slowly progressed from using C#/XNA to Unity as it has a much faster turnaround for tens of pretty obvious reasons. FHS is playable here. Alternatively here is a video of it being completed.
Inital Design
The deal in FHS is you have a little tutorial section at the start introducing you to various special powers like a double jump, but then you can only select one to carry through to the main platforming section. A lot of the design was inspired by Monty on the Run, an old platformer I originally played on the Amstrad 464 (but was available on pretty much everything), probably most known for its amazing Rob Hubbard BGM. At the start you put together a “survival pack” of items, which are essentially keys and if you have the wrong ones the game is unwinnable. While a bit of a rubbish mechanic in Monty (although I do have much love for the game overall) it served as a good base for a You Only Get One idea. My enemies being gigantic angry mugs was also a nod of acknowledgement back to Monty.
Design Changes
The biggest change from the initial design to what I finished with is the number of powers. This was the full range of abilities I was initially going to try and implement:

Double Jump, Jetpack, Air Dash, Swim
Sink, Ladder, Shoot, Weight.
Of these I actually decided to only implement four: Double Jump, Air Dash, Weight (different mechanic), Sink (using the Swim icon) and I’m really glad I cut this down. Not only because it vastly reduced the amount of work I would have to do, but because it let me target the level design more specifically at certain powers rather than something mostly generic and catch-all with little bits of “oh, this is easier with power X” which would be less interesting than paths like going up from the start to 3-screen a double-jump specific section. Also, it let me select the extremities and not worry if one power was going to be viewed as a less effective version of another (e.g. sink vs. swim). If I could choose a fifth I think it would be ladder, which was just going to create a vertical stack of one-way platforms, as that’s another pretty unique mechanic you could create bespoke platforming for.
Another big change was the amount of enemies and scope of the level design which all fell drastically as the deadline loomed. I think the level I have is pretty cool, has that Jet Set Willy sense of exploration to it perhaps, but it certainly could’ve been much bigger.
Regret!

I really like some of the features introduced with Unity2D but their tutorial does some really suspect things with input checks in Fixed Update (don’t do this you’ll drop inputs), circle colliders for a 2d character, only checking the ground in one place, etc. I went in a bit overzealous, in hindsight needlessly so, and because I’m a pretty green/terrible coder I reinvented the wheel a lot, which is kind of the opposite of what you want to do in an event like Ludum Dare. O ye of little faith.
Also, the way I handle levels is pretty stupid with an object per tile read in from a text-file. I was definitely going for speed rather than efficiency and I don’t currently know of a good tile solution that uses Unity’s new 2D stuff. Because it’s an external file the web player does not like it and, while I tried getting the web player to behave for a little while messing with the www class, in the end I realised I could be playing with this all day and I had a game to make. My last full Ludum Dare game was also executable only so maybe it’s not the end of the world, but it is pretty silly for me to not have a web version available.
Finally, most people who play my game immediately ask “what happens if I go through all the exits?” Nothing. Nothing happens. 