{"author_name":"Banni","cat":"LD #14 - Advancing Wall of Doom - 2009","comments":[],"epoch":1240921800,"likes":0,"metadata":{"p_key":"73295","p_author":"Banni","p_authorkey":"791","p_urlkey":"109117","p_title":"DoomCake \u2013 Postmortem","p_cat":"LD #14 - Advancing Wall of Doom - 2009","p_event":"LD14","p_time":"1240921800","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"791","us_name":"Banni","us_username":"banni","event_start":"1239926400","event_key":"90","event_name":"LD14"},"text":"<p><em><a href=\"http:\/\/www.ludumdare.com\/compo\/2009\/04\/19\/doomcake-final\/\">DoomCake<\/a> was my first LD entry.\u00a0 It was developed in Lua, using the <a href=\"http:\/\/love2d.org\/home\">L\u00d6VE<\/a> 2D engine.<\/em><\/p>\n <p><img src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2009\/04\/banni_ld14_doomcake-300x233.jpg\" alt=\"\" width=\"300\" height=\"233\" \/><\/p>\n <p>In making this game, I learned a bit about Lua, and a lot about cake.\u00a0 Read on to find out what a sugary zombie invasion might look like&#8230;<\/p>\n <p><span id=\"more-6047\"><\/span><\/p>\n <p><strong>Introduction<\/strong><\/p>\n <p>The competition was flagged up to me by someone at work, though I wasn&#8217;t sure I&#8217;d be able to do it until the day before the start time (which was 4AM local time).\u00a0 I didn&#8217;t even decide what development environment I was going to use until the Friday evening, when I spied a Lua book in the office library on the way home from work.\u00a0 I&#8217;d seen L\u00d6VE mentioned by a couple of folk here, so I decided I should give that a shot.<\/p>\n <p>I should mention I&#8217;d never used Lua before, so when I started reading on Friday evening, I was literally starting at &#8216;HelloWorld&#8217;.\u00a0 I went through a few examples, then started playing around in L\u00d6VE, seeing what it was capable of.\u00a0 Satisfied I could put together a simple sprite-based game, I went to sleep a few hours before the competition start.\u00a0 I figured no point trying to stay up late just to find out the theme, only to ruin myself for the next day.<\/p>\n <p><strong>Trying to learn a new language, whilst against a deadline<br \/>\n <\/strong><\/p>\n <p>Never having used Lua before, I had to learn how to solve a number of problems against the clock.\u00a0 Things I take for granted in my day-to-day C#\/.Net life.\u00a0 Things like multi-file projects, debugging and error-handling, collections &amp; queues, and so on.\u00a0 At first it felt like I was reaching for a book five times for every line of code I wrote.\u00a0 Not very productive!<\/p>\n <p>I managed to pull together enough to make my game work, with minimal bugs.\u00a0 However the code-quality is horrendous.\u00a0 Inconsistent styles throughout, as I learned my way around the language.\u00a0 Huge amounts of copy-paste, since I couldn&#8217;t get certain code-reuse aspects working properly.\u00a0 Certainly not my prettiest work, from a development point of view.<\/p>\n <p><strong>Quick and easy love<\/strong><\/p>\n <p>The L\u00d6VE engine made getting assets into the game very simple.\u00a0 Images (static and animated) and audio were easy to bring in.\u00a0 I would recommend it as a good choice, especially if I knew Lua better (or even at all!)<\/p>\n <p><strong>Cake!<\/strong><\/p>\n <p>The idea for the Wall Of Battenburg Doom came about as I was filling up on sugary snacks on the first day.\u00a0 I went around the house, collecting anything that might work as ingame enemies, with the intention of taking photos of them to make sprites from.\u00a0 (Art isn&#8217;t my strongest skill, so I figured that would save me time).\u00a0 However I underestimated the amount of photoshop processing that would be required to turn the pics into something usable.<\/p>\n <p>In the end, I only used two items: The battenburg cake, and some candy teeth.\u00a0 I had an idea that I would create a parade of Marching Sugary Doom.\u00a0 Doughnuts, fizzy drinks, lollipops, chocolate bars, and so on.\u00a0 All of these would be following behind the main wall, covering the ground with sticky, sugary rubbish.\u00a0 This obviously didn&#8217;t happen, which lessened the effectiveness of the other idea I had:\u00a0 Creating a Left4Dead parody, specifically the survival-until-rescue part.<\/p>\n <p><strong>The food.\u00a0 It&#8217;s&#8230; infected!<\/strong><\/p>\n <p>Imagine you&#8217;re the survivor of a zombie attack.\u00a0 Only, instead of zombies, the virus\/mutation\/whatever is causing sugary snacks to rise up and eat people.\u00a0 What&#8217;s more, their weapon of choice is CANDY TEETH!\u00a0 So all the while, we&#8217;ve been told not to eat too much sugary stuff, as it will rot our teeth.\u00a0 Now the roles have been twisted around.<\/p>\n <p>Anyway, this side of the game never really worked out, simply due to time constraints.\u00a0 I wanted to have multiple levels, with different types of wall behind the teeth, and various obstacles that the player would have to navigate around.\u00a0 I also wanted to have different coloured pick-ups, with different effects.\u00a0 But sadly time was against me.<\/p>\n <p><strong>Rescue<\/strong><\/p>\n <p>One of the great parts of L4D is waiting for rescue, against a seemingly never-ending hoard.\u00a0 I blatantly ripped off the rescue-helicopter idea.\u00a0 As the chopper got closer, he would radio in encouragement to hold out just a little longer.\u00a0 If you managed to survive long enough, he would pick you up, and fly you to safety.\u00a0 (Note how he flies you over the wall and beyond, where the legions of marching snacks would be, if I had time)<\/p>\n <p>I wanted to have an actual radio, sat on a table next to the helipad, with the pilot&#8217;s speech bubbles coming from it.\u00a0 But again, this didn&#8217;t make it in.<\/p>\n <p><strong>A familiar plateful of cake?<\/strong><\/p>\n <p>The final part of my L4D inspiration was the box art.\u00a0 I&#8217;m talking about this<\/p>\n <p><img class=\"alignnone\" src=\"http:\/\/www.l4d.com\/blog\/images\/posts\/010\/cover7.jpg\" alt=\"\" width=\"153\" height=\"212\" \/><\/p>\n <p>which I copied slightly to make this<\/p>\n <p><img class=\"alignnone\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2009\/04\/title2-300x225.png\" alt=\"\" \/><\/p>\n <p>Spot the similarity?\u00a0 Apparently it was too subtle, since no-one mentioned it.\u00a0 Oh well&#8230;<\/p>\n \n <p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/doom\/\" rel=\"tag\">doom<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/post-mortem\/\" rel=\"tag\">post-mortem<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/postmortem\/\" rel=\"tag\">postmortem<\/a><\/p>","time":"April 28th, 2009 7:30 am","title":"DoomCake \u2013 Postmortem"}