Lone Kitty postmortem

Posted by (twitter: @lorancou)
December 22nd, 2011 2:50 pm

The first time I heard about Ludum Dare was a few days before LD22, and I took my decision to participate only a few hours before it started. So I had absolutely no preparation, and I’m quite proud I actually finished something. Also I’m glad my girlfriend let me spoil so much week-end time :) Here’s the result, an HTML5/Javascript/canvas game:

http://www.ludumdare.com/compo/ludum-dare-22/?action=rate&uid=8588.

Looks like postmortems are popular here so let’s jump in.

Good stuff

  • This wasn’t my first accelerated game dev thing, I took part in the Global Game Jam in Paris last January (link) and learned a lot from people there. This surely helped me to plan and get things done without lacks of sleep and horrible headaches.
  • I wasn’t sure if I would go for a Flash game or an HTML5 one; finally I went for the second option even if it’s far more limited. I’m glad I did because what I’ve learned could prove valuable to me later on. This wasn’t my first HTML5 experiment either (first one here), so I managed to get a good basis at the end of day 1: basically a moving character and fleeing enemies.
  • I also managed to get enough time out of day 2 for polishing, notably the gameplay. This way the game won’t finish if you don’t play (as it did at a point… maybe that would have fit the theme… somehow.. the game playing alone…) -but it will resist you for a minute.
  • My first idea was that the kitty would evolve somehow (turning into err… well, play the game and you’ll see, let’s not spoil), and that the environment would become more and more colorful while you progress. But I figured out soon enough I had no time for this. Instead, my game is just a very simple run, but finishes with a little joke. So I had to sacrifice a bit of my original idea, but it turned it into something that still makes sense (a bit).
  • I can play a 15-seconds song on a crappy flute, what a musician!

Bad stuff

  • I wasn’t really happy with the theme, actually “kitten” sounded real fun to me. A great opportunity for disrupted cuteness and mass murder. So as a fallback I did a game about a kitty that is alone, but meh. There’s hundreds of entries like this, of course, I should have anticipated that. So next time I’ll try spending more time on finding something that really plays around the theme, like this entry by Ludexor Studios. Don’t get me wrong, I’m not saying this was a bad theme, just that it didn’t inspire me that much.
  • Maintaining decent performance was an issue too. I was testing on two browsers (Firefox and Chrome), and they had trouble drawing all my sprites. I had the idea from the beginning that the kitty would be surrounded by a glowing light, so I took advantage of this to render only the visible stuff, and clear things around with a few black stripes. It did the trick, and the game’s running at 60FPS on Firefox, and around 45-50FPS in Chrome. But still, I had to restrict the number of enemies and I wish I’ve had a bit more time to optimize all this. I’m sure there’s some Javascript library around that does sprite blitting in a much more efficient way that I did (please comment if you know any).
  • The biggest mistake was with sounds. I could play music easily with the HTML5 brand new audio tag, but it would loop only on one browser and not on the other, so I had to drop looping background music. And the SFXs I wanted to add a few hours before the deadline became real hell. The browser support for the HTML5 way of playing sounds is really poor, sometimes they’ll play, sometimes they won’t, sometimes they’ll stop my music, sometimes they’ll scratch… Really, proper sound playback for games is not there yet, or maybe I did it wrong and didn’t find the simple way that works, but next time I’ll probably rely on some good, working library, that I’ll test beforehand.
  • This would have helped if I’ve had some good Javascript libs for vector math, collision handling and sprite animation. I had to do some tedious coding instead of creating actual gameplay.
  • I had no time to check if Internet Explorer would run my game. Turns out it doesn’t, but IE9 is supposed to handle HTML5, so I’ll try to fix this in a near future (EDIT: done). Also, I discovered at the last minute that zooming on the webpage would crash the game with Chrome, maybe I’ll find a fix some day (EDIT: no problem with a recent version of Chrome, so nevermind).

Conclusion

Democracy hates kittens, but game competitions are great. Thanks to the admins for organizing such a great event, and cya!

Tags:


Leave a Reply

You must be logged in to post a comment.

[cache: storing page]