GuppyShark is my competition entry for the 29th Ludum Dare game competition. This is a very simple, silly doodle, game ... thing ... mainly made to get competition experience and also to test the HaxeFlixel library and the Tiled editor in a more "real" setting.

In this game you play as a Guppy and your motivation is to jump above the water to collect beach balls and avoid the attacking sharks. If you reach the golden trident at the end you will advance to the next level!

To hear awesome music and sound effects - click the music icon on the main screen

Press the screen to play!

GuppyShark Flash Game

Source code and assets

In the zip file you will find the complete project with source code and art assets (gfx and music). You will need HaXe, OpenFL and HaxeFlixel (and also probably FlashDevelop) to compile from the source. Follow the getting started guide at HaxeFlixel to get the setup working.

Download .zip (2.53 MB) 2014-04-27 (Competition Version)

Ludum Dare Theme

The theme for the 29th Ludum Dare Competition was "Beneath the Surface".

Since I live in a different time zone than the competition it was not practical for me to stay awake at the reveal of the theme. Magically I did manage to wake up in the middle of the night so I could surf to the site to check out the theme. In my half-slumbering drowsy state I made this list:

So the main game mechanic is "dive beneath the surface to get energy for jumping".

Content creation

First hours in the morning was spent setting up FlashDevelop and HaxeFlixel. Then I started making the initial graphics, making a mock up tileset and level with Tiled. I also settled on a color scheme and graphics theme. During the rest of the day I went back and forth between code and gfx creation, trying out different things, polishing the first tiling artefacts and also iterating more content.

Next morning I did not do any new major graphics. Instead I focused on the sound creation.

I spent about 1 hour recording the two splash sounds and think I recorded about 50 - 100 different takes before I found the right splashing technique that produced the right sloshy-noisy-bubbly sound. The floor in my apartment was pretty wet at this time! The song was also hastily written in about 1 hour (in FL Studio) just to have some music as well. Synths used where FireBird, GMS and Synth1 plus some samples from your typical sample libraries.

Further Reflections

I deliberately set out to do something that was easy and reachable for this competition. I did not try to make any innovative stuff really and this must be a major part why everything went by pretty smoothly and as expected. I am glad I did not try to make anything fancy. As an example: I spent way to much time getting the particle effects working - think if I had tried to write my own particle engine as well!

For a competition like this I think you should not worry about trying to develop new engine code during the competition. You will have enough trouble just getting the game code and game assets right.

The whole ordeal was both stressful and fun and it was great having a fixed deadline. Now, a few days into the voting I can safely say that the range of the other 48h-competition entries is HUGE. Very inspiring indeed.