{"author_name":"lorancou","cat":"LD #22","comments":[],"epoch":1324583400,"likes":0,"metadata":{"p_key":"60063","p_author":"lorancou","p_authorkey":"8588","p_urlkey":"95815","p_title":"Lone Kitty postmortem","p_cat":"LD #22","p_event":"LD22","p_time":"1324583400","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"8588","us_name":"lorancou","us_username":"lorancou","event_start":"1323993600","event_key":"8","event_name":"LD22"},"text":"<p>The first time I heard about Ludum Dare was a few days before LD22, and I took my decision to participate only a few <strong>hours<\/strong> before it started. So I had absolutely no preparation, and I&#8217;m quite proud I actually finished something. Also I&#8217;m glad my girlfriend let me spoil so much week-end time <img src=\"http:\/\/ludumdare.com\/compo\/wp-includes\/images\/smilies\/simple-smile.png\" alt=\":)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> Here&#8217;s the result, an HTML5\/Javascript\/canvas game:<\/p>\n <p><a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-22\/?action=rate&amp;uid=8588\">http:\/\/www.ludumdare.com\/compo\/ludum-dare-22\/?action=rate&amp;uid=8588<\/a>.<\/p>\n <p>Looks like postmortems are popular here so let&#8217;s jump in.<\/p>\n <h3>Good stuff<\/h3>\n <ul>\n <li>This wasn&#8217;t my first accelerated game dev thing, I took part in the Global Game Jam in Paris last January (<a href=\"http:\/\/globalgamejam.org\/2011\/appetite-extinction\">link<\/a>) and learned a lot from people there. This surely helped me to plan and get things done without lacks of sleep and horrible headaches.<\/li>\n <li>I wasn&#8217;t sure if I would go for a Flash game or an HTML5 one; finally I went for the second option even if it&#8217;s far more limited. I&#8217;m glad I did\u00a0because what I&#8217;ve learned could\u00a0prove\u00a0valuable to me later on.\u00a0This wasn&#8217;t my first HTML5 experiment either (first one <a href=\"http:\/\/lorancou.free.fr\/addon\/minus.html\">here<\/a>), so I managed to get a good basis at the end of day 1: basically a moving character and fleeing enemies.<\/li>\n <li>I also managed to get enough time out of day 2 for polishing, notably the gameplay. This way the game won&#8217;t finish if you don&#8217;t play (as it did at a point&#8230; maybe that would have fit the theme&#8230; somehow.. the game playing <em>alone<\/em>&#8230;) -but it will resist you for a minute.<\/li>\n <li>My first idea was that the kitty would evolve somehow (turning into err&#8230; well, play the game and you&#8217;ll see, let&#8217;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).<\/li>\n <li>I can play a 15-seconds song on a crappy flute, what a musician!<\/li>\n <\/ul>\n <div><a href=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2011\/12\/lonekitty_small.jpg\"><img class=\"size-full wp-image-89480 aligncenter\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2011\/12\/lonekitty_small.jpg\" alt=\"\" width=\"480\" height=\"346\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2011\/12\/lonekitty_small-300x216.jpg 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2011\/12\/lonekitty_small-550x396.jpg 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2011\/12\/lonekitty_small.jpg 800w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><\/a><\/div>\n <h3>Bad stuff<\/h3>\n <div>\n <ul>\n <li>I wasn&#8217;t really happy with the theme, actually &#8220;kitten&#8221; 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&#8217;s hundreds of entries like this, of course, I should have anticipated that. So next time I&#8217;ll try spending more time on finding something that really plays around the theme, like <a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-22\/?action=rate&amp;uid=8158\">this entry by Ludexor Studios<\/a>. Don&#8217;t get me wrong, I&#8217;m not saying this was a bad theme, just that it didn&#8217;t inspire me that much.<\/li>\n <li>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&#8217;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&#8217;ve had a bit more time to optimize all this. I&#8217;m sure there&#8217;s some Javascript library around that does sprite blitting in a much more efficient way that I did (please comment if you know any).<\/li>\n <li>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 <strong>poor<\/strong>, sometimes they&#8217;ll play, sometimes they won&#8217;t, sometimes they&#8217;ll stop my music, sometimes they&#8217;ll scratch&#8230; Really, proper sound playback for games is not there yet, or maybe I did it wrong and didn&#8217;t find the simple way that works, but next time I&#8217;ll probably rely on some <a href=\"http:\/\/www.schillmania.com\/projects\/soundmanager2\/\">good, working library<\/a>, that I&#8217;ll test beforehand.<\/li>\n <li>This would have helped if I&#8217;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.<\/li>\n <li>I had no time to check if Internet Explorer would run my game. Turns out it doesn&#8217;t, but IE9 is supposed to handle HTML5, so I&#8217;ll try to fix this in a near future (EDIT: <a href=\"http:\/\/www.ludumdare.com\/compo\/2011\/12\/23\/internet-explorer-support-for-lone-kitty\/\">done<\/a>). Also, I discovered at the last minute that zooming on the webpage would crash the game with Chrome, maybe I&#8217;ll find a fix some day (EDIT: no problem with a recent version of Chrome, so nevermind).<\/li>\n <\/ul>\n <div><a href=\"http:\/\/www.ludumdare.com\/compo\/2011\/12\/22\/lone-kitty-postmortem\/lonekittydbg\/\" rel=\"attachment wp-att-103805\"><img class=\"aligncenter size-full wp-image-103805\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2011\/12\/lonekittydbg.png\" alt=\"\" width=\"305\" height=\"304\" \/><\/a><\/div>\n <h3>Conclusion<\/h3>\n <p>Democracy hates kittens, but game competitions are great.\u00a0Thanks to the admins for organizing such a great event, and cya!<\/p>\n <\/div>\n \n <p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/postmortem\/\" rel=\"tag\">postmortem<\/a><\/p>","time":"December 22nd, 2011 2:50 pm","title":"Lone Kitty postmortem"}