Sponsored: How Arm is solving mobile game development's big 3 challenges
GDC, game developers and Arm
As an industry leader in mobile technology, Arm attended GDC with a focus on the questions that we keep hearing from mobile developers: how I can; a) build great-looking content that, b) can run on the widest range of devices, while c) keeping my power consumption down to enable longer play sessions?
This is the holy grail of mobile game development. The answer to those conflicting demands comes from an understanding of the hardware, firmware and APIs underpinning modern graphic engines. While game development is above all a creative endeavor, there is no escaping the fact that every buffer copied, unnecessary draw call or redundant triangle will compromise the artist’s ability to produce stunning content in the tight package of a mobile device.
This year Arm partnered with some of the most exciting game developers to address three main subjects that have a direct effect in each of those demands:
- The benefits of optimization to reach a mass market
- Vulkan as the future for open standard APIs
- How to achieve console quality graphics on mobile
The benefits of optimization to reach a mass market
Arm's resident graphics expert Pete Harris explains that the limitation of smartphones from a performance point of view is the form-factor. Passively cooling a chip inside a sealed case is never an easy task and the ability of a device to dissipate heat will determine how much power it can sustainably draw during gameplay.
The challenge for AAA content on mobile is to get as much useful work as possible out of that thermally stable power budget, which is somewhere around 3 Watts for a typical smartphone. With the mobile game market’s notable growth worldwide and increasing demand for AAA games, creating performant, visually-stunning content has never been so important. Arm tools help measure and optimize applications to fit within the boundaries set by devices.
Nordeus, a mobile games studio based in Belgrade, Serbia is our partner for showcasing optimization and its advantages. At the packed sponsored session at GDC, Arm and Nordeus explained how to profile your game using the Arm tools, alongside identifying and resolving pipeline bottlenecks with targeted optimization (e.g. shaders). Using Spellsouls: Duel of Legends as a case study, we explained how to optimize the rendering pipeline and budget for efficient post-processing effects such as bloom at high FPS.
Nordeus shared three tips for bloom effects:
- PBR shading with bloom lighting helped to achieve realistic visual effect for specialized textures.
- Forward+ was used for more realistic lighting. This allowed for double the lights!
- Bloom effect provided highlights for realistic metallic elements.
Most high-fidelity games are currently targeted to upmarket, expensive devices. With Arm's Mali GPU being the primary graphics processor in the Asian market, we encourage developers and game engines to use Arm's optimization tools and techniques to build richer worlds with better graphics and more effects that can be played in mass market devices by more people.
For optimization techniques used to meet the device’s power budget in the Spellsouls Duel of Legends case study, check out our sponsored session summary blog.
Vulkan as the future of open standard APIs
Vulkan is an open standard, cross platform API designed from the ground up to enable applications to run more efficiently on modern CPU and GPU architectures spanning desktop, console and most importantly, mobile. It has become evident over the last few years that OpenGL and OpenGL ES have completed their life cycle and that it was impossible to further evolve an API that carries so much inherited weight after serving the industry for over 25 years. Additionally, GPUs are becoming highly programmable and compute capable, mobile platforms are becoming more relevant, memory is becoming unified and processors are becoming multi–core. Therefore, Vulkan is central to the GPU future.
One of the key open source Vulkan related releases Arm has made this year is PerfDoc. A Vulkan Layer designed by Hans Kristian Arntzen, which aims to validate applications against the Mali Application Developer Best Practices document, which can be found on the Arm Developer website. Just like the LunarG validation layers, this layer tracks your application and attempts to find API usage which is discouraged. PerfDoc focuses on checks which can be done up-front and checks which can be portably run on all platforms which support Vulkan. The intended use of PerfDoc is to be used during development to catch potential performance issues early. The layer will run on any Vulkan implementation, so Mali-related optimizations can be found even when doing bringup on desktop platforms. We’re really proud of the feedback we have gotten about PerfDoc and wish to showcase it as much as we can.
At GDC, Hans Kristian of Arm presented with Samsung to explain how to fully avail of Vulkan and develop even the most demanding content using validation layers. Developers learned how to optimize on the Mali GPU architecture with supporting Arm tools like PerfDoc, Mali Graphics Debugger and DS-5 Streamline.
Three advantages for using the Vulkan API:
- Lowers CPU overhead
- Explicit control: command buffer submission management
- Various was of optimization: uniform buffer management
For additional details on improving the gaming experience, check out the our sponsored sessions summary blog.
Achieving console quality graphics on mobile
Arm has been talking about achieving console quality graphics on mobile for years, so this has been a long-term goal for us. We do see mobile as the form factor where gaming will be fully mass-market, worldwide. Newzoo's gaming report predicts that the gaming market revenue will rise by 20 billion by 2020, with mobile leading this year on year growth. All you need is to hit a minimal viable level of graphics and have a big enough screen and gaming will become a pleasurable experience for the user. We already spoke about optimization, but are there actual examples of recent games on console that can be ported to mobile? The answer is yes! Fast Travel Games is a VR games development studio located in Sweden. They have just launched Apex Construct, one of the most hotly anticipated VR titles of the year and which has been received with great reviews. One of our featured demos at the event explained the unbridled rise in mobile gaming and the effect that will have in the future shift in content consumption habits, quality and expectations.
More and more, demands are being placed to close the gap between console and mobile for both visual fidelity and experiences. For mobile VR especially, developers are faced with the challenge of creating immersive experiences that rival consoles - on an item that fits in a pocket. Arm and Fast Travel Games explained how they ported part of Apex Construct to mobile VR, implemented inside-out tracking using the phone camera and optimized content to achieve an experience comparable to what consoles can offer without making any concessions on the game’s stunning visuals.
Small changes, big future impact
The race to better content never stops. Graphics optimization is one element of the equation in new media like augmented and mixed reality. Turning yourself into an emoji may seem like a rather juvenile step forward from some of the key players in the mobile space, but the level of engineering effort to integrate graphics, camera, facial recognition and lighting is by no means small. The overall goal for these companies isn’t to create an army of augmented reality emoji people to take over the world. It’s to push the boundaries of what a mobile phone can do and create new media forms for consumers and professionals.
With game engines from Unity and Epic, and Google and Apple’s AR platforms, soon, everyone’s mobile phone will be the primary AR tool. Building a visually stunning experience requires a deep understanding of the different technologies underpinning it and Arm’s job is to provide tools, techniques and best practices to help developers do just that!