Wednesday, May 11, 2016

Nvidia Shield - A Different Take On Android Gaming Consoles

Nvidia surprised many industry observers with the launch of the Shield Android gaming console at the Game Developers Conference in San Francisco, but describing it as a mere Android console might not be the right thing to do.
Shield is a powerful piece of hardware, with Nvidia’s custom 64-bit Denver CPU cores and 256 GPU cores, based on the company’s latest Maxwell infrastructure. While Nvidia describes the Tegra X1 System-on-Chip (SoC) as a “mobile superchip with the soul of a console,” it still can’t go up against the latest consoles from Sony and Microsoft. However, the Tegra X1 is roughly on a par with previous generation PlayStation and Xbox hardware.
Nvidia Shield and Android gaming
So, will this give Android game developers more headroom to develop better looking games and bring them to the living room in 4K/UHD resolutions? Yes, that is one possibility, but Shield is not about bringing expensive AAA titles to Android.
In fact, Nvidia’s first few Shield products were all about streaming PC games onto Android devices. They can be viewed as test beds at this point, with streaming capabilities as a differentiator in the oversaturated Android hardware market.

Android Gaming Consoles Dead On Arrival

First we need to take a look at the history of Android’s gaming console successes and failures, then examine the cost of developing Android games that could benefit from more powerful hardware. Nvidia Shield could end up boosting, or killing, some aspects of Android game development, and chances are it will do both.
Speaking of kickstarting, a few years ago a group of entrepreneurs launched a Kickstarter project to create the OUYA Android gaming console, which was, coincidentally, based on Nvidia hardware. A lot of people like the idea of a $99 Android console, investments poured in, but the end result was a flop. Last year Forbesproclaimed the OUYA dead – the console never had a big enough user base, so developers didn’t bother with it. There was no money to be made.
Nvidia Shield gaming tablet costs twice as much ($199 MSRP), but as an Nvidia product, it should be more appealing to Android developers. So this should help, right?
Wrong.
Very few Android developers focus on graphically intensive titles. They require a lot more resources, they don’t look as good as proper console or PC games, they’re not great for touch input, and, with a lot of eye candy, they can drain a smartphone or tablet battery in no time. The biggest games on Android and, indeed, all mobile platforms, are casual games, not so-called “AAA” titles. Rovio and King did not make a fortune developing elaborate games with photorealistic graphics, they focused on casual games that could be played on practically any smartphone. These games didn’t put much strain on the SoC and the battery, so you could kill some time without killing your mobile phone.
Throttling is another problem. Mobile phones and tablets don’t dissipate heat well, so while they can deliver great performance on paper, if they’re forced to run under a load for extended periods of time, the SoC will throttle back and operate on lower clocks to stay within its thermal envelope, thus degrading performance.
Android gaming and throttling
Android gaming consoles and set-top boxes don’t suffer from these shortcomings since they don’t rely on battery power and can be designed to dissipate a lot more heat due to their bigger form.
However, that does not mean Android developers will flock to create games for them; the user base is so small that developers could not make their money back since developing good-looking shooters and action games requires more resources than creating casual games like Flappy Bird. On the other hand, recent research indicates that more than 200 Android games are published each day. Most of these titles never gain any significant traction, as the market is overcrowded. With that in mind, trying to move into Android TV or Android consoles could make sense for some developers.

So What’s Nvidia’s Endgame?

Nvidia is fully aware of this problem, as are other hardware makers. That is why we don’t have a lot of Android gaming consoles and why most big brands have steered clear of them. The business model does not make much sense, either. Sony and Microsoft don’t make a lot of money on hardware, in fact at launch they tend to sell new consoles below cost, since they control the ecosystem and make money on games rather than consoles. This obviously does not, and cannot, apply to Android.
However, Nvidia thinks it has cracked this problem. Why bother developing AAA games for Android when you can use PC titles instead? Why render the content locally on the device if you can stream it? Why try to make money on hardware if you can make it on services? It may sounds like a bit of a moon-shot, but Nvidia is confident that it will work and likens GRID Game Streaming to Netflix for games.
What does this mean for Nvidia Shield’s gaming tablet, Android developers and consumers?
Nvidia Shield could allow the company to mimic Sony’s and Microsoft’s approach, by making money on games rather than hardware, but with a twist: by offering Gaming as a Service (GaaS).
Let’s see how this approach helps the company:
  • Ecosystem — Nvidia would be able to control the ecosystem by supporting select games, creating a walled garden.
  • Hardware — The games would be rendered solely on Nvidia GRID servers, so the company could eventually become its own biggest hardware customer.
  • Longevity — As long as the consumer has hardware capable of streaming GRID content, there will be no need to upgrade it – Nvidia would do it on the server side, using more of its own hardware.
  • Efficiency — Instead of marketing expensive graphics cards, Nvidia could sell processing power and utilize installed hardware more efficiently than individual consumers.
  • Piracy — There is no risk of piracy, which should appeal to publishers.
