tinyangrycrab

LD28

Our first LD entry and finished game!

Hey dudes – my friend and I finished our Jam entry, an action platformer named ONE JUMP, just in time. Click the gif to get to the entry:

 

ONE JUMP post mortem

Note: relatively long, sorry :<

 

“You only get one”

http://www.ludumdare.com/compo/ludum-dare-28/?action=preview&uid=30298  <– our entry

 

When the theme was first revealed we (my friend Henry and I) scratched our heads somewhat. We had been preparing for something a little more conventional and had absolutely no immediate ideas about this other than LET’S DO A ROGUELIKE and… we felt like it was not possible to pump out an interesting roguelike in 72 hours that wasn’t already walking well-trodden ground. In the end I threw out the idea of a game where literally every single asset was the number one (self-interest as I was making the assets) and we would work out the gameplay as we went.

 

We defaulted to a platformer as he and I had a few ideas about how platformers should work that we wanted to test out. In the first 48 hours we hacked together a few basic assets, a character controller and a rough enemy type (including a moving one that never gets used).

 

The enemies are composed of parts and when killed are switched out with a separate physics ragdoll object and a virtual force is applied to each part to get them to spin away appropriately. The shots are simple fired at whatever angle we situate the shooting gameobject on the little purple one on their heads.

 

The player is controlled by absolute transform motion in the left and right axes, but has our own jump and gravity code on him. We decided to avoid using full physics to control him as that always ends up feeling a little floaty. He also has completely full air control. Getting his behaviour right took a bit of time, as things like the grounded state are vital to the game’s mechanics and at first they were a little ropey.

 

His gun also took a bit of effort – I have an obsession with making sure the basic action in a game is satisfying, so we tried to make the act of firing his gun as nice feeling as possible. The screen shakes along the axis of the shot, with the weapon having both impact and exit spray. The enemies are imparted a significant physics force. The gun is also the only actually animated part of the game – it slides back into its base whenever you fire.

 

The music playing is actually an interesting hackjob – we have a gameobject that is a part of the main menu scene but is set not to be destroyed on loading a new scene. When you go back to the main menu it actually takes you back to a scene named “mainmenu2” which doesn’t contain the object, as otherwise the music doubles up.

 

Gameplay Concept

 

We wanted the gameplay to be a smooth and flowing platformer. The idea was that you should be able to complete each level without your feet ever touching the ground (not first time) – in one jump – and that you should be constantly trying to chain together your various abilities. To that end we gave the player resetting aerial dashes and jumps on an enemy kill, and to make interacting with the enemy shots more interesting gave the dash the ability to destroy them and return jumps and dashes also. As you chain together your aerial moves time slows down and you move faster, giving you a nice way to continue your combo and a bit of breathing room. You only get one jump/dash/shot charge at a time, in keeping with the theme.

 

The levels should be short but quick to restart (hitting r), with death being relatively painless. Obviously, one shot kills you!

 

So how did it work?

 

I feel like the basic action of shooting feels extremely satisfactory. However, the platforming itself was much less fun and this is down to 2 things:

 

a) The character’s movement felt very weightless as you have no momentum

b) the character had no animations

 

The dash in particular really needed some associated animations. In general, the game is very bad at giving solid feedback – the indicators on the player showing which charges you have are tiny and probably won’t be noticed. There should have been an impact sound for hitting an enemy with your shots, and definitely animation states for moving around. The game needs more of a kinetic feel!

 

Level design was a serious problem. We only started making levels on the last day, and although we had experimented with the parts of our system we hadn’t really got an explicit feel for the best way to show off the game’s mechanics. Originally I drew up a list of the mechanics and the combinations of them which I was going to use to construct the levels, but sadly I forgot about it. Hence, we just randomly designed levels – and this means the difficulty is EXTREMELY high. The very first non tutorial level requires you to chain together a series of motions, introduces a new mechanic (spikes) and doesn’t let you get to grips with the system at all.

 

As ever, some external testing would have really helped here!

 

The spikes are also an interesting one – a few hours before the end I was looking at what we had and feeling like something was missing. Then I realised that we had designed a platformer with ABSOLUTELY ZERO environmental hazards! This meant that things like a fall could never be dangerous because you take no fall damage, etc. So I rushed in some spikes in the very few hours and stuck them into a couple of levels, but having those from the beginning would have dramatically changed the design (for the better, I think, as it would have emphasised the importance of staying aerial).

 

The UI was not fit for purpose. We needed a clear indicator of how much slow mo time you currently have (other than the combo counter) and a CLEAR large indication of dash, jump and shot charges. A shot recharge bar would have been great too. In a game like this you need good visual feedback, and we definitely failed on that front.

 

Finally, one of the most obvious things was that we failed to put in the instruction “WASD moves” in the tutorial. I simply didn’t think about it, but quite a few people have asked since “how do I move!”.

 

Conclusions

 

We really enjoyed the jam and we learned a huge amount. I think the biggest takeaways are the importance of thinking about level design early, making sure that things are easier than you think they should be (because you have played your game for hours and they haven’t), and making sure that the most seen elements of your game (in this case the main character and UI) are expressive and packed with movement and information.

 

With that said, I am still surprised by how playable the game is. All the levels are doable in one jump (including the nightmarish level 5 which I have only ever managed to do… once). The scoring system works, the music plays, checkpoints work, etc.

The first 3 levels done in one jump!

A fellow asked me if I could show the first 3 levels of my game (ONE JUMP) being done in, well,  one jump, so here they are:

Levels 5 and 6 are too secret to show (also I have only done level 5 cleanly once and trying to do it on camera gave me a hernia Q_Q). If you can do it send it to me and I’ll put it on my channel with a shout out!