{"author_name":"localcoder","cat":"LD #15 - Caverns - 2009","comments":[],"epoch":1252049700,"likes":0,"metadata":{"p_key":"72466","p_author":"localcoder","p_authorkey":"1113","p_urlkey":"108288","p_title":"Cave Flyer afterthoughts","p_cat":"LD #15 - Caverns - 2009","p_event":"LD15","p_time":"1252049700","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"1113","us_name":"localcoder","us_username":"localcoder","event_start":"1251417600","event_key":"1","event_name":"LD15"},"text":"<p>I started with the idea of doing a &#8216;cave flyer, plus something cool&#8217;. I figured i would make the cave flyer first and the something cool later.<\/p>\n <p>Play the competition version <a title=\"Cave Flyer (blue) v1.0\" href=\"http:\/\/www.looseleafgames.com\/ludumdare\/ld15\/\">here<\/a> and the much easier updated version <a title=\"Cave Flyer (blue) v1.2\" href=\"http:\/\/www.looseleafgames.com\/ludumdare\/ld15\/v1.2\/\">here<\/a>.<\/p>\n <p><strong>Using ActionScript<\/strong><\/p>\n <p>I have only been learning ActionScript for a little while but I&#8217;m very happy with it. I quickly got the basics of a cave flyer going, and whenever I got stuck I found plenty of tutorials and discussions online.<\/p>\n <p>I used free tools only (FlashDevelop and Flex 3 SDK) and found them perfectly sufficient.<\/p>\n <p><strong>&#8216;Next Actions&#8217;<\/strong><\/p>\n <p>I think that the best way to write game fast  is to act as though your next half-hour might be your last. If you could only add one more feature, what would you add? And how would you get it working as quickly as possible?<\/p>\n <p>When I follow this rule, I get good results. When I don&#8217;t follow this rule, I get bad results. So I think it&#8217;s a good rule.<\/p>\n <p><strong>Distractions<\/strong><\/p>\n <p>I did not follow the rule. I wasted my first evening working on a feature that I didn&#8217;t need and didn&#8217;t finish.<\/p>\n <p>I wanted to make an AI-controlled ship that flew around like the player&#8217;s ship, resisting gravity and avoiding obstacles. It would have been super-cool. I coding up a kind of crude AI navigation map, and made a big if-statement AI controller for the spaceship.<\/p>\n <p style=\"text-align: center\"><img class=\"size-large wp-image-10474 aligncenter\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2009\/09\/ai-coarse-navigation-grid-550x414.png\" alt=\"ai coarse navigation grid\" width=\"385\" height=\"290\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2009\/09\/ai-coarse-navigation-grid-550x414.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2009\/09\/ai-coarse-navigation-grid.png 810w\" sizes=\"(max-width: 385px) 100vw, 385px\" \/><\/p>\n <p>I realised quickly that it wasn&#8217;t going to work. My if-statement AI couldn&#8217;t handle the compexities of gravity, obstacles and thrust. But I was having fun and I didn&#8217;t want to stop, so I spent hours tweaking it. I only stopped when I had to go to bed.<\/p>\n <p>The final game didn&#8217;t use the AI player. I should have spent all that time making life better for my <em>human <\/em>players.<\/p>\n <p><strong>Difficulty<\/strong><\/p>\n <p>The game is much too hard. I knew that it was too hard, and I made it easier, but not enough. I think the best thing I could have done is popped a link to the game in the irc channel &#8211; someone would have immediately told me that the difficulty was a problem.<\/p>\n <p><strong>Level Editor<\/strong><\/p>\n <p>I made a very simple level editor. It allowed me to lay out the terrain on each level with mouse clicks instead of hand-coding coordinates. This was my best idea all weekend &#8211; it did not take long to make and it let me create level screens in seconds.<\/p>\n <p><strong>Cutting Features<\/strong><\/p>\n <p>I wanted to combine my cave flyer with another simple game genre to make it unique. I had plans of making a trading game where you bought and sold goods at different cities (seperated by dangerous tunnels), or perhaps a Legend of Zelda-like game with a large world to explore and items to find.<\/p>\n <p>None of that made it into the release. Partly because I couldn&#8217;t decide exactly what I wanted to do, so I delayed the decision.<\/p>\n <p><strong>Last Minute Save<\/strong><\/p>\n <p>I was running out of time. I had a flying game with multiple screens to explore, but I still had no goal or motivation for the player. I finally started following the &#8216;next action&#8217; rule and attacking the most important problems first.<\/p>\n <ol>\n <li>There was nothing to fight &#8211; so I added a simple enemy that hovered and fired at the player.<\/li>\n <li>There was no goal &#8211; so I made enemies drop &#8216;metal&#8217;, and added a metal counter to the screen.<\/li>\n <li>Combat was unsatisfying, so I added some explosion-effects.<\/li>\n <li>The player couldn&#8217;t respawn, so I implemented respawning.<\/li>\n <li>You collected metal but had nothing to do with it.<\/li>\n <\/ol>\n <p>Number 5 hung around for a long time. Finally, I hacked up a simple upgrade system. I wanted to add icons for the upgrades, but cut it for time. I wanted to add some clever upgrades, but cut it down to what I could do with the code I already had &#8211; most of the upgrades simply change variables that were already in the game, like the player ship&#8217;s &#8220;mass&#8221; (resistance to impact force) or its refire rate.<\/p>\n <p>The upgrade system was crude, but it gave the rest of the game a purpose &#8211; now the player had a reason to fight enemies and collect their metal.<\/p>\n <p><strong>Colours<\/strong><\/p>\n <p>I stole an idea from Meritous, where the world gets redder when more enemies are around. I like it.<\/p>\n <p><strong>Conclusion<\/strong><\/p>\n <p>Next time I&#8217;ll try not to get distracted on &#8216;advanced&#8217; features when there are more immediate features that the game needs.<\/p>\n <p>I will make sure to do a user test on my game, to catch obvious problems like &#8220;It&#8217;s far, far too hard&#8221;.<\/p>\n <p>And if I&#8217;m making a &#8220;Classic Genre + Something Cool&#8221;, I&#8217;ll try not to wait too long before I add the &#8220;Something Cool&#8221;.<\/p>\n <p>Ok, I better get back to rating entries now&#8230;<\/p>","time":"September 4th, 2009 2:35 am","title":"Cave Flyer afterthoughts"}