Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A First Look at Google Stadia (Part 1)

DZone 's Guide to

A First Look at Google Stadia (Part 1)

Stadia certainly sounds like the future of gaming. But can it live up to the hype? Read on to get the info and let us know what you think!

· Web Dev Zone ·
Free Resource

For over 30 years, the Game Developers Conference (GDC) has been a mainstay of the technologist's calendar and GDC 2019 did not disappoint. Google stole the show with the announcement of its much-anticipated gaming service: Stadia. While Google did provide many ambitious details about the new streaming service, there are some pieces of information, such as price and implementation specifics, that are making a few of the major voices in the gaming community hesitant.

In this two-part article, we will cover the details that we currently know about Google Stadia, including information from the Stadia keynote address at GDC 2019, the Digital Foundry hands-on look, and various interviews Google conducted with gaming news outlets immediately following its Tuesday GDC presentation. The first part of this article will focus on the vision and concept behind Stadia, as well as the specifications that we currently know about the service. The second part of this article will continue with the features of Stadia, the Stadia controller, and the author's personal opinion of the viability and future direction of the service.

The Vision

The ambition of Google's vision for Stadia is rooted in the fundamental components of gaming, whether it is a ball game millennia ago or the most advanced video games of today: players, watchers, and developers. These three aspects of gaming have been essential since the earliest sporting events and have become even more pertinent as the barriers to playing, watching, and developing a game have all but vanished with the dawn of the internet.

These fundamentals, paired with the platforms supported by Google, have created near-perfect conditions for the creation of a complete gaming experience. Google already supports live streaming of games through YouTube, but there is inherent friction for the viewers. A user may be watching someone play a game, but they themselves cannot join in the fun. Even if they purchased the game, it would require that the viewer download and install the game before participating in the fun. The goal of Google's Stadia is to remove this friction and allow anyone, anywhere to start playing a game in seconds: no installation, no downloads, no third-party software. Just immediately playing a game.

This vision is made possible by integrating YouTube and Stadia, with YouTube providing the platform for watchers to experience a game through live streaming and Stadia providing the platform for players to take part in a game and developers to create new games. According to Phil Harrison (Vice President at Google):

[Stadia is] focused on gamers, inspired by developers, and amplified by YouTube creators.

While this vision is sound and taps into the fundamentals of gaming, it still has a practical barrier: getting developers involved. One of the major issues in modern gaming is the restriction on the imagination of developers due to hardware limitations. If a developer wants to create an open-world game with intricate details and multiple players, this fantasy may not be realizable on modern hardware. In turn, creators tend to reduce the scope of their work and temper their imagination to meet the realistic constraints of the game platforms currently available.

Google is looking to change that. To better support game developers, Google studied what was most important for developers and concluded that Stadia needed three components to unleash the full potential of developers:

  1. Create: Unleash creativity without limits.
  2. Scale: Get to the widest possible scale.
  3. Connect: Make it easier for people to connect with games.

These three points are the core of Stadia, and each of the many features consistently reflects this vision. In addition to these tenants, Google also stressed that gaming should be available to everyone. In the words of CEO Sundar Pichai:

When we say everyone, we mean everyone. It's one of our most cheerished values as a company. Be it Android, or Chrome, or AI, we are dead serious about making technology accessible for everyone. 

Although this vision is ambitious, Google is one of the few companies capable of realizing the dream of creating an all-encompassing platform for players, watchers, and creators, all while ensuring that this platform is genuinely accessible to everyone.

The Concept

The core of Stadia is cloud-computing. In much the same way that cloud-computing establishes an environment in which programmers can create applications without limits—programmers see a nearly unlimited pool of resources to work with, regardless of the physical topology or orchestration behind the scenes—Stadia utilizes the Google Data Center to create a cloud-based gaming experience. This approach means that instead of purchasing a game—either physically or digitally—installing the game, and then having the game available natively on a system, the game is instead executed on a compute node (or set of compute nodes) and streamed to the player's device.

