Tech Focus: Firemint on iPad 2 development

Digital Foundry talks with the makers of Real Racing on the challenges and opportunities of high-end iOS development

It's safe to say that Apple's new tablet - and the A5 processor that powers it - is something of a game-changer for the mobile games community. Combining a dual core ARM Cortex A9 CPU with a PowerVR SGX543 MP2, the new tablet offers an enormous leap in processing power over its predecessor, with Apple itself claiming up to 9x GPU performance.

Firemint's Real Racing games pushed technological barriers on older iOS devices, and the team is well-placed to comment on the new frontier iPad 2 represents, with its forthcoming Real Racing 2 update set to benefit from enhancements including dual-screen gameplay, and Full HD 1080p support via the new tablet's HDMI dongle.

In this exclusive interview with Digital Foundry, Firemint's Rob Murray discusses the business and technological challenges of working in the mobile gaming space, going into depth on the process of bringing new game Real Racing 2 to the iPad and iPad 2.

Q:With RAGE and Unreal Engine on iOS, there's a real sense that mobile is pushing technological - and perhaps budgetary - barriers. You're no strangers to this with Real Racing and its sequel. From a business and development standpoint, what are the challenges here?

Rob Murray:With Real Racing 2, we wanted to make a high-quality racing game. Substantial amounts of content, polished gameplay, cutting-edge graphics and compelling online multiplayer were a must. Any one of these elements would be a daunting task, but to truly build a game without compromises demanded significant investment, 30 in-house developers at peak and a number of external ones worked on Real Racing 2 - a large number for a mobile game.

So, yes, we were very concerned about the level of investment required, not just in terms of money but in terms of time. We built the game despite our concerns and considering the quality of the final product, and the success we've seen in terms of sales, we think we got it all right.

Q:Do you feel that mobile is a market where smaller developers can better compete with the larger publishers?

Rob Murray:The presence of larger companies in the mobile market hasn't dramatically altered the difficulty of getting involved for smaller developers. Mobile, particularly iOS, is a great platform to create and publish something new and original, but the challenge of creating that great product in the first place remains the same.

What has changed are expectations - as users are exposed to what can be accomplished on these platforms, the demand for more content and deeper experiences has grown enormously.

Q:With the success of your iOS titles is there any appetite in the company to take on more ambitious projects - perhaps for the home consoles - or is mobile your home?

Rob Murray:Making a great game always comes first at Firemint - a priority that isn't necessarily dependent on any one platform. Flight Control was a mega-hit on iPhone, but we have also released versions of the game on iPad, PlayStation 3, PC and Mac via Steam, Mac App Store, Intel App Up and DSiWare. So we do work on multiple projects but we are focused on projects designed for digital distribution, so I wouldn't expect that you would see much work from us in a retail store.

Agent Squeek, our third new IP, is coming out on both iPad and iPhone this year. We consider Agent Squeek to be a very ambitious project, but more in a design sense than in the technology. It is an accessible sort of game that looks deceptively simple, but it is very big in terms of development and iteration with over 22 months of work on it so far.

Cross-platform technologies are great and it's truly awesome to have Epic investing into iOS and to have top quality developers like Chair working in the space.

Q:The arrival of heavyweights into the iOS space - like Epic with Unreal Engine 3 - presents interesting options. UE3 is a cross-platform engine, and conceivably developers could launch on iOS, NGP, Xbox Live and PSN. Does this have an attraction from a business and tech standpoint?

Rob Murray:Cross-platform technologies are great and it's truly awesome to have Epic investing into iOS and to have top quality developers like Chair working in the space. Middleware is an attractive proposition for a lot of developers, so I can see how this is great for the ecosystem. However we have our own heavily optimised engine that has matured within the studio over many years and effectively encodes much of our learning and our culture and allows us to be flexible and different. While technology is not the main game for us, Mint3D is still the best possible engine for our particular circumstances.

Q:From the developer's perspective, what are the advantages and disadvantages of the yearly refresh model Apple uses for its hardware?

Rob Murray:It's great when you can be confident the hardware you're developing for is being updated and refreshed on a regular basis. Having such great support behind the platform allows us to build on our games and tech; to let them mature in a way that's only possible with time and iteration. New hardware brings new users who may not have played our game before, so it is a new opportunity to sell also.

Naturally, each new device comes with upgraded specifications, but Apple has done an admirable job of keeping things relatively consistent. The only difficult thing is when to keep the old hardware running smoothly while also pushing the limits on the new hardware. We think that we have done remarkably well in this regard and if you get Real Racing 2 or Real Racing 2 HD on any device it should run smoothly and look as awesome as possible on your particular device. We have had a hiccup or two along this path, but we have been very fast to get on top of any issues on older devices with updates, to make sure that everyone is having an awesome experience.

