{"author_name":"Korso","cat":"LD #33","comments":[{"author_name":"ambi","time":"August 26, 2015 8:11 am","epoch":1440594660,"text":"That&#8217;s a cool design process. Thanks for sharing!","spam":"N"},{"author_name":"","time":"August 26, 2015 8:27 am","epoch":1440595620,"text":"Really nice post-mortem writeup! A good read!","spam":"N"},{"author_name":"jaksa76","time":"August 26, 2015 9:26 am","epoch":1440599160,"text":"Nice post! I&#8217;m writing an article about ludum dare for my company. Can I use your picture as an example of a game plan?","spam":"N"},{"author_name":"Korso","time":"August 26, 2015 11:05 am","epoch":1440605100,"text":"@jaska76 no problem <img src=\"http:\/\/ludumdare.com\/compo\/wp-includes\/images\/smilies\/simple-smile.png\" alt=\":)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/>","spam":"N"},{"author_name":"jaksa76","time":"August 27, 2015 4:40 am","epoch":1440668400,"text":"thanks <img src=\"http:\/\/ludumdare.com\/compo\/wp-includes\/images\/smilies\/simple-smile.png\" alt=\":-)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/>","spam":"N"}],"epoch":1440593820,"likes":3,"metadata":{"p_key":"13388","p_author":"Korso","p_authorkey":"55188","p_urlkey":"48643","p_title":"Post-Mortem: Monster House","p_cat":"LD #33","p_event":"LD33","p_time":"1440593820","p_likes":"3","p_comments":"5","p_status":"UPD5","us_key":"55188","us_name":"Korso","us_username":"\/author\/korso\/","event_start":"1440115200","event_key":"29","event_name":"LD33"},"text":"<p>Being my first Jam &#8211;<a href=\"http:\/\/ludumdare.com\/compo\/ludum-dare-33\/?action=preview&amp;uid=55188\">and my first complete game<\/a>-, my main objective was to deliver a complete product in 48 hours. Although I&#8217;ve been programming since 2006, I was very little experience with graphics, and almost zero with games.<\/p>\n <p>I&#8217;ve tried different frameworks and engines to make games during the last years. I&#8217;d loved to deliver a game that can be played via web or -at least- in the three main OSs, but due to my lack of experience, I finally used GameMaker Studio (Standard Edition), cause I felt more confident with it. In retrospective, it was a good decision; I doubt that I had completed the game with another tool.<\/p>\n <p>&nbsp;<\/p>\n <p><strong>The Theme<\/strong><\/p>\n <p>So it was like 3:00 am here in Europe when the theme was published. I wanted to do something original, but keeping in mind that I had to keep it small. Fortunately, the idea came this same night:<\/p>\n <p><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_1.jpg\"><img class=\"alignnone wp-image-495320 size-large\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_1-550x779.jpg\" alt=\"NuevoDocumento_1\" width=\"550\" height=\"779\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_1-212x300.jpg 212w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_1-550x779.jpg 550w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n <p>Here is a draft of the mechanics of the game. In that moment, there was a single type of monster and two types -green &amp; red- of characters. Nevertheless the main idea, that is, characters run away from the monster turning clockwise or counter-clockwise, was already there. I chose those colors to &#8216;guide&#8217; the player, cause are the same colors used in planes, boats, etc. to indicate left and right.<\/p>\n <p>So I had a somewhat solid idea of a puzzle &#8216;lemmings style&#8217; but with a 2d-cenital perspective.<\/p>\n <p>&nbsp;<\/p>\n <p><strong>Day 1:<\/strong><\/p>\n <p>First day I decided to do the assets in the morning. My idea was do all the art and core mechanics in the first day, leaving levels &amp; tutorial creation and SFXs and music for the second day. So I did a list of all the assets I needed:<\/p>\n <p><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_3.jpg\"><img class=\"alignnone wp-image-495322 size-large\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_3-550x765.jpg\" alt=\"NuevoDocumento_3\" width=\"550\" height=\"765\" \/><\/a><\/p>\n <p>I don&#8217;t have much experience drawing sprites, so I decided to keep them small, and choose a 16&#215;16 grid that I&#8217;d zoomed later to obtain a 32&#215;32 base size. Although I was to use Paint.NET, I decided to do a quick research for more specific tools, and I found <a href=\"http:\/\/www.piskelapp.com\/\">Piskel<\/a>, a free -and awesome- online sprite editor that I used to do almost all the assets. I need also a color pallette, but <a href=\"http:\/\/pixeljoint.com\/forum\/forum_posts.asp?TID=16247\">I quickly found this thread of Pixel Joint forums<\/a> where an user provided a 32 tones pallete, that I ended using:<\/p>\n <p><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/db32_v1_pal64x32.png\"><img class=\"aligncenter size-full wp-image-495330\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/db32_v1_pal64x32.png\" alt=\"db32_v1_pal64x32\" width=\"64\" height=\"32\" \/><\/a><\/p>\n <p>To my surprise, I discovered that I actually <em>liked <\/em>my assets, so I decided to animate them, so I spent some hours in it.<\/p>\n <p>In the evening, I finally began to do some coding. I&#8217;ve already decided to switch the mechanic from two types of characters to two types of monsters, so I drafted the &#8216;monster detection algorithm&#8217; and began the work.<\/p>\n <p><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_2.jpg\"><img class=\"alignnone wp-image-495321 size-large\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_2-550x759.jpg\" alt=\"NuevoDocumento_2\" width=\"550\" height=\"759\" \/><\/a><\/p>\n <p><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_5.jpg\"><img class=\"alignnone wp-image-495324 size-large\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_5-550x756.jpg\" alt=\"NuevoDocumento_5\" width=\"550\" height=\"756\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_5-218x300.jpg 218w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/NuevoDocumento_5-550x756.jpg 550w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n <p>That night I thought that I had almost all the code, so I did a &#8216;test room&#8217; just to be sure that all was working properly. Here was where the bugs began :(. I apparently didn&#8217;t understand properly the collision system in Gamemaker, so there were a couple of corner cases where the characters ignored the monsters. I couldn&#8217;t finish the code that day, so I went to sleep and left the bugs for day 2.<\/p>\n <p>&nbsp;<\/p>\n <p><strong>Day 2:<\/strong><\/p>\n <p>So I spent all the morning solving those nasty bugs, and I was running out of time: I had like 12 hours to do all the SFXs, the scenes structure and all the levels -both the tutorial and the game ones-. I decided to skip the game music and I focused in the game structure. Fortunately, all went smoothly and a couple of hours later I was this problem solved.<\/p>\n <p>For the SFXs, I tried to record actual sounds and equalize them to sound more creepy. I could do it with some effects, but I ended using SFXR for the rest of them.<\/p>\n <p>I spent several hours doing the buttons, start screen, credits, etc. So I had only 6 hours to do all the levels. I though that it was more than enough -I didn&#8217;t knew how deeply wrong I was-. My initial idea was 5 tutorial levels + 10 game levels. I wanted to do them right so I planned to show 1 new rule in each tutorial, and a smooth learning curve in the real levels.<\/p>\n <p><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/level3_sol.png\"><img class=\"alignnone wp-image-495340 size-large\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/level3_sol-550x472.png\" alt=\"level3_sol\" width=\"550\" height=\"472\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/level3_sol-300x257.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/level3_sol-550x472.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/08\/level3_sol.png 1008w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n <p>The process was simple, but time consuming: I first named that level to provide some initial idea. For example in Level 03 &#8211; Semaphore, you have a 1 green + 1 red monsters. Second thing was to draft my &#8216;ideal&#8217; solution for this level (note the floor tiles in the image above), and after that, I looked for another alternative route to provide more than one solution for the player, and an &#8216;easy&#8217; route without additional points to ease the level to the player if they can&#8217;t find &#8216;my&#8217; solution. Finally, I added the &#8216;traps&#8217; (ghosts, bats, etc.) to the routes, and complete the map with the rest of the assets. Unfortunately, I ended spending almost one hour per level, so I had to cut my initial idea of then levels to only 5.<\/p>\n <p>When the submission hour was approaching, I ran the game and completed all the levels &amp; tutorials to ensure everithing was Ok, and submitted the game. Unfortunately I only have &#8216;standard&#8217; license to Gamemaker, so I only could generate the Windows executable -aparently you need a Mac to compile Mac version-. I&#8217;d really wished that I could have submitted an HTML5 version :(.<\/p>\n <p>&nbsp;<\/p>\n <p><strong>What went right:<\/strong><\/p>\n <ul>\n <li><strong>Gameplay idea<\/strong>: Fortunately it came very quickly and was solid enough.<\/li>\n <li><strong>Tools used<\/strong>: I consider to use L\u00f6ve2D, but I&#8217;m sure that I had not finished the game if I had used a different engine.<\/li>\n <li><strong>Mission acomplished!<\/strong>: For my first jam, my main objective was to deliver a game. I did <img src=\"http:\/\/ludumdare.com\/compo\/wp-includes\/images\/smilies\/simple-smile.png\" alt=\":)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/li>\n <\/ul>\n <p><strong>What went wrong:<\/strong><\/p>\n <ul>\n <li><strong>Time (lack of)<\/strong>: I had planned some little tweaks that I think that would improved the game playability, but I spent too much time with some bugs and I didn&#8217;t have the time. The lack of music is a pity too.<\/li>\n <li><strong>Fast button<\/strong>: In the comments, one common issue by several players is the lack of a button to accelerate the game. I agree 100% with them, and the button it&#8217;s actually there -F key to fast-forward-. I mentioned in the info screen, but I had to mention it in the tutorials too. Lesson learned <img src=\"http:\/\/ludumdare.com\/compo\/wp-includes\/images\/smilies\/simple-smile.png\" alt=\":)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/li>\n <li><strong>Learning curve and level design<\/strong>: Clearly, the difficulty progression that I&#8217;ve planned was not too good. And the &#8216;lack&#8217; of fast button definitely didn&#8217;t help. I need to design the levels more carefully, and a &#8216;pass the level&#8217; option when the player can&#8217;t complete it, maybe would had helped.<\/li>\n <\/ul>\n <p><strong>Conclussion:<\/strong><\/p>\n <p>This Jam has been an amazing experience for me. I honestly never think that I were capable to create a game like this in just 48 hours. And I think that the game can be improved with some tweaks, so I guess I&#8217;ll continue developing it in the next days. I&#8217;ve enjoyed so much Ludum Dare, both the event and the community, so expect me for the next! \ud83d\ude00<\/p>\n <p>&nbsp;<\/p>\n \n <p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/post-mortem\/\" rel=\"tag\">post-mortem<\/a><\/p>","time":"August 26th, 2015 7:57 am","title":"Post-Mortem: Monster House"}