Deep Sea Joyride – Post Mortem

Posted by
May 3rd, 2014 9:58 am

So, time to evaluate our effort for Ludum Dare 29!

screenshot_menu_deepseajoyride

 

Play+Rate Deep Sea Joyride

Friday (Day 0)
Me and Magnus got our gear together, jumped in to the car and traveled for about 4 hours to our third member of the Ludum Dare team, located in Karlstad, Sweden. We were thrilled that it was finally time for Ludum! We got our gear rigged and went out for food and beer. A nice way to plan the upcoming 3 days.

In our everyday work we program controlsystems and game programming is nothing we normally do. For myself it’s my fourth Ludum (2 previous entries, LD26 Jam, LD27 Compo). Magnus just had his second Ludum and Jonathan had his first Ludum Dare experience. And believe me when I say he’s hooked!

We all really wanted to code most of the time, and with that in mind we decided to skip Unity this time. We ended up with XNA, which might seem strange to some people as it’s not something that will stay alive for much longer. But we wanted C# and we wanted something well documented and with a lot of answers online.

In the timezone we live in, Ludum Dare starts att 03.00 AM so we stayed up until the theme was announced and we immediately started thinking about game ideas. One of the first ideas was to make a “free runner” or a game that just goes on the longer you “run”, the higher score you get. The second idea that actually came up was it to be a diving game. And as Magnus is a spare-time diver he liked it right away. We stayed up another hour planning, probably making it to bed at about 05.00 AM, excited as ever!

Saturday (Day 1)
We went up at 10:00 AM and went out to a cafe for breakfast and to plan what we need to do, what classes are to be written, what graphics we needed to create and who’s was gonna do what. We ended up with Niklas taking care of main game flow, sprite animation classes, enemies and other entities. Magnus had background, foreground and ground objects as well as audio and music. Jonathan took care of the player object with related controls as well as a lot of graphics.

Everyone started off working with his tasks and in the evening, at about 09:00 PM we decided to take a couple of hours break and go to a Greek restaurant and celebrate my birthday with some delicious food and wine. (We even had a bottle of champagne that my girlfriend had ordered in advance to the restaurant).

After that we coded for another couple of hours and once again went to bed at about 05.00 AM.

Sunday (Day 2)
We woke up a bit late (11:00 AM) which was probably just good as we got another hour of extra sleep. Jonathan started out by rewriting the code for the player as he didn’t think it was “pretty” enough! That’s kind of serious to be in Ludum! I wrote the code for the enemy fishes and Magnus made some music. The sound effects were recorded and we even had to break some glass to get the right feeling! The following sounds were made:

  • Bubble: Made with a glass of water and a straw. Blew a very small amount of bubbles to get the single “blub” sounds.
  • Diver Breath with bubbles: Making a “Schhh” sound in a can. Bubble sounds by blowing hard and long in with a straw in a glass of water. Some fixing of speed and tone of the sounds in Audacity
  • Airtank pickup sound: Consisting of three sounds. First the sound of a well shaken, 1,5l Pepsi bottle opening. The second part is the opening of a beer can. The third sound is a well shaken 1,5l Zingo(!) bottle.
  • Hurt sounds: Just various sounds made by myself.
  • Glass shatter sound: This sound is played if you reach 200m. It’s the glass on the depth meter that shatters. We put a towel on the floor. Wrapped a shot-glass in paper and smashed it with a hammer against the floor.

The music consist of two tunes. One theme that is used in menus, and one looping tune when diving. All music was done by Magnus in Garageband on an iPad.

During the evening (read early morning) we had some play testing on Jonathans projector. We felt very proud!

Monday (Day 3)
We wanted three types of fishes (each type with it’s own swimming pattern) so all of us made one fish graphics each. We put those graphics in, and some code to save the high score. Then we submitted, packed our stuff and went for a 4 hour drive home. Totally exhausted, yet very proud.

 

What went right:

  • Planning. We did actually manage to implement most of the things we discussed and we still had a good time without being stressed out.
  • Graphics. None of us actually do graphics. Even if that’s the case, we really like the final look and feel of the game!
  • Audio. We did manage to create all sounds and music that we wanted. A little more time for the “diving-music” wouldn’t have hurt, but still we feel that it’s giving you the correct mood.
  • XNA. The choice to do this in XNA feels very good. None of us had tried XNA before, still we didn’t run in to any big programming issues. Excellent framework to start coding games in!
  • Probably a ton of other things. Most things did actually go very well!

What went wrong:

  • We didn’t have a proper setup for a team. Instead of Git or SVN we used dropbox… I say no more…
  • Too late I realized that the C# random() method isn’t that random without a good seed…
  • The balancing of the game is quite bad. At first it’s dead simple and suddenly it gets way too hard. It’s actually based on the random problem above…
  • Did not add an ingame help or tutorial.

 

Thank you very much for reading! Hoping to see you around next Ludum Dare!


Leave a Reply

You must be logged in to post a comment.

[cache: storing page]