{"author_name":"Deraj","cat":"LD #21","comments":[],"epoch":1314021960,"likes":0,"metadata":{"p_key":"63800","p_author":"Deraj","p_authorkey":"4936","p_urlkey":"99585","p_title":"The Grind: LD21 Post-Mortem","p_cat":"LD #21","p_event":"LD21","p_time":"1314021960","p_likes":"0","p_comments":"1","p_status":"UPD5","us_key":"4936","us_name":"Deraj","us_username":"deraj","event_start":"1313712000","event_key":"7","event_name":"LD21"},"text":"<p><a title=\"The Grind\" href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-21\/?action=rate&amp;uid=4936\">The Grind<\/a> was my first entry for Ludum Dare. This is an in-depth breakdown of the development went.<\/p>\n <p>My goal was simply to finish <em>something<\/em> and I&#8217;m happy to say I achieved that goal. I ended up having to cut the vast majority of gameplay features, graphics, and sound (entirely), but the contest was a good exercise in scoping down a project to fit into the time available.<\/p>\n <p><strong>Time breakdown<\/strong>:<\/p>\n <ul>\n <li>Planning: 1 hour<\/li>\n <li>Map design\/editor: 3 hours<\/li>\n <li>General coding: 6 hours<\/li>\n <li>Graphics: 3 hours (including scrapped art)<\/li>\n <li>Testing and bug fixing: 3 hours<\/li>\n <li>Real life + sleep: 32 hours<\/li>\n <\/ul>\n <p><strong>Lessons learned<\/strong>:<\/p>\n <p><strong>A narrow scope leaves time for polishing<\/strong>. I came into the contest with a vague notion of how time-constrained I&#8217;d be, but I didn&#8217;t truly appreciate the level of urgency until about 3\/4 of the way through the contest. At the beginning, I tried to scope my project down to make it achievable, but honestly I brainstormed ideas I had no chance of implementing in time. This led to wasted time working on features that were later cut (e.g. smart phone text, nicer looking wall graphics).<\/p>\n <p><strong>Don&#8217;t underestimate time spent on algorithms<\/strong>. I had a rough idea of how to implement simple collision detection\/resolution and line of sight detection, but I really underestimated how much time it would take to implement something acceptable. My first few attempts at collision resolution could lead to the player getting &#8220;stuck&#8221; and it was so frustrating that I had to keep iterating until I found something that &#8220;just worked.&#8221; On the plus side, I managed to come up with a simple line-of-sight algorithm late at night that works very well (set &#8220;debug = true&#8221; in the main script file to watch it in action).<\/p>\n <p><strong>Real life matters, but can be inconvenient<\/strong>. I hadn&#8217;t planned on spending roughly 11 of my waking hours doing &#8220;real life&#8221; things, but I think I had a better weekend and enjoyed the contest more because of it. After I submitted my entry, I was glad that I had done something else fun before it was time to go back to work on Monday.<\/p>\n <p><strong>Critique of The Grind<\/strong>:<\/p>\n <p>The Grind is a very shallow game, but it is entertaining to watch the player get hounded by many bosses at once. I enjoyed watching 3 different guys in suits all say &#8220;Have some work!&#8221; right as I turned a corner.<\/p>\n <p>Obviously, the game could use more polish. There are no menus to speak of and the smart phone isn&#8217;t really used very effectively (the original plan was to have various tasks show up on the phone&#8211;in the end, it&#8217;s just your score). The graphics ended up being a strange mix of 2D overhead (for the walls) and 3\/4 (for the characters); this was simply a function of running out of time to make the wall graphics look good from a 3\/4 angle. Lastly, the lack of sound and music is regrettable, but these were last on my list of priorities by necessity.<\/p>\n <p>In the end, though, I had a blast and can&#8217;t wait to play through the other entries. Thanks to the Ludum Dare community for arranging this event!<\/p>\n \n <p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/postmortem\/\" rel=\"tag\">postmortem<\/a><\/p>","time":"August 22nd, 2011 9:06 am","title":"The Grind: LD21 Post-Mortem"}