Consumers also stand to benefit from GRID streaming, but there are some drawbacks as well:
  • Convenience — Consumers would no longer have to bother with upgrades, patches, updates and drivers.
  • Value — instead of buying an expensive gaming PC and upgrading it on a regular basis, consumers would be able to pay as they go.
  • Choice — Lack of choice might be a problem, as Nvidia will only stream select titles, so consumers interested in niche games and genres probably would not be catered to, at least, not initially.
  • Geography — GRID services would not be available globally, and servers need to be in close proximity to the client in order to keep latency down.
As for Android developers, Nvidia Shield is a mixed bag to say the least. There are some potential benefits, but it’s not all good news:
  • Power — If the concept takes off, Android developers would finally have some more powerful hardware to play with, on a bigger install base.
  • TV — Shield is all about bringing Android to the living room in 4K, so developers could also create applications specifically designed for this purpose (just in time for next generation smart TVs).
  • Exposure — Focusing on console and TV could give developers more exposure than the oversaturated mobile Android segment.
  • AAA — If successful, Nvidia’s initiative could make high-budget Android games even less viable, and they’re already not profitable for most publishers.
  • Enterprise — Nvidia has already partnered with VMware, so in the long run Android could be employed for enterprise as well, but this is a hypothetical scenario and would take some time to become viable.
Like what you're reading?
Get the latest updates first.
No spam. Just great engineering and design posts.

How Nvidia Shield Works

I won’t waste much time explaining the finer points of Nvidia’s GRID technology, but in case you are not familiar with the concept, a brief summary should come in handy. If you are interested in the finer point of GRID and GRID SDKs, Nvidia’s official documentation is extensive and available online.
A GRID server essentially operates like a remote vGPU, or a virtual gaming machine. The client side provides the input via graphic commands, which are then handled by the host interface and rendered on low-latency hardware. The frame buffer is then encoded on a low latency hardware decoder and sent back to the client in the form of a compressed video stream.
The original spec called for H.264 video, but the latest iteration of Nvidia’s SoCs, the Tegra X1, supports 4K H.265 (HEVC) at 60fps. This means the stream can be stutter-free and allow fluent framerates.
What about latency?
This is, perhaps, the biggest problem facing Nvidia GRID, and cloud gaming in general. Streaming video from the cloud is one thing, but rendering original audio and video content, based on user input, is something else. High latencies are not something gamers can live with; online multiplayer gaming has been around for years and Nvidia put a lot of time and effort into resolving the problem.
How Nvidia Shield Works
Nvidia estimates server-side latency at 30ms, network latency at 30ms and client-side latency at less than 16ms. The client decode API is designed for low latency of about 1 frame. Nvidia’s plan is to deploy dedicated GRID servers in telecom data centres and “flood the map” with servers to cut down latency. The company also designed partner middleware solutions on Amazon Web Services (AWS).
Nvidia has done a lot to create an infrastructure, but it may be a while before all corners of the globe gain access to low-latency GRID services.

Where Does Nvidia Shield Leave Android Developers?

