{"id":1321,"date":"2011-02-01T19:01:41","date_gmt":"2011-02-01T19:01:41","guid":{"rendered":"http:\/\/nrdland.com\/?p=1321"},"modified":"2011-02-01T19:06:17","modified_gmt":"2011-02-01T19:06:17","slug":"post-mortem-ray-ardent-science-ninja","status":"publish","type":"post","link":"http:\/\/nrdland.com\/?p=1321","title":{"rendered":"Post Mortem &#8211; Ray Ardent: Science Ninja"},"content":{"rendered":"<p><a href=\"http:\/\/armorgames.com\/play\/7306\/ray-ardent-science-ninja\">Ray Ardent: Science Ninja<\/a> is a high speed platformer made in Flash and released through the Flash portal scene.  As a developer, it represents a lot of firsts: It&#8217;s the first game I have made as an artist and\/or programmer and it&#8217;s also the first Flash game I have ever made.  <\/p>\n<p>Ray Ardent: Science Ninja Trailer<br \/>\n<iframe loading=\"lazy\" title=\"YouTube video player\" class=\"youtube-player\" type=\"text\/html\" width=\"450\" height=\"345\" src=\"http:\/\/www.youtube.com\/embed\/MlLGlNbfgE0\" frameborder=\"0\" allowFullScreen><\/iframe><\/p>\n<p><strong>What Went Right<\/strong>:<\/p>\n<p><strong>1. Audio<\/strong><\/p>\n<p>The man responsible for the great music and sound fx is<a href=\"http:\/\/www.johntennant.com\/\"> John Tennant<\/a>.  John and I worked together on Company of Heroes: Opposing Fronts, where he was the audio lead. John is a great friend and he was the first person I talked to about the game.  <\/p>\n<p><iframe loading=\"lazy\" title=\"YouTube video player\" class=\"youtube-player\" type=\"text\/html\" width=\"425\" height=\"349\" src=\"http:\/\/www.youtube.com\/embed\/bT0rzDGJ6vc\" frameborder=\"0\" allowFullScreen><\/iframe><br \/>\n<!--more--><\/p>\n<p>The inspiration for the sound design was a combination of old school sci-fi flicks, Johnny Quest and 80\u2019s video games.  John did a great job of putting together a theme song and sound effects that captured the jazzy, retro-pulp feel that I was looking for.  Most of the sound effects turned out great on the first pass, but the jump\/double jump sound effect proved elusive, but after a couple of iterations, it was nailed.<\/p>\n<p>The voice of Ray Ardent almost didn\u2019t happen and it was one of the last things I put in the game, which is ironic, because the idea for Ray was born from the voice.<\/p>\n<figure id=\"attachment_1327\" aria-describedby=\"caption-attachment-1327\" style=\"width: 300px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/photo.jpeg\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/photo-300x300.jpg\" alt=\"\" title=\"photo\" width=\"300\" height=\"300\" class=\"size-medium wp-image-1327\" srcset=\"http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/photo-300x300.jpg 300w, http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/photo-150x150.jpg 150w, http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/photo.jpeg 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1327\" class=\"wp-caption-text\">Sciencetastic!!<\/figcaption><\/figure>\n<p>One morning, in the early days of development, I was driving with my daughter and I was thinking about the inspiration and mood for the game.  I was thinking about the old-school pulp science adventurers like Doc Savage or Flash Gordon.   For some odd reason, I started talking to my daughter in Ray Ardent\u2019s voice (she was three years old at the time, so me talking in funny voices isn\u2019t unusual) and at one point I told her \u201cWe\u2019re going to have a Science-tastic day!\u201d.  As soon as I said \u201cScience-tastic\u201d I knew I who the main character in my game was.<\/p>\n<p>The actual recording didn\u2019t happen until the game was almost done.  I was pretty happy with how the game was turning out, but the characters weren\u2019t coming through.  I needed something more, so I decided to just go for it and record myself.  If it sounded like ass, I could always cut it.  In the course of an afternoon, I recorded over 100 different sound bites and dropped them into the game.  As soon as I stomped a dinosaur and Ray screamed out \u201cScience!\u201d, I knew I had made the right call.<\/p>\n<p><strong>2. The Character of Ray Ardent<\/strong><\/p>\n<figure id=\"attachment_1323\" aria-describedby=\"caption-attachment-1323\" style=\"width: 300px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/DocSavage_Wallpaper.jpeg\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/DocSavage_Wallpaper-300x240.jpg\" alt=\"\" title=\"DocSavage_Wallpaper\" width=\"300\" height=\"240\" class=\"size-medium wp-image-1323\" srcset=\"http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/DocSavage_Wallpaper-300x240.jpg 300w, http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/DocSavage_Wallpaper-1024x819.jpg 1024w, http:\/\/nrdland.com\/wp-content\/uploads\/2011\/02\/DocSavage_Wallpaper.jpeg 1279w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1323\" class=\"wp-caption-text\">Doc Savage - a major inspiration for Ray Ardent<\/figcaption><\/figure>\n<p>With this game, I wanted to base a character\u2019s personality on his gameplay design and in-game actions.  Before I started any work on character design or story settings, I had to find the core gameplay.  I knew I wanted the game to have an epic scale &#8211; with a small character and a large world, but the run, jump, dive and slide gameplay could only come through iteration (more on that in #5 Diving and Sliding) <\/p>\n<p>After I found the core gameplay, I started work on Ray\u2019s character and design.<\/p>\n<p>The game is at its best when you are running fast and I wanted everything about Ray\u2019s design to suggest running.  <\/p>\n<p>Ray\u2019s gigantic parachute pants draw attention to the legs.  The goggles pull inspiration from WWII pilots (and scientists) and the sweep to Ray\u2019s hair is inspired by the tail fins on old sci-fi retro space ships (and Cadillacs).<\/p>\n<p>Ray himself is one of those enigmatic, gregarious adventurers of old. Too many modern heroes are these dark Wolverine\/Batman characters and I wanted Ray to be a hero who simply wants to save the day.  His world is black and white &#8211; good and bad &#8211; and he\u2019s the good guy.  Of course, this sets up some great moments of humor as well. <\/p>\n<p><strong>3. One Man Scrum<\/strong><\/p>\n<p>I have a long history in project management and I\u2019m a strong believer in agile development and Scrum.  Of course 80% of the Scrum methodology is focused on helping teams work together.  As a team of one, I stripped it down to the basics:<br \/>\n&#8211; An estimated backlog of features<br \/>\n&#8211; Planning work as completed features that are integrated in the game<br \/>\n&#8211; One week sprints<br \/>\n&#8211; Burndown chart updated on a daily basis<\/p>\n<p>This kept me focused on completing the features and moving the game forward. <\/p>\n<p>I continue to maintain my own backlog and you can check it out at your leisure <a href=\"https:\/\/spreadsheets.google.com\/ccc?key=0Aj3LcVbUNosncG5ZTGl4X1VSUTJsWVhoM19RdnlFU3c&#038;hl=en\">here<\/a>. <\/p>\n<p><strong>4. Flixel<\/strong><\/p>\n<p><a href=\"http:\/\/flixel.org\/\">Flixel<\/a> is a Flash framework by Adam Saltsman (Aka: <a href=\"http:\/\/www.adamatomic.com\/\">Adam Atomic<\/a>).  Using Flixel got me up and rolling quickly, handled all of the heavy lifting regarding physics, gamestates, sprite animation and audio.  On top of the great framework, the <a href=\"http:\/\/flixel.org\/forums\/\">Flixel community<\/a> has a bunch of great tutorials and a very active forum.<\/p>\n<p>I seriously doubt I would have been able to make Ray Ardent without Flixel.<\/p>\n<p><strong>5. Diving and Sliding<\/strong><\/p>\n<p>The original idea for a core mechanic with Ray Ardent was a combination of Burnout and Mario Bros with an epic scale &#8211; a small character in a huge world.  You would run, have close calls with enemies and objects and build up a boost meter.  It wasn\u2019t that fun, so I added the ability to slide under ledges as a way to build up boost. <\/p>\n<p>After fiddling with the prototype for a week, I knew that the mechanic of building up the charge had to go, but I was having a blast running fast and sliding under ledges. <\/p>\n<p><em><strong>What Went Wrong:<\/strong><\/em><br \/>\n<strong>1. Technical Problems<\/strong><\/p>\n<p>I was painfully ignorant of a simple fact regarding online\/free games and min-spec testing &#8211; there\u2019s a good chance that your players will be enjoying your game in a library or school.  Even in a major Canadian city like Vancouver, where the library has a decent budget, the computers are ancient.  Consider what the computers will be like in smaller communities.<\/p>\n<p>My min-spec testing was done on a netbook with a gig of RAM.  This simply wasn\u2019t enough.<\/p>\n<p>The other technical problem I faced was the limitation of cheap keyboards.  Some laptop and desktop keyboards have problems with more than two simultaneous key presses.<\/p>\n<p>This is a HUGE problem with Ray Ardent.  A game where you are always pressing \u2018Right\u2019 and frequently pressing \u2018Down\u2019 and \u2018Ability X\u2019 at the same time.  <\/p>\n<p><em>A Review on a &#8216;Low Spec&#8217; machine &#8211; notice the terrible framerate<\/em><br \/>\n<iframe loading=\"lazy\" title=\"YouTube video player\" class=\"youtube-player\" type=\"text\/html\" width=\"425\" height=\"349\" src=\"http:\/\/www.youtube.com\/embed\/r2WP4hTWmoo\" frameborder=\"0\" allowFullScreen><\/iframe><\/p>\n<p>These problems hit where it hurts &#8211; in the review scores.  <\/p>\n<p>In the Flash world, you live and die by your review scores &#8211; which are averages submitted by players.  As a result of the technical problems, more than a few players experienced \u2018sticky buttons\u2019, \u2018button lag\u2019 or \u2018slow frame rate\u2019 problems.  It\u2019s not a surprise that these players rated the game a \u20180\u2019.  This rapidly drops the average review score.  For every 0\/10, I needed ten 10\/10\u2019s to offset it.<\/p>\n<p>If I could have foreseen the problem with slow computers, I would have done a quick performance check and given the players a pop-up letting them know that they would have reduced performance.<\/p>\n<p><strong>2. Not Enough Variety<\/strong><\/p>\n<p>Plain and simple, I didn\u2019t put enough variety in the number of platform configurations and enemies\/behaviors.  <\/p>\n<p>There was definitely a challenge in designing sections that were challenging and didn\u2019t force the player to slow down.  Keeping the player running was key in every aspect of level design.<\/p>\n<p><iframe loading=\"lazy\" title=\"YouTube video player\" class=\"youtube-player\" type=\"text\/html\" width=\"450\" height=\"345\" src=\"http:\/\/www.youtube.com\/embed\/3YR6VFv4E1s\" frameborder=\"0\" allowFullScreen><\/iframe><\/p>\n<p>The enemies were in the same boat &#8211; in order to keep the player moving, the enemies had to be basic.<\/p>\n<p>In hindsight, more visual variety in both the level design and enemies would have helped, but honestly, I simply needed to do a better job as a level and enemy designer.<\/p>\n<p><strong>3. Sponsorship Bidding Mistakes<\/strong><\/p>\n<p>Ray Ardent was my first Flash game and despite the amount of research I did, I still made a few simple rookie mistakes when it came to the bidding process.<\/p>\n<p>When I posted Ray Ardent to <a href=\"http:\/\/www.flashgamelicense.com\/\">Flash Game License<\/a> for bidding, I used Mochi Media\u2019s leader boards and save game system.  It\u2019s an easy to use and robust system and I was happy to use it.  The problem was that many potential sponsors do not like Mochi\u2019s system.  While I don\u2019t have any hard evidence, I have heard through the grapevine that Mochi\u2019s presence in Ray was a bit of a turn-off for potential sponsors.<\/p>\n<p>The other area where I feel I dropped the ball was graphic design.  The game icon, GUI and menu art for Ray Ardent are, to put it nicely, sub-par.  <\/p>\n<p>Late in development,<a href=\"http:\/\/www.andymoore.ca\/\"> Andy Moore<\/a> sent me some feedback where he relentlessly shredded the UI.  I decided it needed an overhaul, and while the new version was better, it was far from good.<\/p>\n<p>When I play Ray Ardent, the menus and front end are the only part of the game that makes me cringe.<\/p>\n<p>This lack of polish in the UI presented Ray in a less-than-ideal light and probably turned off a few sponsors.<\/p>\n<p><strong>4. Too Big for a First Game<\/strong><\/p>\n<p>A lot of my mistakes were rookie mistakes.  The kind of things that you learn once and never do again.  <\/p>\n<p>The world of Flash gaming is more than happy to sponsor and distribute a game that was built in a couple of weeks, as long as it\u2019s fun and doesn\u2019t look horrible.<\/p>\n<p>My first game on the platform should have been something smaller, faster and simpler.  This would have let me learn from my mistakes and given Ray Ardent more potential.<\/p>\n<p><strong>5. Diving<\/strong><\/p>\n<p>Diving is the difference between Ray Ardent being a good game and being a great game and I did a horrible job of telling players to use the dive.  The simple text tutorials were not enough and as a result a lot of players missed out on a lot of fun.<\/p>\n<p>I knew from focus-testing the game that many people would miss the dive tutorial, yet, for some reason, I didn\u2019t make any move to address the problem.  Maybe I thought the walkthrough video would clue people in, maybe I didn\u2019t think it was a big problem &#8211; I honestly can\u2019t remember why I didn\u2019t fix the problem.<\/p>\n<p>Looking back, there was a simple fix.  I could have done a check to see if the player had used Dive more than 3 times during the level and if they didn\u2019t, I could have added a pop-up at the end of the level.  <\/p>\n<p>It\u2019s a simple fix and I\u2019m still kicking myself for not solving this problem before launch.<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>When it\u2019s all said and done, I\u2019m happy with how Ray has done.  The fan response has been great, the reviews were fair, there was some great media coverage and it\u2019s been played all over the world.  <\/p>\n<p><iframe loading=\"lazy\" title=\"YouTube video player\" class=\"youtube-player\" type=\"text\/html\" width=\"425\" height=\"349\" src=\"http:\/\/www.youtube.com\/embed\/G0jg-7PVKyM\" frameborder=\"0\" allowFullScreen><\/iframe><\/p>\n<p>It absolutely could have been better, but as my first ever Flash game as well as my first game as a programmer and artist, I\u2019m more than satisfied with how it turned out.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ray Ardent: Science Ninja is a high speed platformer made in Flash and released through the Flash portal scene. As a developer, it represents a lot of firsts: It&#8217;s the first game I have made as an artist and\/or programmer and it&#8217;s also the first Flash game I have ever made. Ray Ardent: Science Ninja &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/nrdland.com\/?p=1321\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Post Mortem &#8211; Ray Ardent: Science Ninja&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[5,14,7,15],"tags":[],"_links":{"self":[{"href":"http:\/\/nrdland.com\/index.php?rest_route=\/wp\/v2\/posts\/1321"}],"collection":[{"href":"http:\/\/nrdland.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nrdland.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nrdland.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nrdland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1321"}],"version-history":[{"count":9,"href":"http:\/\/nrdland.com\/index.php?rest_route=\/wp\/v2\/posts\/1321\/revisions"}],"predecessor-version":[{"id":1332,"href":"http:\/\/nrdland.com\/index.php?rest_route=\/wp\/v2\/posts\/1321\/revisions\/1332"}],"wp:attachment":[{"href":"http:\/\/nrdland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nrdland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1321"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nrdland.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}