Can mobile truly catch up with and surpass last-gen console performance? A couple of weeks ago we reviewed the Xiaomi MiPad featuring Nvidia's Tegra K1 - a processor that features, theoretically at least, more GPU power than the Xbox 360 and PlayStation 3. Our conclusions? There were hints of the chip's capabilities but no real demonstration of its power. Well, this week, our Nvidia Shield Tablet arrived for review, pre-loaded with Frozenbyte's Trine 2 - a modern PC and console title that miraculously looks and plays closely to the existing console and PC versions of the game.
We're still a long way from an era where modern console titles will appear en masse on tablets (and eventually smartphones) but this is an important step forward in many ways. By our reckoning, Trine 2 just falls a little short of matching the Xbox 360 and PlayStation 3 versions, but it gets very, very close - certainly the fun factor of the game is undiminished and in some ways it can even be considered better than the last-gen console versions. Put into perspective, this is a watershed moment in mobile gaming. We reached out to developer Frozenbyte to talk about this achievement, who were quick to point out that while the tablet version has graphical differences with the Xbox 360 and PlayStation 3 versions, we shouldn't forget the issue of content either - an element that introduces its own technological challenges.
"Trine 2: Complete Story on Android/K1 is more extensive than the Xbox 360 and PS3 versions of Trine 2, since those don't have the Goblin Menace expansion levels released. The reason why we never released those is that we'd have to a great deal of specific optimisations for the platforms, and possibly even touch the levels themselves (to make them less demanding), and we weren't very enthusiastic about it, so it kind of fell on the wayside when new things came along," the developer says.
"The Android version is basically exactly the same as on PC and on PS4. Also Wii U has Trine 2: Director's Cut which is the same game as Complete Story, just under a different name. To compare the different versions: PS4 renders at 1080p60 (stereo 3D internally also [runs at] 1080p60 but PS4 currently outputs only 720p60), Wii U 720p30 and Android 720p30. Xbox 360 and PS3 versions run at 720p30, but have a slight resolution adjustment enabled if the going gets tough."
Comparing the versions side-by-side, it's safe to say that there's not exactly a huge amount of difference between them - there's the suggestion of tweaked lighting and some lower resolution texture assets. Meanwhile, the pass of FXAA post-processing anti-aliasing seen on console is missing on the Android build. However, as a proof of concept, Trine 2 on Android is still a significant leap beyond Nvidia's own ports of Half-Life 2 and Portal. Trine 2 proves conclusively that the latest mobile technology can compete with console, on certain titles at least.
"Previous mobile hardware hasn't really been up to par from our perspective but we always knew it was just a matter of time, so we've kept an eye on the mobile space for a couple of years now. In fact, Trine 2: Complete Story for Android is a good working example of 'let's keep in touch' - lots of yearly hellos back and forth finally leading to something more concrete when the pieces fell just right," Frozenbyte explains, when asked about the business conditions that made the Android port possible.
"Nvidia approached us around Q3-Q4 2013 and introduced their future plans for the Android platform, and we started thinking maybe the time was right. We are always interested in new devices and platforms, it's that geeky side of things, and if it has some business resonance then it gets very interesting. Our own in-house engine was lacking Android support but we're not shy to adding new platforms, and we figured now would be a good time to start exploring Android in more detail."
The studio had a headstart of sorts owing to the proliferation of platforms Trine 2 already supports. The Kepler graphics architecture in Tegra K1 is derived from a full desktop part, and supports every major graphics API. Android ports typically need to be down-converted to the more restricted OpenGL ES - Trine 2 is a pure conversion from desktop code - this is the "secret sauce" in the latest generation of mobile graphics processors, the path that makes mobile a viable target for a huge library of existing titles.
"Indeed, Trine 2 on Mac OS X and Linux used OpenGL for rendering and that renderer served as the basis for the K1 port. Porting to Android was basically like any other port we do: you always need to handle platform specific features such as rendering, input etc. We have experience on a lot of platforms and our in-house engine is pretty easy to port usually... Each platform always has their own kinks and pitfalls, but so far we've found ways around them pretty fast," the studio reveals, going into a little more depth on the conversion process.
"Most of the work comes from rendering and optimising the game to the specific platform. The K1 also needed some optimisations and OpenGL modernisation, most of the OpenGL rendering is now based on OpenGL 4.x. Overall the Android port for K1 took about 12 man months from our programmers. We had one programmer who did the porting in general, one for input related tasks and one for optimisations and rendering tweaks. Of course you need to add a few man months for our designers, QA and production team as well, and all the business related things."
The Tegra K1 port of Trine 2 is very, very neat. Not only does the conversion match and indeed exceed last-gen console in certain respects, there are enhancements that benefit the Nvidia Shield tablet in particular. Multiple controllers can be paired up to the unit, allowing for simultaneous local co-op play. Hook the tablet up to your HDTV and you have the same options as a traditional console. Playing Trine 2 on the Xiaomi MiPad - another Tegra K1-powered device - and those options are obviously gone, but we note that Frozenbyte has adjusted aspect ratio to suit, changing rendering solution to 1024x768 (a quarter of native res).
The level of power on tap in the Shield Tablet is clearly quite impressive then, but as a pioneering piece of technology it is fair to say that it is not the complete article. Running older Android games gives us a similar level of battery life as, say, an iPad mini, but titles like Trine 2 are much heavier on resources and as such battery life can suffer - something we'll address with some metrics when we post our review. Nvidia implemented a passive cooling technology that dissipates twice the level of heat as competing designs - and clearly it needs it as the unit does get quite warm during gameplay. It's a problem that would have been flagged up early on based on Frozenbyte's experience.
"One issue we ran into while developing for K1 was heating on the prototype devices. Since Trine 2: Complete Story was now being developed for a tablet device, we had to make sure the device would not get too hot (since it's lacking powerful fans). In the latest version, the Shield Tablet (K1) can pretty much keep 720p30 without heating up too much," Frozenbyte reveals.
Part of the problem has been the fact that silicon makers like Nvidia can't rely on more refined fabrication processes to arrive quite as quickly as they used to. Tegra K1 is a 28nm part - a process that's been with us now since 2011. 20nm is the next step, but we're unlikely to see any production silicon arriving until next year. At that point, Nvidia will have a new part - codenamed Erista - based on its Maxwell GPU tech. The question is whether it doubles down on performance, or aims for a cooler chip with longer battery life when it is really pushed. Certainly, the momentum of performance increases in the mobile space doesn't seem to be decelerating any time soon.
"It's been really interesting to see how rapidly the power of mobile devices has increased. The gap between the latest console game releases and the release of those same games on mobile is shrinking. In the past it might have taken four to six years before some console games were seen on mobile devices, but now and in the future that gap might be only one to two years," says Frozenbyte.
"That's part of our Android project too - right now only a select few devices using the K1 are able to run Trine 2, but we expect chip development to keep up its rapid pace, so a year from now there should be a lot more hardware out there, and we hope to include them in our platform plans for future games - and maybe some current ones."
Indeed, while Trine 2 represents a new wave of mobile gaming, right now it is the exception rather than the rule. Tegra K1 devices are limited in availability to say the least, and the business case for porting over modern console titles is flimsy until many more devices have an equivalent level of power. But we suspect that is not too far off: Tegra K1's graphics power is a 2x leap over the A7 chip found in the iPhone 5S, and the current iPads - and Apple has a proven track record in delivering a doubling of performance year in, year out. We can also expect Qualcomm's Snapdragon processors to close the gap quickly too.
And bringing more advanced games to new tablets and smartphones makes sense to the hardware manufacturers eager to shift the latest and greatest in gadgetry. We've reached the point now where a modern phone or tablet has reached a functionality brick wall - an iPad Air may indeed feature 2x the power of an iPad 4, but there are few use-case scenarios that demand so much raw processing ability. It makes releasing a new device as an upgrade a tough sell - but providing a generational leap in games potential is just one way that the next-gen mobile devices can justify themselves. While Trine 2 may not be the absolute state of the art in modern gaming, it's hardly a slouch in terms of graphics utilisation - and if this game works on mobile, a vast library of modern titles could follow...
Many thanks to Frozenbyte staffers Jari Kantomaa (senior producer), Joel Kinnunen (vice president), Timo-Pekka Kemppainen (producer) and Kai Tuovinen (marketing manager) for talking to us about the Trine 2 Android project