Android Gaming Graphics at a Standstill: What Is Holding Us Back, and the Path Forward
Over the past couple years, we’ve seen a massive shift in the Android gaming market. Many major companies have shifted away from releasing new original graphically intensive 3D games, and are instead focusing more on either porting games from other platforms, or expanding their current games, often in an attempt to drive microtransactions.
This is fantastic for mid-range and budget devices, as despite their weaker GPUs, they are now starting to be able to play everything and anything out there, but it leaves flagship devices wanting something more. Not every phone is going to have an Adreno 530 (while not a very reliable comparison, at ~500 GFLOPS peak performance, it is twice as fast as an XBox 360’s 240 GFLOPS ATI Xenos processor), with the popular Adreno 505 found in entry level processors running at 1/7th the speed. Despite the lack of improvement in dynamic effects, the massive resolution increases that we have seen have resulted in games struggling to run at full native resolution, with OEMs having to develop resolution limiting tools, like Samsung’s Game Tools and HTC’s Boost+, and many developers deciding to hardcode their games for 30 Hz and lower resolutions (restrictions which are lifted on some devices).
Those decisions highlight a stark truth: most Android devices are battery powered (with some exceptions like the Nvidia Shield TV), and developers have to balance quality with power usage (and heat). As you increase the graphical performance, you also increase the amount of processing being done, and the amount of power being used. Too hot, and people won’t be able to play for very long (and their hands will be sweating the whole time), certainly not smoothly anyway. Not enough power used, and you won’t be able to create the graphical representation that you want.
And those performance goals really are a moving target. Different chipsets and devices will have different levels of performance that they can accomplish without getting too hot, and you have to use the NDK to code for each one if you want to get the most out of the hardware available to you. Some devices are also thermally constrained due to factors outside of the processing package
On the PC side, we’ve recently seen a shift towards developers and consumers focusing on increasing average frame rates (with a proliferation of 144 Hz displays), reducing microstutter, and preventing frame drops (or at least making them more bearable through technology like Freesync, which itself shares a lot of technology with the panel self refresh found in phones), as graphical improvements have seen diminishing returns. There still is a long way to go in regards to reaching a level where there is no longer any benefit to graphical improvements, but people started discovering that the smoother gameplay that comes with consistently high frame rates is extremely enjoyable.
But who will drive these graphical advancements? We currently have a dearth of premium graphically intensive apps on Android. Many major game series that were previously paid apps are shifting towards a freemium model. Modern Combat and Dungeon Hunter had 4 paid releases before they started shifting towards freemium in the past two years, with Modern Combat 5 even starting out as a paid app before Gameloft switched it over.
EA’s Real Racing 3 and NFS: No Limits look fantastic, but they also shifted their respective series from full-price games to freemium. They are absolutely littered with microtransactions (with in-game purchases running from $1.39 to $139.99 per item up here in Canada), including the pay-or-wait mechanics that have become so popular in freemium games, with you having to pay to refill your fuel gauge every couple races (or wait for it to refill). Dead Trigger 2, Assassin’s Creed Pirates, and others have followed the same trend. The latest Assassin’s Creed game, Identity, had its international launch earlier this year (with a soft launch two years ago) and is a mix of the two, with a full-price purchase, followed by microtransactions in the game.
Now, that’s not to say that all games are shifting towards microtransactions and advertisements. We’re still seeing many games like Pixel Dungeon and Square Enix’s GO series that are fantastic stand-alone games. These games may not be the most graphically intensive out there, but their focus on solid core gameplay mechanics and pick up and play gameplay have created loyal followings that come back for every update or new release. And that holds true both for full price games and freemium games as well. The Angry Birds empire was built on the back of simple easy-to-learn gameplay, the ability to pick up and put down the game if something pressing is happening around you, and an over the top story-line designed to make you chuckle. All those things came together to create a huge merchandising line (with soft drinks, toys, cookbooks, theme park rides, and even the mascot for the 2012 IIHF Ice Hockey World Championship), and resulted in a highly successful film (pulling in almost 5 times its budget at $346 million in ticket sales).
That ability to pick up and play the game, and drop it on a moment’s notice without worry really is major selling factor for many mobile games. Even just short time wasters like Flappy Bird, Crossy Road, Stack, and Nintendo’s upcoming one-touch Mario game have huge followings, thanks to the simple mindless fun that they bring.
We’ve also seen an upswing in games that use carefully planned art direction to create stunning visuals, often without needing the most powerful processors. Games like Monument Valley, Limbo, Duet, and Alto’s Adventure that are beautiful to just look at, never mind the gameplay. Games that people not only want to play, but want to watch while they are playing it. Games where you find yourself immersed in the splendour of the game world.
We’ve also seen an upswing in games that use carefully planned art direction to create stunning visuals, often without needing the most powerful processors.
But while there has been a lull in new graphically intensive 3D games on Android, we have seen a resurgence of them on iOS. Apple’s low resolutions, powerful GPUs, and low-level graphics API have resulted in a rich market of graphically intensive games, with flagship titles like Infinity Blade being created to showcase the platform’s strengths, and existing games like Asphalt 8 being updated with Metal support, resulting in improved dynamic effects and other graphical enhancements. Enhancements that we haven’t seen lately on Android, where all the recent improvements for Asphalt 8 have been about driving microtransactions.
Now, certain developers may be waiting for Android to support Vulkan before pushing those graphical updates, as coding them in for the current OpenGL versions as well may be seen as a pointless duplication of effort by some. The phones, tablets, and set-top boxes that can fully take advantage of the improved effects are the recent flagships, the ones that are likely to get Android 7.0 and Vulkan support.
Vulkan is a huge deal for Android gaming (and for PC gaming as well). It’s a new graphics API being developed by the Khronos Group (the same industry consortium in charge of Android’s historical graphics API, OpenGL), that has evolved as a result of AMD donating their Mantle codebase to create an open standard (and an open source Vulkan SDK).
It results in substantially lower power usage and substantially higher performance by giving more direct access to the GPU. It also brings the Android platform to parity with the desktop, as the same version of Vulkan is used on both, whereas with OpenGL many phones used a cut down version known as OpenGL ES.
Could this be part of the reason why Google required support for either Vulkan or OpenGL ES 3.1 in Nougat, resulting in support for devices with the Snapdragon 801 chipset being dropped? Google may be trying to use Android 7.0 Nougat to create a platform for developers to target for graphically intensive games. A platform that is guaranteed to have better support for recent graphics APIs, allowing games to take advantage of the massive performance improvements that Vulkan brings (or even just OpenGL ES 3.1).
They are doing it publicly to some extent as well with the Daydream platform specification, which is built on the backbone that Google Cardboard laid. The Daydream platform requires Android 7.0, Vulkan support, some special tuning for low latency, and a minimum hardware level. And Google has been pushing to make it easier to test and improve devices in order to ensure that, especially with the launch of their WALT latency timer, which costs $50 instead of the thousands that similar equipment normally would.
So far we’ve seen only two phones announced with support, the ZTE Axon 7 and the Asus Zenfone 3 Deluxe (with the Nexus 6P not being considered to be representative of Daydream ready due to issues with “thermal performance”), but there are more coming from Samsung, Huawei, HTC, LG, Alcatel, Xiaomi, and others, Now, Daydream is a specification for virtual reality support, but large portions of it carry over to day to day gaming as well.
It will be interesting to see how the arrival of Vulkan causes a shakeup in the market over the next couple years. As games begin to adopt it, we will see improved graphic performance, higher frame rates, and potentially reduced power usage as well. Vulkan is a huge improvement, that will allow us to get more out of the same hardware.
The tech demos using Vulkan on Android, like Epic Games’ ProtoStar Unreal Engine 4 demo, are simply beautiful, much like the ones that we’ve been seeing with Metal on iOS, like Epic Games’ Zen Garden demo. It will be amazing to see the games that are released using Vulkan; even if we are not particularly enthusiastic about gaming on our phones, it’s always exciting to see just how powerful our devices are getting, and gaming is one of the best ways to make that power tangible to consumers.