Streaming

Although video streaming (such as Netflix or Hulu) is nothing new, game streaming is a different beast entirely. Generally, video streaming data is unidirectional, with the stream provider (i.e., Netflix) providing video data to a client device. In game streaming, data is bidirectional, with inputs flowing from the player and the provider streaming audiovisual (AV) data that results from these inputs. This causal relationship between player input and AV data means that AV data cannot be precomputed or pre-compressed. Instead, the provider must compute AV data in real-time after receiving the input from a player.

Theoretically, given a fast enough connection between the player and Stadia network and swift enough computing in the Stadia network, input from a player can be sent to the Stadia network and used to compute AV changes to the game without any issue. The generated AV data reflects these changes, which are then sent from the Stadia network back to the player's device:

Google Stadia

In the interconnected gaming world of today, with a large portion of the most popular games being Massive Multiplayer Online (MMO) games (such as Fortnite or Apex: Legends), this has many advantages. Currently, gamers purchase an individual game console and this console connects to either a server or other consoles and data flows through the internet to create an interconnected network of consoles. For example, in a multiplayer scenario, one player may move his character, and this data is either sent to a server or directly to other players to reflect his or her change in position on the other player's console:

Google Stadia

Stadia completely changes this topology, drawing in the console portion of the scheme into a single, localized network. This means that one console—called a Stadia instance—can communicate with another instance without sending data over the public internet. Instead, each Stadia instance communicates with other instances directly within the same network:

Google Stadia

In games that require it, the client and server portions of a game are co-located within the same network. This means that the client has direct access to the server. According to Google, this can lead to multiplayer games growing from a hundred players—as it typical with battle-royale MMOs—to tens of thousands of concurrent players. In Harrison's words (quoted from Euro Gamer):

In our platform, the client and the server are inside the same architecture and so whereas historically you'd be talking about milliseconds of ping times between client and server, in our architecture you're talking about microseconds in some cases and so that allows us to scale up in a very dramatic way the numbers of players that can be combined in a single instance and obviously the go-to example would be battle royale going from hundreds of players to thousands of players or even tens of thousands of players. Whether that's actually fun or not is a different debate but technologically that is just a headline-grabbing number that you can imagine.

This co-location brings about four main advantages over traditional gaming topologies:

  1. Predictable and low latency: Since data is flowing between instances in the same network, latency is significantly smaller and can be statistically predicted.
  2. Reliable connectivity: co-locating the instances means that it is extremely unlikely that the connection between instances will be severed.
  3. Data security: Traffic only passes through the private Google network rather than the public internet and is therefore secure (assuming that the network is not breached); this means a theoretical quashing of hacking, cheating, and piracy.
  4. Scalability: The cloud capability of the Stadia instances can allow more or fewer resources to be allocated to support a single game instance or a set of players playing the same game.

Although these advantages serve as a breakthrough for many developers, there is still one fundamental disadvantage to this scheme: the connection from the player to the Stadia network. Even in a single-player game, a player must have a continuous internet connection to the Stadia network to allow for the game to be streamed to his or her device. What's more, this connection must be sufficiently fast enough to stream the game at an acceptable quality. In practice, this can be a serious issue, as many internet connections are far from ideal.

The Stadia concept lends itself well to the MMO-style games of late, but these are not the only types of successful games currently on the market. Many of the most popular games, including Red Dead Redemption 2 (23 million sold at writing), Spider-Man (over 9 million sold in first 4 months), The Legend of Zelda: Breath of the Wild (11.7 million sold at writing), and Super Mario Odyssey (13.8 million sold at writing) are primarily single-player games. While multiplayer games have ascended to the throne in modern gaming, single-player games are by no means relics of the past. Unless Stadia can properly manage the latency between the player and Google Data Center, native consoles will still maintain a foothold, especially in singleplayer gaming.

Accessibility

