{"assets":[{"original":"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2012\/09\/blender21-550x306.jpg","local":"\/data\/posts\/2012\/09\/726233410ad0bbd4fdaa993f34e4c2c3.jpg"}],"author_link":"author\/wombatica\/","author_name":"wombatica","cat":"LD #24","categories":["LD #24"],"comments":[],"epoch":1346593680,"event":"LD24","likes":4,"metadata":{"p_key":"77982","p_author":"wombatica","p_authorkey":"0","p_urlkey":"286992","p_title":"Cage Flight: Post Mortem #2 (the graphics guy)","p_cat":"LD #24","p_event":"LD24","p_time":"1346593680","p_likes":"4","p_comments":"0","p_status":"WAYBACK","us_key":null,"us_name":null,"us_username":null,"event_start":"1345766400","event_key":"12","event_name":"LD24"},"source_url":"2012\/09\/02\/cage-flight-post-mortem-2-the-graphics-guy\/","text":"<p><a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/09\/02\/cage-flight-post-mortem-2-the-graphics-guy\/brainstorm-6\/\" rel=\"attachment wp-att-180669\"><img alt=\"\" class=\"aligncenter size-full wp-image-180669\" height=\"609\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2012\/09\/brainstorm.jpg\" width=\"900\"\/><\/a><\/p>\n<p style=\"text-align: center\"><em>At the ungodly hour of 7am on Saturday 25th August we found out the theme, and had a bit of a brainstorm whereby we arrived at fighting, in space, in a cage. Obvious really.\u00a0<\/em><\/p>\n<p>To play Cage Flight:\u00a0<a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-24\/?action=preview&amp;uid=10313\">http:\/\/www.ludumdare.com\/compo\/ludum-dare-24\/?action=preview&amp;uid=10313<\/a><\/p>\n<p>For a more technical post-mortem see\u00a0<a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/08\/30\/cage-flight-autopsy\/\">http:\/\/www.ludumdare.com\/compo\/2012\/08\/30\/cage-flight-autopsy\/<\/a><\/p>\n<p>\u00a0<\/p>\n<p>We started a bit behind due to time zones, and we had a bit shorter anyway as although the deadline for jam entries is not until Monday evening, Monday is a work day for both of the team. But that\u2019s no excuse, we still had plenty of time to build a game. Our team this time were:<\/p>\n<p>Concept: Joint between Will (<a href=\"http:\/\/www.ludumdare.com\/compo\/author\/william_edwards\/\">http:\/\/www.ludumdare.com\/compo\/author\/william_edwards\/<\/a>) and me, with him having final vote<\/p>\n<p>Coding: Will<\/p>\n<p>Art &amp; Audio: Me<\/p>\n<p>Special thanks: A guy called Philip (Dev in 0AD) for timely advice, Glest community for play-testing and gameplay videos<\/p>\n<p>\u00a0<\/p>\n<p><strong>Start<\/strong><\/p>\n<p>Not a bad start. For a moment our hearts sunk as going in we\u2019d assessed Evolution as one of the more challenging themes as it implies characters having to evolve. But despite the initial glumness we suddenly made the\u00a0association\u00a0to Natural Selection and Survival of the Fittest and saw that that can be\u00a0misinterpreted\u00a0to me conflict, combat and generally fun\/cool things. We put aside our ideas of\u00a0simulated\u00a0deer populations and focused on the essence of conflict, one against all combat to the death. Um, in a cage, in space. In parody of MMA\/UFC, we called it <strong>Cage Flight.\u00a0<\/strong>It\u2019s a multi-player in-browser flight-combat game, quite arcade and really basic in the sense it\u2019s just you against everybody.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Graphics<\/strong><\/p>\n<p>This wasn\u2019t really a challenging graphics assignment for me. Unlike the LD23 entry which was two days of solid drawing (<a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&amp;uid=10313\">http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&amp;uid=10313<\/a>). Overall we are quite\u00a0pleased\u00a0with the graphics; they give it the feel we wanted and look decent enough. Of course we\u2019d do more and better if we had more time.<\/p>\n<p>\u00a0<\/p>\n<p><strong>2D graphics<\/strong><\/p>\n<p>I did the game intro flash within the first couple of hours. I had a brainwave to pay homage to the Streetfighter logo:<\/p>\n<p><a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/09\/02\/cage-flight-post-mortem-2-the-graphics-guy\/logo_side-by-side\/\" rel=\"attachment wp-att-180674\"><img alt=\"\" class=\"aligncenter size-large wp-image-180674\" height=\"226\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2012\/09\/logo_side-by-side-550x226.gif\" width=\"550\"\/><\/a><\/p>\n<p>It\u2019s not a straight copy of course, but by-eye that\u2019s the feel I wanted to give it. A bit comic\/pop-art, a bit retro and not taking itself too seriously. To balance the Streetfighter bias at the\u00a0beginning, I made the death splash a Mortal Kombat reference. We also had a splash for winning but it isn\u2019t used as the player just plays until they are either killed or close the browser window.<\/p>\n<p>At the end we also had the idea of combining the intro flash with the help menu, so we added a graphic to show the keyboard controls. Except that we kept changing the controls as we play tested so I kept having to re-do it.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Models<\/strong><\/p>\n<p>We opted for G3D models created in Blender. This is the format Glest RTS uses so we are familiar with it. It\u2019s not the best format in some respects but completely adequate. A few tricks I employed to speed up the mass-production of models:<\/p>\n<p>a) All models use the same base texture. It\u2019s a 256\u00d7256 PNG with no transparency or team color etc. I don\u2019t do the typical way of skinning models, I can\u2019t explain it but an ex[erienced blender artist would think it\u2019s quite basic what I do, but it\u2019s quick.<\/p>\n<p>b) Each model is an evolution of one of the previous ones. Not starting from scratch. I manipulate base meshes like cubes and\u00a0cylinders, and never use sculpting. Everything is by eye.<\/p>\n<p>c) Little re-work; generally I make it up as I go along and live with the results.<\/p>\n<p>\u00a0<\/p>\n<p>We intended to have 8 ships \u2013 I wanted to have a pre-game lobby where you pick your ship and maybe even your camouflage scheme. Each ship would have different stats, so you would chose firepower against armor etc. \u00a0Will didn\u2019t think it added anything so we just made the player have a random ship. All the ships perform equally. Also, firepower and armor became irrelevant \u2013 due to time we went for 1 hit 1 kill which played better anyway.<\/p>\n<p>Early iteration of \u2018Rhino\u2019 space fighter, and in-game version. Every time I tweaked the texture it was applied to all ships.<\/p>\n<p><a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/09\/02\/cage-flight-post-mortem-2-the-graphics-guy\/blender2-2\/\" rel=\"attachment wp-att-180694\"><img alt=\"\" class=\"aligncenter size-large wp-image-180694\" height=\"306\" src=\"\/data\/posts\/2012\/09\/726233410ad0bbd4fdaa993f34e4c2c3.jpg\" width=\"550\"\/><\/a><\/p>\n<p style=\"text-align: center\"><em>The design of this ship is influenced by helicopter gunships and mechs<\/em><\/p>\n<p>\u00a0<\/p>\n<p><strong>Audio<\/strong><\/p>\n<p>Not my thing but I\u2019d found<em> Audacity<\/em> and <em>Bfxr<\/em>. Great for sound effects. I made masses of sound effects for power-ups, explosions and collecting coins. The only one we ended up needing was the lasing zap (yep, we know lasers don\u2019t make sounds).<\/p>\n<p>We had planned to record human voice for intro and narrative. We tried but my microphone wasn\u2019t up to it and I couldn\u2019t figure out how to remove background static. So frantically I searched for text to speech programs and found an online version of <em>Mary<\/em> text to speech engine. Great, very pleased with the results!<\/p>\n<p>\u00a0<\/p>\n<p><strong>Things we dropped<\/strong><\/p>\n<ul>\n<li>Client-side slerping<\/li>\n<li>Coins, credits and scoring. Health points, power-ups<\/li>\n<li>Ships having distinct flight\/combat charactristics<\/li>\n<li>Explosion effects<\/li>\n<li>Winning criteria and flash, high-scores board<\/li>\n<li>Cockpit-view<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><strong>Good and bad<\/strong><\/p>\n<p>Well the graphics were a success, and well within the time limits. We didn\u2019t have time to add explosions, particles or better laser effects (currently draws a line programmatically).<\/p>\n<p>During the build our main pains was around\u00a0Quaternions. See Will\u2019s autopsy for details of that. Due to that we ditched some features but actually simple is better anyway.<\/p>\n<p>In the final play <strong>our main problem is simply server FPS<\/strong>. Our server was running at 8 FPS and now 12 FPS. From feedback people are expecting more.<\/p>\n<p>Another problem is that it\u2019s multi-player. That was what we set out to build, but it means that if you join the game and no one else is in, there\u2019s not much for you to do. A third problem may be the flight controls. They are configured for things like speed and turn rates to be cumulative, and I think some people may mistake\u00a0this as lag or general unresponsiveness.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Evolved version<\/strong><\/p>\n<p>Are we going to continue building the game with credits, health points, player personalisation, high-score keeping, client side drawing\u2026 no. We are deep in playing and rating other people\u2019s LD submissions and already we are\u00a0inspired\u00a0to build completely different games.<\/p>\n<p style=\"text-align: center\"><strong>BRING ON LUDUM DARE 25!!!!\u00a0<\/strong><\/p>","time":"September 2nd, 2012 1:48 pm","title":"Cage Flight: Post Mortem #2 (the graphics guy)","title_was_empty":false}