{"assets":[{"original":"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/09\/out.gif","local":"\/data\/posts\/2014\/09\/664ee591b53abdf0c85239719bbc67df.gif"},{"original":"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/09\/level.png","local":"\/data\/posts\/2014\/09\/4485dbcc8d9c8d9507c4864c65bdf5ce.png"}],"author_link":"author\/depp\/","author_name":"Dietrich Epp","cat":"LD #30","categories":["LD #30"],"comments":[],"epoch":1410217140,"event":"LD30","likes":4,"metadata":{"p_key":"81969","p_author":"Dietrich Epp","p_authorkey":"0","p_urlkey":"292701","p_title":"I dream of post-mortems","p_cat":"LD #30","p_event":"LD30","p_time":"1410217140","p_likes":"4","p_comments":"0","p_status":"WAYBACK","us_key":null,"us_name":null,"us_username":null,"event_start":"1408665600","event_key":"24","event_name":"LD30"},"source_url":"2014\/09\/08\/i-dream-of-post-mortems\/","text":"<p>Ludum Dare #30 was my fifth successful Ludum Dare, which brings me to a 50% success rate.  Yay!  Time for a post-mortem.<\/p>\n<p>By the way, you can also <a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-30\/?action=preview&amp;uid=7606\">play my game<\/a>.<\/p>\n<h2>What went right<\/h2>\n<p><b>The engine.<\/b>  I wrote the engine in C++ this time, and took notes from an article called <a href=\"http:\/\/games.greggman.com\/game\/programming_m_c__kids\/\">\u201cProgramming M. C. Kids\u201d Iz-Tavares and Chang<\/a>. The platformer physics turned out rather well, and the game feels responsive but not crazy.  There was even enough time for some tricky shader effects, and I\u2019m going to show those off in a GIF:<\/p>\n<div class=\"wp-caption aligncenter\" id=\"attachment_391956\" style=\"width: 560px\"><a href=\"http:\/\/www.ludumdare.com\/compo\/2014\/09\/08\/i-dream-of-post-mortems\/out-15\/\" rel=\"attachment wp-att-391956\"><img alt=\"Dreamless Gameplay\" class=\"size-full wp-image-391956\" height=\"309\" src=\"\/data\/posts\/2014\/09\/664ee591b53abdf0c85239719bbc67df.gif\" width=\"550\"\/><\/a><p class=\"wp-caption-text\">Dreamless Gameplay<\/p><\/div>\n<p><b>Core gameplay.<\/b>  Once the gameplay concept got to its final, simplified form, I could focus on implementing it and writing levels. The level format was just ASCII text, so I could crank them out pretty quickly, and I ended up with 9 levels.<\/p>\n<p><b>Sound effects.<\/b>  Just a couple hours with a microphone (and some music software) were all it took.  There are 13 sounds with an  average of 5 variations each, and the engine picks a variation at random each time a sound is played.  The effect is rather nice, especially for the footsteps.<\/p>\n<p><b>Dialogue<\/b>  This was the last piece of code implemented, but it gives crucial context to the game.  The writing isn\u2019t great, but I\u2019m really glad it\u2019s there.<\/p>\n<p><b>Analytics.<\/b>  I keep a record of every time a level is beaten or restarted, along with a couple other things.  Here\u2019s a chart of the statistics for each of the 9 levels.  You can see that about 60% of the players who start the game finish it, and players who get to level 8 restart it 2.5 times, on average.<\/p>\n<div class=\"wp-caption aligncenter\" id=\"attachment_391959\" style=\"width: 560px\"><a href=\"http:\/\/www.ludumdare.com\/compo\/2014\/09\/08\/i-dream-of-post-mortems\/level-16\/\" rel=\"attachment wp-att-391959\"><img alt=\"Chart of level data\" class=\"size-full wp-image-391959\" height=\"430\" src=\"\/data\/posts\/2014\/09\/4485dbcc8d9c8d9507c4864c65bdf5ce.png\" width=\"550\"\/><\/a><p class=\"wp-caption-text\">Analytics for \u201cDreamless\u201d by level<\/p><\/div>\n<h2>What went wrong<\/h2>\n<p><b>No tutorial.<\/b>  The game doesn\u2019t exactly throw you into the deep end, but it does very little to tell you what you\u2019re expected to do.  This was painfully obvious once I watched someone else play the game.  For everyone who played my game: thank you for taking the time to figure things out!<\/p>\n<p>The worst part is the double jump.  I was careful to make it so you could beat the game without the double jump, but there are some places where you have to restart if you don\u2019t know about the double jump.<\/p>\n<p><b>Slow start to the project.<\/b>  Looking at the commit logs, the game didn\u2019t even respond to input until 16 hours into the contest, and jumping didn\u2019t work until 21 hours had passed.  I spent the time refactoring, messing with base code, and other things that don\u2019t make games.<\/p>\n<p><b>Not enough time on graphics and music.<\/b>  With only an hour and ten minutes left to go, I cranked out a music track and a bunch of sprites.  I spent less than 10 minutes on music, and that\u2019s including the time it took to start up the sequencer.  I picked out two chords (Cm9 and Gm9), hit record, and rendered the result to disk without editing it at all.  I even used the default patch you get when you start a new song!<\/p>\n<h2>Special Thanks<\/h2>\n<p>Special thanks to Obsolete Entertainment, who put footage of gameplay for Dreamless on YouTube.  In general, thanks to everyone who posts videos of the games they play!<\/p>\n<p><iframe allowfullscreen=\"\" frameborder=\"0\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/V1R85WPi3gk?feature=oembed\" width=\"500\"><\/iframe><\/p>\n<p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/postmortem\/\" rel=\"tag\">postmortem<\/a><\/p>","time":"September 8th, 2014 10:59 pm","title":"I dream of post-mortems","title_was_empty":false}