Feature

Full speed ahead: The making of Real Racing

How Firemint gained pole position

Full speed ahead: The making of Real Racing
What's remarkable about the excellent Real Racing isn't that it's still the most technically impressive iPhone game, but that it was ever released.

A labour of love from independent Australian studio Firemint, the ambition of its creators resulted in a prolonged development process that, ironically, was only enabled to reach its full potential by the success of its side project Flight Control.

That 99c game sold over a million copies and provided Firemint with the financial breathing space to finish its magnum opus to the racing genre.

We caught up with CEO Rob Murray to find out about the background to Real Racing, as well as the obstacles overcome along the way.

Pocket Gamer: What was the inspiration for Real Racing?

Rob Murray: The initial inspiration was the accelerometer control method, which we first started playing with on the Nokia N95 way back in 2007. It was really good, it felt more like a 'real' car.

We started out thinking, this feels like real driving... but then driving is not as fun as racing, so it grew from there.

We also knew from our hardware manufacturer contacts some awesome chipsets were on the way in the next generation of devices so we wanted to be ready with something really high-end. We didn't know at the time that we would end up publishing the game on iPhone.

What were the unique features you planned?

We thought about what happens in real racing that makes it exciting.

There are four core elements:

Driving: The responsiveness of the car to the driver's inputs from steering and braking. We wanted to give players the ability to fine-tune with extensive custom controls, as well as nailing the feel of the controls to be intuitive and respond the way you would expect.

Racing: The feeling of satisfaction when you get the racing line right, and the thrill of pack racing when you're competing against closely matched opponents.

Realism: We wanted players to be immersed in the experience and forget that they were 'just' playing a game, so the graphics and sounds had to be as real as possible.

Glory: There would be no racing without an audience or competitors, so to create that true competitive feeling we introduced YouTube uploads, rankings, online leagues and multiplayer features.

How did you decide what platform it would be released on?

We had an early prototype running on the Nokia N95, as well as the iPhone from a shared codebase, but the commercial reality was we could only fund development to completion on one platform, and the iPhone offered us a far clearer and more direct path to our customers.
Real Racing is rumoured to be one of the most expensive iPhone titles made, so how did this impact the development?

