Ludum Dare #29 postmortem: Crazy Diver

A game about a crazy diver

The 29th edition of the game-making competition Ludum Dare ended yesterday not very well for us. My brother @davix1228 and I couldn’t deliver an acceptable game within the 72 hours deadline. The theme was: Below the surface.

Instead, we only managed to create a very basic prototype full of errors. But despite the result, I can say I’m very satisfied with the result we got with graphics and all the new things we learned.

The idea was to create a game in which the player has to find treasures within a shipwreck. The diver wouldn’t have it easy because of the many dangers lurking around such as sharks and the occasional ghost wanting to protect their relics.

The good

Although the graphics are rather simple, we were able to achieve an interesting look and feel. Gradients perfectly mimicked the appearance of the clear sky and deep ocean.

Regarding the wreck, we managed to imitate the characteristic shape of the liners from the twenties with acceptable quality. The boat, on the other hand, reflects the style of the luxury boats seen in the present.

The diver sprite doesn’t feature a lot of details because of its size but its movements approximate those of a diver in real life. The diver’s movements also feels realistic because we were using a physics engine for Haxe called nape.

The new things we learned were related precisely to nape. Nape is a physics engine used for detecting and resolving collisions and for applying forces to the objects within the game. It also let us define interactions between objects and fluids. This is how the diver’s behavior is simulated underwater.

A game about a crazy diver

The bad

When Friday came, the first day of the competition, I was finishing migrating this website from Django to Pelican and also publishing the last participation’s postmortem. Maybe I was too tired, I don’t know, but when the competition started, ideas weren’t flowing. Friday night passed by and only until Saturday morning the idea for the game came to fruition.

On the other hand, it took us some time deciding how to draw the sprite for the shipwreck. We tried to do it with a lot of details but we couldn’t make the sprite to look good. In the end, we decided to only use one color and the basic form of a liner, which gave us a better result.

Due to the almost no-existent experience using nape, it also took us some time to code the diver’s behavior and animations. As a result, all what we had working on Sunday was the diver’s movements. Regarding the wreck, we just have the sprite for the front part.

Throughout Sunday and part of Monday we were programming collisions between the diver and the front part of the wreck. The rest of the day was dedicated to code image transitions when the diver entered in the shipwreck.


As I said on a previous occasion, quickly getting an idea is essential to succeed in the Ludum Dare. A rested mind is definitely more creative than a tired one, so it’s a good idea to not be rushed and rest well before the competition begins.

The Ludum Dare community organizes an event called Warmup Weekend the last weekend before the competition, which can be used for testing new tools and libraries. It’s an opportunity we can take advantage of in the following editions.

That’s all for now. Until next time! Play the game here.