{"author_name":"TheSheep","cat":"LD #24","comments":[],"epoch":1346350260,"likes":1,"metadata":{"p_key":"51591","p_author":"TheSheep","p_authorkey":"11694","p_urlkey":"87285","p_title":"Post mortem: De-evolution","p_cat":"LD #24","p_event":"LD24","p_time":"1346350260","p_likes":"1","p_comments":"0","p_status":"UPD5","us_key":"11694","us_name":"TheSheep","us_username":"sheep","event_start":"1345766400","event_key":"12","event_name":"LD24"},"text":"<p><a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/08\/30\/post-mortem-de-evolution\/shot-20\/\" rel=\"attachment wp-att-179801\"><img src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2012\/08\/shot5-550x412.png\" alt=\"\" width=\"550\" height=\"412\" class=\"aligncenter size-large wp-image-179801\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2012\/08\/shot5-300x225.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2012\/08\/shot5-550x412.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2012\/08\/shot5.png 800w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n <p><a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-24\/?action=preview&amp;uid=11694\">Play De-evolution.<\/a><\/p>\n <p>This was my second try at Ludum Dare, and in the end it was very similar to my first attempt, <a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&amp;uid=11694\" title=\"Tin World\">Tin World<\/a> &#8212; it&#8217;s a side-view shooter where you walk right and shoot enemies. But it wasn&#8217;t supposed to be like that. I spent half a day thinking about a game that would use the theme nicely but at the same time be simple enough for me to make and tweak in the limited time. Nothing. Then I started sketching things to find inspiration. Somehow only guys with guns as simplified monsters were drawn. I posted my drawings here, and somebody suggested a gun that would evolve or de-evolve things, similar to the Portal gun. Then I decided to go with similar mechanics to the last time, only more advanced.<\/p>\n <p>The good:<\/p>\n <p><strong>Graphics<\/strong>. Basically, I used the same technique as the last time, but with some more time spent on the details and more character to the main character. I&#8217;m rather happy with the effect &#8212; the black-and white, sketchy pictures, with a white outline, animated by moving them around &#8212; no frame-based animation. It was inspired by the minipato anime, by the way. A lot of people seem to praise that in the comments, so I will certainly stick to it in the future.<\/p>\n <p><strong>Scrolling<\/strong>. That&#8217;s something that I planned for my previous game, but didn&#8217;t have time to do. No I planned to have scrolling from the beginning, and it&#8217;s there. There are some tricks to keep it very efficient even with limited PyGame options, but I think it works quite fine.<\/p>\n <p><strong>Level<\/strong>. This time I decided that I can&#8217;t just randomly throw things at the players &#8212; they need to have a level that is <em>designed<\/em>, so that they can actually <em>finish<\/em> the game. I really like the feeling I get from finishing games, so I wanted to have it here.<\/p>\n <p><strong>Release<\/strong>. Last time I did some experimenting and managed to package the whole game in a single exe file for windows, and an executable zip file for all the sane platforms. I used the same approach this time, and it worked without any problems &#8212; preparing the release took me 10 minutes, including booting an old windows laptop for it.<\/p>\n <p>The bad:<\/p>\n <p><strong>Controls<\/strong>. In my previous game, people complained that the controls worked sometimes, and sometimes they didn&#8217;t. After some investigation it turned out that people didn&#8217;t realize that they couldn&#8217;t move after shooting, while the weapon was being reloaded. I introduced that, because I wanted them to think a little before shooting, to make sure they will have the few milliseconds to reload safely, before pulling the trigger. It didn&#8217;t work, turns out players just want to move all the time and don&#8217;t want to plan their trigger pulling. Fine.<\/p>\n <p>This time I really made sure that you can move around freely from the beginning. I even added some nice inertia effects to make all the movement super-smooth, and I made it possible to move around quite fast. That was a mistake &#8212; people complain about the inertia making it harder to control the character. A second mistake I made &#8212; despite the experience from the previous Ludum Dare &#8212; the energy gun didn&#8217;t feel powerful enough, so I made the player character stop while shooting it. Soon enough I saw my mistake &#8212; the very first comment complains about &#8220;lackluster&#8221; controls.<\/p>\n <p>I think I have learned my lesson: never stop the players from moving their characters.<\/p>\n <p><strong>Difficulty<\/strong>. My decision to have a designed level backfired at me. Or maybe it was just that I underestimated how much work it would be to make it. Anyways, the level is much shorter than I wanted, and because of a last-minute change to the last wave of enemies, the game is insanely hard &#8212; almost unbeatable. You seem the last monsters were initially very weak (but lots of them), but then I decided to add some variety, and since it&#8217;s at the end, and I didn&#8217;t have a debug mode, that part wasn&#8217;t tested as often as the others&#8230;<\/p>\n <p><strong>Code<\/strong>. In my last game, I used some clever tricks to make all the animations and effects easy to code (I used python&#8217;s iterator generators for effects). This time I went with a haphazard approach, just doing random stuff that seemed straightforward. The code is a mess and much more elaborate than I would like, as a result. I will stick to the generators in the future, they work really well for this.<\/p>\n <p>In summary, I&#8217;m really happy that I finished a game, but a little disappointed that it turned out to be very similar to the last one. I hope to really get a better idea next time. I will definitely stick to this graphics style and iterator generators, but I will make sure you can always move.<\/p>","time":"August 30th, 2012 1:11 pm","title":"Post mortem: De-evolution"}