{"author_name":"AdamWe","cat":"LD #20 - It's Dangerous to go Alone! Take This!","comments":[],"epoch":1304373300,"likes":0,"metadata":{"p_key":"65788","p_author":"AdamWe","p_authorkey":"3002","p_urlkey":"101584","p_title":"The Adventures of Adam We \u2013 Post Mortem","p_cat":"LD #20 - It's Dangerous to go Alone! Take This!","p_event":"LD20","p_time":"1304373300","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"3002","us_name":"AdamWe","us_username":"adamwe","event_start":"1304035200","event_key":"6","event_name":"LD20"},"text":"<p>This was my first Ludum Dare competition and I managed to make a submission. I&#8217;m really looking forward to taking part again next time.<\/p>\n <p>I can&#8217;t say I&#8217;m proud of the fun factor\/end user experience in my game. In retrospect, I should have spent a bit more time on front facing features (making the world scrollable to enlarge the game world, more varied artwork, sounds). But in hindsight, I&#8217;m extremely happy that I was able to get an RPG prototype running in 48 hours.<\/p>\n <p>My submission for LD20 can be found <a title=\"here\" href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-20\/?action=preview&amp;uid=3002\">here<\/a>.<\/p>\n <p><strong>What Went Well<\/strong><\/p>\n <ul>\n <li>Python and Pygame was an amazing choice. It&#8217;s great for rapid prototyping and shines in LD. But be warned, vanilla pygame doesn&#8217;t have menu support.\n <p>My code should be multi-platform as well, which is an added bonus and gave me more time to think about the game ahead of me. I never would have made it this far this quickly using C\/C++.<\/li>\n <li>I took breaks and got away from the computer. While away I would think about the progress made in the game and try to think of features or solutions to problems I encountered. In a few cases I found some good solutions, but I also brainstormed ideas on other areas of the game.<\/li>\n <li>Test Driven Development: I&#8217;d write some code and fire up the game to try it out. I would often start with a class skeleton that would balloon as I added features to it. Often I would start from scratch or extend from an existing class, but on a few occasions I found good opportunities for refactoring. As a smaller project I could stay on top of a lot of the test cases and quickly go through them as I worked on a feature.<\/li>\n <li>Platform testing. When I compiled the game using Py2Exe I set aside some time to test on a freshly formatted WinXP virtual machine. This is where I discovered Py2Exe depends on Visual C++ 2008 runtimes and I was able to include this in the readme.\n <p>Testing also revealed issues with Py2Exe and buttons in WinXP, and the confirmation that my code worked with Python 2.6 and the official version of pygame (as pygame for 2.7 isn&#8217;t available on the main site yet). I didn&#8217;t spend much time looking into the issues once I found out the game runs fine when running from source due to lack of time.<\/li>\n <li>Artwork. Going into the competition, I remembered I was going to have to make my own artwork. I am no artist and my initial posts show the programmer art I came up with. I spent a few hours on Sunday learning how to draw character sprites and managed to create something that was quite presentable.<\/li>\n <li>Motivation\/Attitude. Participating in LD made me forget about pessimism when it came to brainstorming feature work. This made me very productive and kept me motivated throughout the competition. Hopefully I can keep this mentality in mind going forward.<\/li>\n <\/ul>\n <p><strong>What Could Be Improved<\/strong><\/p>\n <ul>\n <li>Gameplay. I had a great idea to tie in the theme with no time to implement the features to support it. As a result I more or less threw the game onto the existing features in the final hours and I think it&#8217;s fairly noticeable. Ideally I wanted the player to travel through the world with a mix of enemies, without being able to identity friend from foe when it came to people NPC&#8217;s (this would be the tie in to the theme). But without a larger map and non-human enemies this concept is missed.<\/li>\n <li>Linux: I have a linux VM but I didn&#8217;t get a chance to confirm my game worked on it, perhaps after this post.<\/li>\n <li>Game type: Turn based RPG might be a bit too ambitious for a solo competition, especially when you include graphics and sound. An action RPG may have been a better choice.<\/li>\n <li>Sound: Sound was also thrown together in the final hours and I&#8217;ve never really worked with it before. I also delay button clicks in the battle screen until sounds stop playing. This delay makes the game feel like it&#8217;s lagging if the player clicks through menus quickly.<\/li>\n <li>Combat formulas: Prototyping this at 2 or 3am for an hour in Excel is rushing it a little bit <img src=\"http:\/\/ludumdare.com\/compo\/wp-includes\/images\/smilies\/simple-smile.png\" alt=\":)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/li>\n <li>NPC speech: Again, something I should have looked at sooner rather than the end.<\/li>\n <\/ul>\n <p>Well, that&#8217;s that. Try out my game and let me know what you like\/don&#8217;t like. It can be difficult to get third-party feedback outside of competitions like Ludum Dare.<\/p>","time":"May 2nd, 2011 4:55 pm","title":"The Adventures of Adam We \u2013 Post Mortem"}