To facilitate its accessibility to everyone, Google has ensured that Stadia is genuinely cross-platform. According to Harrison, developers will be able to create a single codebase that is playable on:

  1. Desktops
  2. Laptops
  3. TVs
  4. Tablets
  5. Phones

This cross-compatibility is made possible by the streaming nature of Stadia. Instead of downloading code and executing it natively on a device, as is done with consoles, Stadia streams the game to any device that can accept the stream and provide player input (image from Stadia keynote).

Google Stadia

Conceptually, this is a massive leap toward the future of gaming. No longer is a game developer required to create and support multiple versions of a single game on different consoles. Instead, a developer can now create a single game and gamers and play it on a wide variety of devices. To take this concept from dream to reality, Stadia requires extraordinary networking and hardware.

The Implementation

In 2018, Google launched its Project Stream beta test, in which players could stream Assassin's Creed: Oddessey to any Chrome browser. While expectations were low, the results were impressive: Google was able to stream a visually-intensive game to a web-browser and still maintain a resolution of 1080p and 60 frames per second (fps). There were some image-quality issues reported, but overall, the test was surprisingly successful. While Google has discontinued Project Stream, it was a not-so-well-kept-secret that something much bigger was going to rise from the foundation established by the beta test.

Visuals

Stadia is that successor and Google promises to bring much more than was available for Project Stream. Specifically, Majd Bakar (Vice President at Google) claimed at the keynote that Stadia would be able to stream games in 4k at 60 fps with High-Dynamic-Range (HDR) rendering and surround sound. While this is an astounding promise for a streaming service, Bakar further claimed that Stadia is already looking ahead and will be able to stream games at 8k resolution and 120+ fps in the future.

Additionally, Stadia can simultaneously stream to YouTube at the highest possible resolution, even if the player does not see that resolution him or herself, as confirmed by Digital Foundry. For example, if the connection between the player and Stadia is weak and can only support 1080p, the game-play footage can still be streamed to YouTube at a 4k resolution. The player can choose to privately archive this simultaneous YouTube stream or share the stream with friends or the entire world.

GDC 2019

While the AV quality promised by Stadia is astounding, there are some trade-offs. High image resolution does not necessarily translate to high image quality. As seen in the Digital Foundry demonstration of Stadia, there is a clear difference in the image quality seen between Stadia and Xbox One X running the same scene in Assassin's Creed: Oddessey (the reduction in detail can be seen more clearly in the original Digital Foundry video):

Stadia vs. Xbox One X

There are two things to keep in mind, though. First, the Stadia stream provided to Digital Foundry only streamed at 1080p at 30 fps (as was the case with Project Stream) and will improve to 4k at 60 fps when Stadia officially launches. Second, this test ran on a Google network connection on a Google Pixelbook, so this stream is likely under ideal conditions. It is unlikely that Google would have allowed Digital Foundry to perform such a test without providing Digital Foundry with the best possible scenario.

Stadia's stream had less latency than Project Stream (7.5% lower), but still had 11ms more latency than the Xbox One X (13.5% higher). Again, these numbers are not final and will hopefully improve by launch, but it is necessary to bear in mind that streaming a 4k or even 8k image does not necessarily mean that the quality of the image or the latency will be on par with native systems that can generate images of the same resolution.

Network

To sustain such an ambitious visual stream, Google will leverage its Data Center network. According to Bakar, this network consists of over 7,500 edge nodes connected by Google Fiber. Additionally, Pichai claims that Google servers are in 19 regions and over 200 countries throughout the world, which bodes well for connection locality when playing games in areas outside North America. While Google did not provide specifics about its network, Bakar claims that Google has been testing this streaming technology privately for years and it is safe to assume—at least for the moment—that the massive Google network will not be the bottleneck in the Stadia ecosystem.

Nodes

The heart of the Stadia network is the Stadia node. This node has a lot riding on it: it must accept inputs from players over the internet, generate AV data based on a particular game and the received inputs, and send this AV data back to the player. What's more, it must do this in a tight enough window to allow for 4k resolution at 60 fps—and 8k at 120 fps in the future (image from Stadia keynote).

