{"author_name":"UltimateWalrus","cat":"LD #24","comments":[],"epoch":1346085420,"likes":0,"metadata":{"p_key":"51861","p_author":"UltimateWalrus","p_authorkey":"175","p_urlkey":"87559","p_title":"\u201cBarnacles\u201d postmortem","p_cat":"LD #24","p_event":"LD24","p_time":"1346085420","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"175","us_name":"UltimateWalrus","us_username":"ultimatewalrus","event_start":"1345766400","event_key":"12","event_name":"LD24"},"text":"<p><img src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/compo2\/thumb\/3f117efc7d0d548939634e8b9230ed17.jpg\" alt=\"\" \/><br \/>\n <a href=\"https:\/\/vimeo.com\/48281246\">Gameplay video is here.<\/a><\/p>\n <p>Here&#8217;s my game for the 48-hour competition. \u00a0<a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-24\/?action=preview&amp;uid=175\">The main page is here if you want to play.<\/a>\u00a0\u00a0You are a predatory fish and must eat the &#8220;barnacles&#8221; to survive. \u00a0Each round, the barnacles repopulate using a genetic algorithm. \u00a0Because of this, they will gradually adapt and evolve to your playing style, eventually getting so strong that you lose.<\/p>\n <p><span style=\"text-decoration: underline\">Good<\/span><\/p>\n <ul>\n <li>I think the gameplay turned out fun. I was afraid the genetic algorithm would just be a gimmick, but actually you can get a much higher score if you&#8217;re aware of how adaptation works. If you selectively eat the most powerful barnacles so that they don&#8217;t reproduce, and avoid the easy pickings, you can do much better.<\/li>\n <li>Even though I started a day late, I still managed to make it as polished as I wanted it. I even had time at the end to playtest and take my time making music. The small scope really helped here. The algorithm behind the game was the only really &#8220;big&#8221; element I had planned, and even then I axed a planned &#8220;stab&#8221; ability that would have been very similar functionally to the shoot ability.<\/li>\n <li>Surprisingly, the enemies seem to adapt pretty well. This may be because I tried to make the potential for different &#8220;behaviors&#8221; as complex and analogue as possible. Barnacles can &#8220;like&#8221; or &#8220;hate&#8221; the X and\/or Y positions of the player, seaweed, and rock, as well as the RGB colors of other barnacles. I think this may have even enabled some really simple &#8220;symbiotic&#8221; relationships.<br \/>\n It may have worked better with a larger population, and with slower mutation, but that would be a long time to ask the player to play an arcade-styled game.<\/li>\n <li>Multimedia Fusion 2 was, surprisingly, a good choice. It was a gamble whether or not the simple event system would break when asked to handle the complexity of a genetic algorithm, but I made an effort to make my code very clean, and it just works. I&#8217;ve been using Clickteam software for 15 years and am still amazed at all it can do. Thumbs up.<\/li>\n <\/ul>\n <p><span style=\"text-decoration: underline\">Bad<\/span><\/p>\n <ul>\n <li>The name. I&#8217;m not very good at coming up with names when I don&#8217;t have enough time to think about it. &#8220;Barnacles&#8221; just doesn&#8217;t have a nice ring to it at all. In retrospect, I think &#8220;Diatoms&#8221; would be a better name and I&#8217;ll probably rename it that before I put it on my website.<\/li>\n <li>Performance issues. I had planned all along to make the game work in Flash, but when I finally exported at the end, it ran much too slow. I hear Flash doesn&#8217;t handle MMF2 fastloops well so maybe that was the problem. Even in standalone form though, it does slow a little bit when there are a lot of barnacles with complex behaviors clustered close enough to see eachother.<br \/>\n Coding the game in C++ would have made it run smoother, but the huge amount of time saved from using MMF2 made it worth it overall.<\/li>\n <li>Bugs. To be expected I suppose. The main one is those pitch-black barnacles that appear rarely, and don&#8217;t propagate their color as one would expect. I just didn&#8217;t have enough time to grind through the code and figure out what was causing this.<\/li>\n <li>Mistakes. I just realized since I forgot to initialize the values, the first batch of barnacles start their life &#8220;hating&#8221; everything. Probably would work better if they started neutral.<\/li>\n <\/ul>","time":"August 27th, 2012 11:37 am","title":"\u201cBarnacles\u201d postmortem"}