US Cupcake Day

Aug2014 29

<a href='http://www.ludumdare.com/' title='Ludum Dare' target='_blank'>Ludum Dare</a> 30 - Sikosis

Over the weekend of the 23rd/24th August, I participated in one of the best known and respected game jams, called Ludum Dare. Currently in it's 12th year, Ludum Dare (latin for "to give a game") is a two-part event, the compo (solo 48hrs) and the jam (solo/team 72hrs) to create a game based around a theme, which was announced on the weekend - Connected Worlds.

I decided, since this was my first time, I would do the more relaxed jam due to the extra 24 hours. Even though I didn't have Monday off work, I'll planned that I would still get an extra 4 hours to do something during the big finish.

Anyway, I was at my son's karate lesson when I saw the theme announced and promptly began thinking of ideas, jotting them down on my iPhone. I had already said to myself, I was going to make a 2D platformer. So, I knew the style, but that's only half the battle.

I was also using a recently unfamiliar toolset called Haxeflixel, which is Haxe (open source ActionScript) + Flixel (Flash Game Library) and is pretty damn cool for making games. I had dabbled with it in the week leading up to Ludum Dare, but I was certainly no expert -- however I did learn alot about it over the course of the weekend.

I started off alright, creating the various scenes or states as haxeflixel calls them, along with some placeholder graphics with 809 lines of code and 9% progress overall. How did I come to that figure ?

Well, prior to Ludum Dare, I made a dashing Dashboard for the event with a countdown timer and these stats. The stats are populated by a script, which I have set to annoy/run every hour. This prompts me to a) try and get as much work done before the hour deadline and b) a way to show my results from my iMac and see how I'm doing.
I had also implemented gamepad support for my game. When I was testing it, I was building it as a native app (OS X) and running it, so the gamepad support worked just great. It was only later that I realised that the Web version (Flash) doesn't support the gamepad - so, it could have been one of those things I added at the end rather than spending all that time on it at the beginning.

It was also around this time that I hit a snag. My plan was to have multiple worlds that the player would visit and those worlds would be made from different tilesets. I thought a futuristic city, an ice world, a forest planet and I had tilesets to compliment these, just whenever I made a new world using the Tiled Map Editor and then trying to use it in haxeflixel -- the game would crash. I tried googling for the error with no success and spent many wasted hours on building worlds I couldn't use and also trying to figure out why I couldn't use them.
Add to that the fact that some of my tilesets were different sizes, so when I tried to combine them into a giant tileset using Game Character Hub, some of the tiles were getting chopped off.

It was getting close to 9PM on Saturday and so it was time to break out my power pill for the night's coding ahead:-
To fix my tileset issue, I ended up having to manually cut and paste the tiles using Photoshop from one tileset to another, as I could only get one particular tileset file to work. Very tedious slow work, however it was the only way to achieve the end result as quickly as I could. I also didn't figure this out til about midnight. I kept coding til about 3AM, when I decided it was time to sleep as I'd be up again at 8am the next morning - my son's soccer training.

As I mentioned, I lost a fair bit of time on the tilesets issue, so today I planned to do Enemy AI as a main goal, however, I was having an issue with the animation. It was playing backwards and on the opposite side ie. left animation when pressing right arrow. But eventually I cracked it !
However, it turns out there were a few comments I got post-LD48, that my jumping was too floaty. I'll have to look into that for the sequel.

By 9PM Sunday night, I had scaled back the design of my game. No extra worlds with tilesets, but the theme is Connected Worlds, I had to have some -- so I decided to just colour tint the background a different colour and call each world a different world. I used the same tileset with a few additional ones and set about making 5 levels.

The first one was already made and was pretty basic. It was meant to be the tutorial level ie. jump over the pit or die / get the component and the exit appears. I stayed up til midnight (work tomorrow) and managed to flesh out 3 out of the 5 levels. I went to work Monday and tried not to think about my game.

On the train ride in, I basically worked out what I needed to do to finish - 2 levels including the final level, which I wanted to do some special puzzle mini-game, music and sound effects and basic polish.

At lunch time, I fired up my laptop and used Tiled to make level 4. I just had to wire up the code, I figured I'd do that when I got home, which I did. I also did the sound effects in cfxr and got some music by chip via Jamendo.

Then this happened ...
I fixed it, added a small final level without the mini-game puzzle and decided that was it. It was rather apt at the time, Keeno & Whiney's "No More" feat Louisa Bass was playing on my stereo. I think it was trying to tell me something, so I compiled the game for Web (Flash), Mac OS X and Windows (neko).
And here it is ... Dr Blake Saves the Universe



blog comments powered by Disqus