Google Stadia

Euro Gamer was able to obtain the Stadia node specifications from Google and interviewed both Harrison and Bakar about these specifications. It is important to note that these specifications are the first generation of Stadia, and from what Google appears to be saying, the hardware of Stadia will evolve as the technology matures. According to Euro Gamer, each node has the following hardware specifications (all specification data obtained from Euro Gamer):  

  • Central Processing Unit (CPU): Custom CPU clocked at 2.7 GHz, although Google has not disclosed the vendor. Google did confirm that the CPU is server-class but declined to say how many physical cores or threads would be available for use by developers.
  • Graphics Processing Unit (GPU): Custom GPU provided by AMD with 10.7 teraflops (TF) of computing power and 56 compute units. This frequency and unit-count results in a clock speed of around 1495 MHz. Google also confirmed that while the GPU can be virtualized, the entire 10.7 TF is dedicated to a single player instance, but failed to state whether the GPU uses AMD's Vega or Navi architecture. Euro Gamer speculates that it may be using Vega, as this GPU closely matches the specifications of the consumer Radeon RX Vega 56.
  • Memory: 16 GB of High Bandwidth Memory (HBM) 2 shared between the CPU and GPU, although the CPU and GPU are not integration on a single chip. HBM2 has a bandwidth of 484 GB/s, which leads Euro Gamer to further believe the GPU is related to the Radeon RX Vega 56, as the Vega 56 has the same HBM2 throughput with a 2048-bit interface at 800 MHz.
  • Storage: Petabytes of Solid State Disk (SSD) storage. Google did not specify precisely how much storage will be available to each developer. It is known, however, that the storage speeds experienced in cloud networks, such as Google's Data Centers, are much quicker than the storage available on many home consoles.

GPU

The GPU performance (10.7 TF) is of particular interest, as Google claims it is more powerful than the PlayStation (PS) 4 Pro and Xbox One X combined. On its face, this is true, but it does not tell the entire story. Google is comparing its newest GPU technology to consoles launched in November of 2016 and November of 2017, respectively. When Sony and Microsoft release their specifications for their latest generation of consoles, the gap between Stadia and these consoles will likely collapse. Being that AMD is also supplying the GPUs for the PS4 Pro and Xbox One, we would expect to see performance numbers much closer to Stadia and architectures more in line with the Stadia GPU (image from Stadia keynote).

Google Stadia

Secondly, it is important to stress that raw computing power does not necessarily result in better image quality. In the case of the PS4 Pro and Xbox One X, images are generated by the GPU and directly displayed on an output device, such as a TV. For Stadia, the images generated by the GPU must be compressed and sent across a network to the player's device. Although the image generated at the source (i.e., Stadia node) may be of a higher quality, the end-results seen by the user may not reflect that quality. In essence, more GPU computing power may be required to make up for the loss in quality experienced through compression and transmission.

Stadia GPUs do have an advantage over traditional console GPUs, though: they are scalable. While a PS4 Pro or Xbox One X is limited by the resources contained within the physical console, Stadia GPUs can be bridged and execute in parallel. As demonstrated in the Stadia keynote, the leap from a single GPU to a pair of GPUs running the same scene is quite noticeable:

Stadia

In the final analysis, the quality of the image seen by the player on his or her device is what matters. As it stands, we do not have enough information to determine how multi-GPU games and increased GPU compute power will translate to positive player experiences, but Google and AMD have put some serious computing power behind Stadia and—strictly from a technical standpoint—the specifications are impressive.

Storage

The current generations of consoles—specifically the PS4 and Xbox One—store games on Blue-Ray discs, which have slow read speeds. Even when games are installed locally on the console or purchased and downloaded digitally, the hard drive is a traditional spinning Hard Disk Drive (HDD). Using an HDD means that reading and writing to storage is a relatively slow task: HDDs require that data be read from a spinning disk while SSDs simply read in the same manner as memory. Moreover, the storage controllers in a cloud network are also much faster than those in self-contained systems, such as home consoles.