Q:John Carmack is on the record as saying that the vast majority of RAGE downloads were for the HD version, suggesting that cutting edge games find their audience on the newer iOS devices. Real Racing 2 also supports all iOS devices - do you concur with Carmack's analysis that cutting edge games are mostly played on newer hardware? Is there a point where you will target OpenGL ES 2.0 devices only?

Rob Murray:Yes, I agree with John Carmack that cutting-edge games would be mostly played on newer hardware. Our attitude is to do our best to support older hardware where we can, not because there are a lot of users on the older hardware, but simply because there are some users there and every customer matters. However there is a limit to what we can do and it is getting very difficult to support OpenGL ES 1.0 devices with 3D games as the gap grows.

Q:From a developmental perspective, what are the major technological advantages in targeting the newer OpenGL ES 2.0 hardware?

Rob Murray:OpenGL ES 2.0 has vertex and pixel shader support which is fundamental to some of the advanced rendering and lighting effects that can be seen in Real Racing 2. The newer hardware is also faster than the older hardware so you are able to push more geometry and texture through the pipeline and you are able to achieve smooth performance more easily.

The iPad 2 hardware allows us to run [Real Racing 2 HD] fully anti-aliased with a much higher polygon count and texture resolution at a higher frame rate with numerous extra effects turned on.

Q:iPad 1 runs older SGX535 GPU hardware that received a speed-bump from its debut in iPhone 3GS, but had to service a much higher resolution. Was this part of the reason Real Racing 2 HD was delayed on iPad? What were the technical challenges in producing this version?

Rob Murray:If we could have had the iPad 1 version of Real Racing 2 ready for Christmas, we would have launched it at Christmas. So yes, it is right to speculate that we were having trouble with the build on that device. The challenge for us was that with the bigger screen you can see more detail and you also require a higher frame rate.

So for the graphics on iPad to be perceived as equivalent in quality to the iPhone 4 it wasn't enough to just get the game so that it could run the same game at the same speed on the iPad, we actually had to speed the game up significantly at the same time as adding even more detail. Just to be clear, not only did we require that the iPad version had more detail than the iPhone, but we also required that it would run at a higher frame rate.

After we had solved both of those problems, all we would have is a game that would be perceived as similar to the iPhone 4 version. So the big screen was a big problem. We are on top of it now, we have been working for so many months on iPad optimisations and we have a build that looks great and runs well on iPad 1.

The exciting thing of course was that we were also working on an awesome build of the game in anticipation of the iPad 2. The iPad 2 is out there now, Real Racing 2 HD looks absolutely gorgeous on it, and plays like a dream, and it will even support full 1080p output with the next update! So it's all great now.

Q:When Apple releases a new iOS upgrade, is there a new QA/validation procedure carried out on your existing library of games? There's been discussion that iPad 1 3D performance improved significantly with a recent upgrade - was that borne out by your testing?

Rob Murray:Yes, we noticed that Real Racing 2 HD runs much better on the latest iOS, so they have definitely improved something there. We recommend to our users that they upgrade their iPads to the latest OS for the best performance.

Q:id Software's RAGE HD supports TV-out on the iPad and iPhone 4 - conceivably, could you have supported video output on older devices with Real Racing 2?

Rob Murray:While we could have technically implemented a similar sort of video out functionality on older devices, we could not have provided the requisite user experience along with that functionality and the devices don't have the power to drive two screens at once while running Real Racing 2.

Real Racing 2 HD on iPad 2 supports 1080p out at 30 frames per second along with dual screen display showing the necessary race telemetry on your iPad screen. You steer with your iPad and it all feels great. It doesn't have to compromise on resolution, on usability or on gameplay, and that is what we are so excited about it.

Our users will be happy with this feature on iPad 2, I don't think they would be happy with what we could deliver on older devices.

Q:There's been a lot of discussion around Apple's claims of "up to 9x performance increase" from the GPU in iPad 2. Based on your real life testing with Real Racing 2, do these claims stack up? What happens when you run your iPad 2 code on iPad 1?

Rob Murray:The iPad 2 hardware allows us to run the game fully anti-aliased with a much higher polygon count and texture resolution at a higher frame rate with numerous extra effects turned on. The original iPad's specifications don't allow for these improvements - however, we've found ways of making it look great on the older hardware.

If it was possible to run the exact iPad 2 code on iPad 1 then it would run very, very slowly. Once you have seen 1080p output running, I think you would agree with Apple's estimate of 9x performance increase in graphics.