Nvidia’s gaming tablet approach offers a few opportunities, and downsides, for Android developers. Big developers focused on creating the Android equivalent of big-budget AAA games could face more competitive pressure from Nvidia GRID, which can offer vastly superior quality at a premium.
However, small or independent developers focused on casual games and other apps have nothing to worry about. To the contrary, Nvidia is opening another door, in this case the door to the living room and big high-def screens. Coupled with H.265 and VP9 capabilities, Shield offers a range of opportunities, but ultimately it is up to developers to create a new generation of killer apps for 4K TVs, be it on Shield or Android TV.
Nvidia GRID
Coincidentally, Taiwan-based chipmaker, MediaTek, will provide SoCs for the first generation of Android TVs, and the first chip was announced at CES 2015, just like the Tegra X1. MediaTek’s MT5595 SoC is based on 32-bit Cortex-A17 and Cortex-A7 cores, but its GPU can still handle HEVC and VP9 and 60fps, just like the Tegra X1. Android TV is a different topic, and I do not wish to discuss it in depth, but there is clearly a lot of overlap as far as developers are concerned.
Developing Android applications for big 4K/UHD displays is the next big thing, while Android Wear is, literally, the next small thing.
While it may sound like another challenge and another hardware platform to master, don’t forget to consider the benefits of developing apps designed specifically for the living room, for Android TV and devices like Nvidia’s Shield:
  • Fewer software and hardware platforms to take into account.
  • More powerful hardware available.
  • Power efficiency is a non-issue.
  • You only have to deal with one aspect ratio.
  • Apps will be designed to run in just two resolutions (UHD and FHD).
  • UI layout will be more or less standardised.
  • User experience should be nearly identical across a number of different products.

Alternative Applications

So far, I have talked about Nvidia’s foray into the living room, but what about other potential applications? With so much processing power available on demand via GRID, surely there has to be a way to use it for something other than games?
This is a tricky one and I can only speculate, but a few things are already clear. Gaming is just one aspect of Nvidia’s parallel computing efforts – enterprise virtualisation is another, although it does not have much to do with Android, or the living room.
Devices like Nvidia Shield, or upcoming Android TV sets, could serve as a hub for many other devices, expanding the abilities of our smartphones to double as smart remote controls, transforming cheap tablets with fast wireless into “second screens”, offering new ways to distribute and consume content.
Shield stands out by virtue of its streaming capabilities and impressive processing power, including powerful and programmable CUDA cores that can be put to use for things other than graphics. Nvidia has already demonstrated that even its mobile GPUs, used in the latest Tegra chips, can be utilized to create 3D maps of surroundings, do rudimentary motion tracking and more. This means that in the future, Android devices could offer Kinect-like capabilities, seamlessly integrated with other Android devices. How about interactive fitness routines in the living room, backed by motion tracking and fitness wearables? Or games designed solely for big screen TVs, smart home control hubs, or new Virtual Reality (VR) capabilities?
VR and Augmented Reality (AR) might also benefit from such devices, and especially from Nvidia’s GRID technology. Google is also said to be working on Android VR, which will join Android Wear, Android TV and Android Auto in the future, but details are still sketchy. (I discussed the potential applications of streaming on VR and AR headsets in a previous post.) In the meantime, a number of companies have announced new or updated VR products and technologies, and all this happened in a matter of weeks at the Mobile World Congress in Barcelona and the Game Developers Conference in San Francisco. Valve, Samsung, and AMD are just some of the big names worth mentioning.
But if Nvidia Shield could use streaming on home consoles, either via GRID or locally, why not use it on mobile devices as well? It sounds like a match made in heaven, with most of the computing being done in the cloud, offloading mobile devices for other tasks and improving battery life in the process.
Unfortunately this is not practical at this point. Few people would need access to such processing power on their mobile devices, which are already good enough for casual gaming, and even for some titles with truly staggering graphics. Bandwidth and latency would be another problem, as 4G/LTE is still not widely available across the world and in some scenarios it would not be fast enough. In addition, modern integrated modems are relatively complex; they often take up more room on the SoC than the GPU, or all CPU cores combined. Besides, running the modem at full blast, and crunching all the numbers to decode and display high resolution content, is not good from an efficiency perspective and would inevitably take a big toll on battery life.
In theory, it would be possible to use the same approach for some enterprise applications built around the same infrastructure, or for niche devices that could be used in some industries; but all this is a long way off, and such proprietary technologies should not concern the average Android developer, anyway.
So what should Android developers interested in Nvidia Shield gaming tablets, streaming, and Android TV, focus on? It is hard to say at this point, but the potential market for a new generation living room apps is huge and should not be overlooked. Who knows, maybe our posts will motivate some of our readers to look into this emerging market and come up with the next killer app, in which case I just want you to know one thing: a bottle of Blue Label would be nice.

The original article is from Toptal. Find more gaming resources here.

No comments:

Post a Comment