Even on systems that have non-HDD storage, such as the Nintendo Switch, cartridge storage is expensive and only comes in small quantities. Having petabytes worth of storage means that game developers can quickly read and write to storage without having to worry about painstaking tasks, such as intricate compression to fit on a small Secure Digital (SD) card or spending large sums on higher-capacity SD cards.

The differences between the storage architecture in a home console and the cloud are not theoretical and are clearly perceptible by a player. Digital Foundry put this to the test with Stadia and the Xbox One X, loading the same scene on both systems. The Stadia version loaded the scene in 6.6 seconds while the Xbox One X loaded the same scene in 24.4 seconds (2.7 times longer—image from Digital Foundry).

Stadia vs. Xbox One X

Storage is one area where cloud computing can significantly trump home consoles, especially loading large pieces of data, such as the beginning of a chapter or loading large swaths of a world. While the jury is still out on GPU performance, Stadia is a definite winner in terms of storage performance.

Developer Tools

In order for Stadia to gain traction in the gaming world, it must attract developers. The most obvious way to do so, apart from the benefits described above, is to ensure that transitioning from current projects to Stadia projects is as painless as possible. Compounding this, porting existing games to Stadia must be as innocuous as possible. To facilitate this transition, Stadia supports the following:

  1. Well-known, open-source frameworks: Stadia uses Debian, a Linux distribution, which is widely understood by many programmers. Stadia also uses Vulkan, a graphics and compute Application Programming Interface (API), customized by Google for cloud-native gaming.
  2. Most popular game engines and tools: Stadia supports both Unreal and Unity, two of the most popular game development engines and supports third-party tools such as Havok, RenderDoc, Visual Studio, LLVM, AMD Radeon GPU Profiler, IncrediBuild, Umbra 3, FaceFX and Intelligent Music Systems. Google also claims that is it continually adding new development tools.

Google also provides a custom Software Development Kit (SDK) that includes APIs for performing everyday tasks, such as saving games, coordinating multiplayer responsibilities, and suspending and resuming games. While Google has not disclosed the full extent of its development tools, except for game for registered Stadia developers, Google has provided a Stadia Developer's website where creators can apply as a developer and start building Stadia games. Note that selection is limited and the application process is relatively involved (Google warns developers: Please keep in mind that we will be rolling out development kits to a select number of developers in Summer 2019 and beyond).

Player Requirements

We do not currently know much about what Stadia requires of a player, except an internet connection and a compatible device. One of the most obvious questions with any game streaming service is: what is the required minimum connection speed to the streaming provider? In an interview with Harrison, Kotaku asked the Google executive what were the minimum speeds for Stadia. Harrison stated that, understandably, the minimum speed varies by the level of service provided:

  • 1080p at 60 fps: 25 megabits per second (Mb/s)
  • 4k at 60 fps: 30 Mb/s

The 1080p number is based on results seen in the Project Stream beta test. Although 4k images (4096x2160) are much larger than 1080p images (1920x1080), significant improvements in streaming and compression have allowed Stadia to stream 4k with only an extra 5 Mb/s (compared to streaming 1080p in Project Stream). Harrison claimed that the actual connection speed required would likely be less, and stated:

We use less than that, but that’s where we put our recommended limit...

We do not know if the connection speed will affect the image quality (i.e., less compression and higher quality for higher connection speeds); nor do we know the average throughput required to play a game over time. Apart from connection speed, we do not know of any other service requirements, except that playing Stadia on a TV will require Chromecast, as stated by Harrison. Harrison elaborated and said that to reach the Chromecast, a player must use the Stadia controller (discussed in detail in the next article). However, players are free to use any USB-compatible controllers on PC.

Continue Reading

See A First Look at Google Stadia (Part 2) for a continuation of this article.

Topics:
gaming ,web dev ,game dev ,google stadia ,gdc 2019

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}