Q:In your press, you talk about developing the iPad 2 enhanced version "blind", with no access to the hardware and a feature-set based on best guesses. A 9x performance leap took most people by surprise. What was your internal analysis of where Apple would go with iPad 2... what did you get right and what did you get wrong?

Rob Murray:In anticipating the iPad 2 release we were actually working with a matrix of different possibilities for what it might be, as time went by and we heard rumours we would adjust the probabilities in each configuration. We worked on basically two versions for iPad 2, one was built for about 25 per cent to 50 per cent performance increase, the other was the "hit it out of the park" kind of performance increase.

When we saw the keynote we switched gears rapidly to the "hit it out of the park" version that meant that we were finishing off a new graphics set that we had been working on. Even with our "hit it out of the park" version we were able to turn on full screen anti-aliasing and many other effects that we didn't think would make it, so Apple surprised us also, but I think we were far more ready for it than other developers.

Q:What other opportunities does the hardware boost give you? I remember a Real Racing 1 demo running a lot more cars on newer iOS hardware...

Rob Murray:We considered other things that we could do with the increased iPad 2 power. The 40-car demo that we showed for Real Racing 1 on a 3GS was a great way to demonstrate the power of the new device but hardly practical for the game itself. Better graphics and smoother performance is what we most wanted to explore.

Q:Why opt for 1080p30 in particular for the iPad 2 version of Real Racing 2. Was 720p60 an option?

Rob Murray:Actually, the game will support both 1080p and 720p through HDMI, but the Full HD version (1080p) got us the most excited. Plus, we wanted to go a step beyond what your typical console game provides - there aren't a lot of current-gen titles out there that run naturally at 1080p without upscaling. The game doesn't just drive the 1920x1080 display on the TV, but it also runs its own 1024x768 screen at the same time. That's a lot of pixels.

Q:Once the iPad 2 spec was locked, what changes did you make to the "speculative" code and how long did the update take to finish?

Rob Murray:Once the iPad 2 spec was locked, the main changes to the speculative code were to import and polish up all the new graphics we were working on and then turn on effects like anti-aliasing, anisotropic filtering etc. There were a lot of details to sort out too, just because the code is quite complex.

We had a solid speculative build within roughly a week from the announcement and then polished from there. Real Racing 2 HD on iPad 2 was not an update - it was the first release of the iPad version of the game.

We had a solid speculative build within roughly a week from the announcement and then polished from there. Real Racing 2 HD on iPad 2 was not an update - it was the first release of the iPad version of the game.

Q:There's been a quantum leap in performance from iPad 1 to iPad 2: dual core CPU and GPU, faster RAM and more of it. How are you able to tap into that power? Are new libraries provided in the SDK, or is it simply a case of testing the existing ones and seeing how much faster they are with new hardware?

Rob Murray:You will get a big performance boost for free without making any code changes. Beyond that it's a matter of tailoring your CPU code and graphics engine to take advantage of the additional horsepower.

There is no need to use any new libraries to see how much faster everything runs on iPad 2. If you want to use the CPU to its fullest though, you may want to think about how you architect your code to utilise multiple threads and there are some more sophisticated things you can do with Apple APIs.

Q:The jump from single core CPU architecture to dual core is a major leap. Are you able to access the CPU directly and develop your own multi-core optimised code, or are beholden to Apple's APIs to do the job for you?

Rob Murray:Utilising threads within your game will activate the multi-core CPU without having to do any magic. We have some threads within Real Racing 2 HD that have benefitted from this. However you can use some of the Apple SDK to take tight control over multi-core CPUs, so that is something exciting to explore in the future.

Q:Bearing in mind the generational increase in power iPad 2 represents, is there a case for Apple to launch a home console based on its yearly refresh model? Would this be something you'd support? As you mentioned in your press release, Real Racing 2 on iPad 2 is effectively offering a home console mode...

Rob Murray:An important point to remember is that the full screen 1080p output coming to Real Racing 2 HD is dual screen. We're not simply throwing the image up onto a HDTV - we're providing a new, exciting way to engage with the game.

We haven't used the phrase "home console mode", and I don't believe it best describes what we're out to achieve. In the years to come, we want playing experience for users to be seamless so you don't have to jump between mobile, console and whatever other device you might have.

We want it to be invisible and natural. One minute you might be hooked up to your big screen at home, iPad 2 in hand speeding along in Real Racing 2 HD. The next you're disconnected and on the go, playing the same race - and all you had to do was unplug a single cable. We don't want users thinking about connectivity, it should just happen.

Latest comments

Sign in to contribute

Need an account? Register now.