{"author_name":"Madball","cat":"LD #31","comments":[],"epoch":1418307600,"likes":2,"metadata":{"p_key":"22121","p_author":"Madball","p_authorkey":"8370","p_urlkey":"57486","p_title":"Kaleidoscope post-mortem","p_cat":"LD #31","p_event":"LD31","p_time":"1418307600","p_likes":"2","p_comments":"0","p_status":"UPD5","us_key":"8370","us_name":"Madball","us_username":"madball","event_start":"1417737600","event_key":"26","event_name":"LD31"},"text":"<p><a href=\"http:\/\/ludumdare.com\/compo\/ludum-dare-31\/?action=preview&amp;uid=8370\">Kaleidoscope the game<\/a><\/p>\n <p>I get a lot of positive comments on my game! I like this game more than my previous games. So, how did I manage to make a better game this time?<\/p>\n <p>KISS is for keep in simple and stupid. I read about this principle here a while ago, and this time I was totally going to use it.<\/p>\n <p><em>Good stuff:<\/em><\/p>\n <ul>\n <li><em>Planning.<\/em> I woke a minute before the LD started, it&#8217;s my first time seeing the final countdown. And I started programming about 6 hours later, because I had stuff to do. So, I could take some time to plan my game well.<\/li>\n <\/ul>\n <div id=\"attachment_425657\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/ludumdare.com\/compo\/2014\/12\/11\/kaleidoscope-post-mortem\/20141211_202745\/\" rel=\"attachment wp-att-425657\"><img class=\"wp-image-425657 size-medium\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/12\/20141211_202745-300x225.jpg\" alt=\"20141211_202745\" width=\"300\" height=\"225\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/12\/20141211_202745-300x225.jpg 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/12\/20141211_202745.jpg 512w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p class=\"wp-caption-text\">Level sketches<\/p><\/div>\n <ul>\n <li><em>Game idea.<\/em> This game is simple, but it&#8217;s still fun and original, so I didn&#8217;t need to implement big features or draw big artworks or anything.<\/li>\n <li><em>Time.<\/em> I can&#8217;t say that time-management was perfect, but since my game is simple, I spent less time on it than on previous games.<\/li>\n <li><em>Graphics.<\/em> I&#8217;m bad at drawing, but I managed to make good graphics with almost no drawing! Instead, I used a lot of graphic effects and details.<\/li>\n <\/ul>\n <p>&nbsp;<\/p>\n <p><em>So-so:<\/em><\/p>\n <ul>\n <li><em>Music.<\/em> Oh, I can tell you so much about making music for my game! At first I wanted to try out a new tool I found recently, Sonant Live. I composed some music and realized I&#8217;m bad at it. Then, I decided use a time-proved tool Abundant Music, which is a music generator. But it has 2 problems. 1: it can only convert into .mid, 2: I guess you have to be a pro at it to make it generate <em>exactly<\/em> what you want. After some time, I managed to convert the most fitting track into .wav, with this amazing device I invented during one of previous LDs:\n <div id=\"attachment_425664\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/ludumdare.com\/compo\/2014\/12\/11\/kaleidoscope-post-mortem\/20141211_204042\/\" rel=\"attachment wp-att-425664\"><img class=\"wp-image-425664 size-medium\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/12\/20141211_204042-300x225.jpg\" alt=\"20141211_204042\" width=\"300\" height=\"225\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/12\/20141211_204042-300x225.jpg 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/12\/20141211_204042.jpg 512w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p class=\"wp-caption-text\">Super Awesome Sound Wave Generator 20000<\/p><\/div>\n <p>&#8230;yes, I just put the microphone between my headphones and ran sound recording. After some tweaking using Audacity, I managed to get good sound quality. So, the first problem is solved. But I couldn&#8217;t solve the second one! Abundant Music didn&#8217;t generate a track I&#8217;d like. So, I went back to Sonant Live and made music with it. It turned out to be pretty good, maybe that&#8217;s because I had no other choice.<\/li>\n <li><em>Code.<\/em> OMG my code. When I wanted to add recoloring floor, I just modified &#8220;move walls&#8221; function to check if the input entity is a tile. When I wanted to add moving enemies, I just modified &#8220;move walls&#8221; function to check if the input entity is an enemy. One function does 3 things! And loading level is done by 3 functions, so if I want to find something, I need to look through all of them. Also, I had several nasty bugs those took me a couple of hours to fix.<\/li>\n <\/ul>\n <p>&nbsp;<\/p>\n <p><em>But I learned something:<\/em><\/p>\n <ul>\n <li>You can make a game that&#8217;s both simple and innovative.<\/li>\n <li>I&#8217;m not a noob at making music, and Abundant Music isn&#8217;t a panacea.<\/li>\n <li>Graphics isn&#8217;t only about drawing.<\/li>\n <\/ul>","time":"December 11th, 2014 9:20 am","title":"Kaleidoscope post-mortem"}