{"author_name":"dlowe","cat":"LD #27","comments":[],"epoch":1379266560,"likes":1,"metadata":{"p_key":"37902","p_author":"dlowe","p_authorkey":"25082","p_urlkey":"73518","p_title":"donut panic: postmortem","p_cat":"LD #27","p_event":"LD27","p_time":"1379266560","p_likes":"1","p_comments":"0","p_status":"UPD5","us_key":"25082","us_name":"dlowe","us_username":"dlowe","event_start":"1377216000","event_key":"18","event_name":"LD27"},"text":"<p>My first Ludum Dare!<\/p>\n <p>Before the jam started, I had decided that I was going to use it as an opportunity to experiment with online, multiplayer game programming. Setting out to use the jam as a learning experience was good for me, but not so good for the game: if I&#8217;d been less intent on the multiplayer\/online aspects, I probably could have refined the core game to be more fun to play. Can&#8217;t win &#8217;em all, I guess.<\/p>\n <p>The result: <a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-27\/?action=preview&amp;uid=25082\">donut panic<\/a>!<\/p>\n <p>&nbsp;<\/p>\n <p><img class=\"aligncenter size-full wp-image-296324\" alt=\"donutpanic\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2013\/09\/donutpanic.jpg\" width=\"450\" height=\"337\" \/><\/p>\n <p>&nbsp;<\/p>\n <p><strong>What went well:<\/strong><\/p>\n <ul>\n <li><strong>Completion<\/strong>: in spite of a busy life, ambitious goals, and total inexperience, I managed to ship the game. That was exciting!<\/li>\n <li><strong>Collaboration<\/strong>: I worked with my son Micah, who is 6. Without him insisting on making the game playable, I probably would have spent the entire time yak-shaving.<\/li>\n <li><strong>Multiplayer<\/strong>: Actually works! With in-game chat!<\/li>\n <li><strong>Coding<\/strong>: I haven&#8217;t written python or javascript in about a year. I had no problem at all getting back into a groove with them, or switching back &amp; forth (<em>checks his python for stray semicolons&#8230;<\/em>)<\/li>\n <li><strong>Shiny toys<\/strong>: I was completely new to canvas, websockets, and tornado. These were all nice tools to work with, and good to learn, and didn&#8217;t make me crazy with frustration.<\/li>\n <li><strong>Algorithms<\/strong>: In spite of 25 years coding, I&#8217;d never written a maze generator or implemented path-finding. Now I have, yay me!<\/li>\n <\/ul>\n <p><strong>What went better than expected:<\/strong><\/p>\n <ul>\n <li><strong>Graphics<\/strong>:\u00a0I managed to pull out non-horrible graphics! I used aseprite (and didn&#8217;t aim too high.) I wish I&#8217;d settled on larger sprites, though.<\/li>\n <li><strong>Sound<\/strong>: I used my microphone and some processing in Audacity, and managed to make sound that&#8217;s not embarrassingly bad.<\/li>\n <\/ul>\n <p><strong>What went poorly:<\/strong><\/p>\n <ul>\n <li><strong>Playability<\/strong>: The tricks for making a fast-paced multiplayer game work over a slow network are pretty well-known and documented (interpolation, client-side prediction, etc)&#8230; but I didn&#8217;t get to them. As a result, the game feels very sluggish when played over the open network, which is how almost everyone has tried it.<\/li>\n <li><strong>Fun<\/strong>: If I squint really hard, I see a sketch of a game that&#8217;s fun to play&#8230; it&#8217;s just not there yet. I have tremendous respect for the folks who managed to make games that are actually a lot of fun to play.<\/li>\n <li><strong>CSS<\/strong>: The splash screen uses HTML controls and CSS styling, and I spent an embarrassingly long time bending CSS to my will.<\/li>\n <li><strong>Real World Gathering<\/strong>: I organized a real world gathering at a <a href=\"https:\/\/roguehacklab.com\/\">local hackerspace<\/a>; unfortunately, everyone else bailed at the last minute, and Micah and I were the only ones there working on a game. Oh, well.<\/li>\n <li><strong>Theme<\/strong>: I was not (at all) inspired by the 10 second theme. It&#8217;s used in various mechanics in donut panic, but certainly not the theme of the game.<\/li>\n <\/ul>\n <p><strong>Conclusion:<\/strong><\/p>\n <p>I learned a ton, and I&#8217;m proud of donut panic both as a technical accomplishment and as a game. I&#8217;m super pleased that I managed to ship it on time. And I&#8217;ll be back for more!<\/p>\n \n <p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/postmortem\/\" rel=\"tag\">postmortem<\/a><\/p>","time":"September 15th, 2013 12:36 pm","title":"donut panic: postmortem"}