It was very ambitious and there were plenty of times when I wished I hadn't started the game. It wasn't just that we were developing this incredibly rich game, developing Cloudcell [Firemint's online platform] at the same time made everything even bigger and more complex.

It's a very hard decision to spend so much money on one game, so you really have to find something to believe in and believe in strongly. This comes back to the integrity of the Real Racing brand. Everything about the game and the brand fits with our strategy of making games that are social, pervasive and high definition. It gave me a lot of confidence that this could be special.

Another thing that kept me going was that it made no business sense at all to spend this much money on developing an iPhone game. It sounds funny, but that's how I knew that our competitors wouldn't be doing the same thing. In general, we try to do something different, and one sure way to be different is to be slightly irrational... in a measured way of course!

At the end of the day though, I am incredibly proud of what our team has achieved, and I think I got value for money. I will say one thing however... I am very grateful for the success of Flight Control, which gave us some breathing space to really finish this properly.

How much of the development involving creating new engine technology?

We had been developing our next gen engine for a while so we had a good foundation before starting Real Racing. However there was a whole lot of custom coding in Real Racing as well, so the engine was really just a small part of the overall effort.

Can you explain your Cloudcell technology, which is an important part of the game's online aspects?

We had an early version of Cloudcell up and running back in August 2008 when we first started showing Real Racing to people, so it's been there for each step of the journey. However the timing was somewhat coincidental, because Cloudcell isn't only about Real Racing or any one particular game.

Cloudcell helps us to deliver on our 'social' and 'pervasive' design goals and to extend gameplay beyond the device itself.

We wanted to add another level of value, so for example when you want to take a break from racing, there's this deep community site where you can look at videos from the people you're competing against. It's about making the game more relevant to the rest of a player's digital life, and integrating with their existing social networks.

One of the core tenets of Cloudcell is to serve the needs of the game, not to build a one size fits all social platform, so in that sense Real Racing drove the development of Cloudcell.

The needs of Real Racing that Cloudcell could serve were derived from the core brand requirements for competitors and an audience. YouTube uploads allow you to perform to an audience, and online leagues, time trials and multiplayer give you the competitors that real racing has.

Can you give a rough breakdown of the development time and any significant tools you used?

The most significant tooling up involved buying Mac Minis for all the programmers in the studio. We already used Photoshop, 3ds Max, and Hansoft for project management, and the Apple development tools came free after signing up.

We started in May 2008 and we're still going. All up we spent a year working on Real Racing before release, and that was with our next gen engine already in place.

What were the biggest obstacles you had to overcome?

During development, our big problem was time pressure to finish the game and release it, both because there was a lot of anticipation, and because every day we didn't release was costing more money in keeping the project going and potentially losing revenue.

We made a really tough decision to delay the release from the date we had announced, and we took some flak for that, which was difficult since we were essentially spending more of our money and damaging our marketing plan in order to release a better game. On the other hand, it was really great to read feedback from people who appreciated our reasoning.

How concerned were you about whether the tilt controls would be sufficiently robust?

We were confident about the tilt controls all the way back in May 2008. Tilt controls were the first thing we implemented because the project grew out of the first mobile phone accelerometers.

I've always felt tilt controls are a really great control method for racing games because they are so similar to how people drive in real life. The problem that worried me was tilt controls were getting a bad name because of some poor implementations in other games, but I was happy with ours from the beginning.

I honestly think we've got the balance just right, so if you can drive a real car, you can play Real Racing, and that is now being validated by the stories we're hearing of people who thought they "can't play racing games" having an absolute blast with it.

Touch controls came later, and they are surprisingly good, but I still think tilt wins.

Why did you use genetic algorithms to create the game's Artificial Intelligence (AI)?

The Real Racing AI drives the same car you do, with the same performance characteristics and the same inputs that you have.

Most car racing AIs are really simple and just cheat to catch up to you, and they slow down when you are behind. They don't share the same limitations that the human player has to deal with so they don't have to be as smart.

We wanted real opponents that are competitive against human players on a level playing field.

To achieve this we needed to customise the AI for each track so that it would perform well on the specific challenges of that track. The key reason that we needed Genetic Algorithms (GA) to train the AI was that conventional tweaking wasn't able to produce the results we needed, considering the number of variables involved.

We started out with five editable parameters we could tweak to change the way the AI drove around the tracks. We were editing those on a global level and then reviewing the results on a track by track basis. This iteration process was slow and the number of parameters really limited the results we could achieve.

By using GA we were able to increase the number of parameters the AI was using from just five to almost 1,000. With this increase in parameters and the automation of testing them, we improved the competitiveness of the AI dramatically. At one stage we regularly hijacked 16 computers in the studio to calculate the AI throughout the night. People would come to work in the morning and see a sign stuck to their PC telling them about its adventures while they were asleep.

We weren't creating an AI algorithm using GA though. We were actually refining the parameters of our AI algorithm using GA. The GA was set up to search all the possible parameters of the AI to find ones that produced the fastest lap times. If you were to do this by any brute force method it would take far too long, if it even finished before the heat death of the universe.

For each of the 1,000 parameters, there are more than 100 possible values, so that's at least 100 to the power of 1,000 combinations we would have to test if we didn't do a more intelligent search (for less geeky readers, that's a 1 with 2,000 zeroes). Of course a human being, intelligently trying to find a good solution wouldn't try all those combinations, but even searching a few thousand combinations would have taken far too long.

In the end, we used traditional AI authoring techniques, refined using a genetic algorithm. So while GAs helped save us a lot of time, our process isn't likely to create Skynet!

Why did you decide to include features such as Wi-Fi head2head, the ability to record replays, online leagues etc in the original release, rather than as updates?

It was central to the game. One of the core design features is that Real Racing is "the most connected racer". So we had to have a lot of this stuff up front (although the Facebook integration did get held up a bit).

We also wanted to deliver a fully featured premium game from the beginning rather than something that was bare bones and fleshed out with updates.

In retrospect, we pumped a lot of features into the game, and players like those features, but they don't seem to care about them quite as much as we did and I don't think they really considered most of them in their purchase decision.

It probably would have been better commercially to have licensed a brand name, dropped half the features, dropped the price and released earlier. However, we were trying to do something special and build something that would become a valuable brand in its own right. To do that, I believe you have to give a lot of value give up front.

At what point did you realise you had come up with something special?

We showed an early prototype to Pocket Gamer at the Leipzig Games Convention in August 2008. Stuart Dredge took a video and put it up on the website and it was huge news, it got a massive response on YouTube and Gametrailers.com. The majority of people were calling it fake and saying "You can't do that on a mobile phone" so that was pretty exciting, because of course we knew that you can.

Were there any particular surprises you had in terms of feedback when Real Racing was released?

It wasn't really a surprise, but the level of resistance to the $10 price tag has been challenging. I suppose the surprise to me is that more game developers aren't taking a stand and saying, "No, we believe our game is worth its original price".

Sometimes I feel like we're a small voice getting lost in the wilderness, but I strongly feel that we are doing the right thing not only by this title that we have poured so much blood, sweat, tears and money into, but also by the industry overall, which needs to be able to sell premium games at a price that can make their cost worthwhile.

What parts of Real Racing are you most happy with?

I'm really thrilled with how the game has turned out. It's an absolute credit to the team and the guys did an amazing job. I guess the three things I'm happiest about are: the handling feels really natural, so anyone can play; the overall level of quality, Real Racing is truly a premium game; and the fun factor of 'real' pack racing with a 'real' AI.

It would have been easy to get lost among all the technical and graphical polish and end up with a game without a soul, but every time I pick it up I still have an absolute blast just playing it.

How much discussion was there about the name, with respect to the possible confusion with Gameloft's Real games?

We had some very long and in-depth conversations about the name. We went though many options, lots of the other names we considered had already been taken and we kept coming back to Real Racing because it encapsulates the core values so well. I think the word 'Real' is used in a lot of places but overall 'Real Racing' was simply the right name for the game.

Having shipped such a complete game, what are your plans in terms of updates?

We're definitely keen to continue supporting Real Racing. We've already been doing that with the new Exotic Car class and 6-player multiplayer updates. We're still developing the game but we don't have anything specific to announce yet.
The Sims 3 and Real Racing have proved $9.99 games can survive in the App Store, but at what point do you think you'll have to start dropping the price?
Real Racing is the only premium racing game in the App Store, and we're really happy with that position.

We are not that focused on the charts as we are not relying on them to exclusively drive revenue. We're looking at the income that Real Racing is generating for us overall, as well as what we would be saying about the game if we dropped the price.

In my opinion there aren't many other games that come close to Real Racing in terms of the wealth of features and content, so it's appropriate that it's priced higher than most other games.

We think that in our enthusiasm we possibly over delivered on features, and believe that we have already discounted the game heavily to reach $9.99 because of the App Store pricing expectations.

As far as whether we would ride a downward price slope, I don't really see why that is necessary. Not every game needs to have a low priced tail. There are a lot of good reasons not to do that to a high quality game like this. So my thinking remains the same, we have no plan to drop the price, it's not a strategy that we are thinking about.

We accept some people may need to think about the purchase a bit more, but that is exactly what we want them to do. Think about it, read reviews, care about the games you buy.

Finally, as shown by your iPhone 3GS demo, how much further do you think you can push Real Racing?

We are looking at some other ways to exploit the power of the 3GS at the moment. It's an amazing piece of hardware. Hopefully we will have something to share soon.
Thanks to Rob for his time and extensive answers.
Real Racing is available from the App Store priced $9.99 or £5.99



And check out our other Making of interviews such as
Doodle Jump

Glyder

Pocket God

Rolando

Space Invaders Infinity Gene

Toy Bot Diaries

Zen Bound


Contributing Editor

A Pocket Gamer co-founder, Jon is Contributing Editor at PG.biz which means he acts like a slightly confused uncle who's forgotten where he's left his glasses. As well as letters and cameras, he likes imaginary numbers and legumes.

Comments

No comments
View options
  • Order by latest to oldest
  • Order by oldest to latest
  • Show all replies