{"author_name":"awsumpwner27","cat":"LD #30","comments":[],"epoch":1409190300,"likes":3,"metadata":{"p_key":"26431","p_author":"awsumpwner27","p_authorkey":"32666","p_urlkey":"61861","p_title":"Coplanarity \u2013 Post Mortem","p_cat":"LD #30","p_event":"LD30","p_time":"1409190300","p_likes":"3","p_comments":"0","p_status":"UPD5","us_key":"32666","us_name":"awsumpwner27","us_username":"awsumpwner27","event_start":"1408665600","event_key":"24","event_name":"LD30"},"text":"<p>Well, that was fun.<\/p>\n <p><a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-30\/?action=preview&amp;uid=32666\"><img class=\"alignnone\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/compo2\/375043\/32666-shot0.png\" alt=\"\" width=\"512\" height=\"384\" \/><\/a><\/p>\n <p><span id=\"more-388810\"><\/span><\/p>\n <p>I&#8217;ve never made a game like this before, or, I&#8217;d never really finished one, so getting the chance to do it was great. I felt very motivated this time around. However, I must admit that the game&#8217;s not in the ideally finished state for me. Where the game only has 3 levels, I was hoping for 5, and I never got to include anything like keys and locks, or even a possible time limit on the levels. (Which would have made the stun from falling relevant.) So, because\u00a0of this, I have to do some introspection.<\/p>\n <p><strong>What went wrong?<\/strong><\/p>\n <p>Time: 3 hours is not as long as you think. When I found myself thinking I had 9 hours left and I&#8217;d be fine, I got a little nagging feeling that it would pass by very quickly without me getting anything done. My intuition was correct, and I was only able to <em>just<\/em> finish.\u00a0<strong>Act like all time is crunch time, and\u00a0don&#8217;t spend so much time in the IRC .<\/strong><\/p>\n <p>Level design: Oh goodness. I decided to design the levels using the Tiled software, and I was very satisfied, but when I exported a file, I realized that I wasn&#8217;t sure about parsing the files. So, what I did was export to JSON, and just cut out anything I didn&#8217;t need, leaving the comma-separated-values that were easy to parse. Later, I wanted to add objects aside from the player that move independent of the tile grid, so I had to make up a format for that, and append it to the level file. So, every time I was making a change to a level, I had to export it, open up the file, strip the junk, and add the object data. This isn&#8217;t efficient, and level design depends on rapid iteration. <strong>Next time find a library or something that can parse it.<\/strong><\/p>\n <p>Poor code design: Global state everywhere, duplicated code, and like one comment that says &#8220;\/\/Player Status. OOPify later&#8221; followed by a list of \u00a0previously mentioned holders of global state. The result of all this? Extremely unreadably, buggy code.<strong> Consider actually OOPifying from the start.<\/strong><\/p>\n <p><strong>What went right?<\/strong><\/p>\n <p>Time: As much as I felt like I wasted some of my time, when it was approaching the deadline, I was on fire. I figured I had a problem and like magic the solution was already being added to the code. I don&#8217;t think I&#8217;ve ever felt the feeling of just making so much progress like that. I felt like I finally knew what to cut out and what to keep in.<\/p>\n <p>Motivation: Whenever I felt like a problem actually was getting to me, I decided to get up, and go for a walk. I&#8217;m not sure if this ended up saving time, but I felt like pulling my hair out less.<\/p>\n <p>Not reinventing the wheel: I knew I&#8217;d have trouble reimplementing a tilemap class, so I took the one I put up on GitHub some months before. That was a huge timesaver.<\/p>\n <p>Previous artistic experience: When I was younger, I never could make games, but I always was fascinated with the look of games. As a result, I spent a lot of time in Paint.NET, just making textures that&#8217;d never be used. That was really handy.<\/p>\n <p>Knowing your tools: I&#8217;ve been using SFML for a while now, and I understand the ins and outs, and leading up to the competition, I made sure I knew how to use Tiled. (Just not its formats. :P)<\/p>\n <p>Poor code design: In the end, I realize that there&#8217;s actually no time for sensible design in the game&#8217;s code. Though the code I produced isn&#8217;t that maintainable as a whole, it still works, and that&#8217;s what matters. This jam has taught me what it means to make a game and not something like an engine.<\/p>\n <p><strong>Conclusion<\/strong><\/p>\n <p>I had a lot of fun for my first Ludum Dare. Though it was stressful, it was also very exciting, and knowing now my weaknesses and strengths, I feel like I&#8217;m more prepared for next time. It was a good time.<\/p>","time":"August 27th, 2014 8:45 pm","title":"Coplanarity \u2013 Post Mortem"}