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’s the first game I have made as an artist and/or programmer and it’s also the first Flash game I have ever made.
Ray Ardent: Science Ninja Trailer
What Went Right:
The man responsible for the great music and sound fx is John Tennant. 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.
The inspiration for the sound design was a combination of old school sci-fi flicks, Johnny Quest and 80’s 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.
The voice of Ray Ardent almost didn’t 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.
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’s voice (she was three years old at the time, so me talking in funny voices isn’t unusual) and at one point I told her “We’re going to have a Science-tastic day!”. As soon as I said “Science-tastic” I knew I who the main character in my game was.
The actual recording didn’t happen until the game was almost done. I was pretty happy with how the game was turning out, but the characters weren’t 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 “Science!”, I knew I had made the right call.
2. The Character of Ray Ardent
With this game, I wanted to base a character’s 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 – 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)
After I found the core gameplay, I started work on Ray’s character and design.
The game is at its best when you are running fast and I wanted everything about Ray’s design to suggest running.
Ray’s gigantic parachute pants draw attention to the legs. The goggles pull inspiration from WWII pilots (and scientists) and the sweep to Ray’s hair is inspired by the tail fins on old sci-fi retro space ships (and Cadillacs).
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 – good and bad – and he’s the good guy. Of course, this sets up some great moments of humor as well.
3. One Man Scrum
I have a long history in project management and I’m 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:
- An estimated backlog of features
- Planning work as completed features that are integrated in the game
- One week sprints
- Burndown chart updated on a daily basis
This kept me focused on completing the features and moving the game forward.
I continue to maintain my own backlog and you can check it out at your leisure here.
Flixel is a Flash framework by Adam Saltsman (Aka: Adam Atomic). 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 Flixel community has a bunch of great tutorials and a very active forum.
I seriously doubt I would have been able to make Ray Ardent without Flixel.
5. Diving and Sliding
The original idea for a core mechanic with Ray Ardent was a combination of Burnout and Mario Bros with an epic scale – 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’t that fun, so I added the ability to slide under ledges as a way to build up boost.
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.
What Went Wrong:
1. Technical Problems
I was painfully ignorant of a simple fact regarding online/free games and min-spec testing – there’s 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.
My min-spec testing was done on a netbook with a gig of RAM. This simply wasn’t enough.
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.
This is a HUGE problem with Ray Ardent. A game where you are always pressing ‘Right’ and frequently pressing ‘Down’ and ‘Ability X’ at the same time.
A Review on a ‘Low Spec’ machine – notice the terrible framerate
These problems hit where it hurts – in the review scores.
In the Flash world, you live and die by your review scores – which are averages submitted by players. As a result of the technical problems, more than a few players experienced ‘sticky buttons’, ‘button lag’ or ‘slow frame rate’ problems. It’s not a surprise that these players rated the game a ‘0’. This rapidly drops the average review score. For every 0/10, I needed ten 10/10’s to offset it.
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.
2. Not Enough Variety
Plain and simple, I didn’t put enough variety in the number of platform configurations and enemies/behaviors.
There was definitely a challenge in designing sections that were challenging and didn’t force the player to slow down. Keeping the player running was key in every aspect of level design.
The enemies were in the same boat – in order to keep the player moving, the enemies had to be basic.
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.
3. Sponsorship Bidding Mistakes
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.
When I posted Ray Ardent to Flash Game License for bidding, I used Mochi Media’s leader boards and save game system. It’s 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’s system. While I don’t have any hard evidence, I have heard through the grapevine that Mochi’s presence in Ray was a bit of a turn-off for potential sponsors.
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.
Late in development, Andy Moore 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.
When I play Ray Ardent, the menus and front end are the only part of the game that makes me cringe.
This lack of polish in the UI presented Ray in a less-than-ideal light and probably turned off a few sponsors.
4. Too Big for a First Game
A lot of my mistakes were rookie mistakes. The kind of things that you learn once and never do again.
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’s fun and doesn’t look horrible.
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.
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.
I knew from focus-testing the game that many people would miss the dive tutorial, yet, for some reason, I didn’t make any move to address the problem. Maybe I thought the walkthrough video would clue people in, maybe I didn’t think it was a big problem – I honestly can’t remember why I didn’t fix the problem.
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’t, I could have added a pop-up at the end of the level.
It’s a simple fix and I’m still kicking myself for not solving this problem before launch.
When it’s all said and done, I’m happy with how Ray has done. The fan response has been great, the reviews were fair, there was some great media coverage and it’s been played all over the world.
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’m more than satisfied with how it turned out.