This paper analyzes Google Stadia cloud games from product functions, technical implementation, infrastructure and other aspects.

1 Basic information about Google Stadia

state

  • Released at GDC 2019- March

  • It will be launched in November 2019 in 14 countries: THE United States, Canada, The United Kingdom, France, Germany, Italy, Spain, the Netherlands, Belgium, Ireland, Denmark, Sweden, Norway and Finland

The price

  • Stadia Pro is $9.9/ month, the game must be purchased separately (some of the games are free), the resolution can be 4K@60FPS

  • Stadia Base is free, the game must be purchased separately (no free game) at 1080P@60FPS

Peripherals and access mode

  • Stadia Controller controls, headphones can be plugged in, with microphone, vibration feedback

  • Multi-terminal access: Mobile phone: Stadia App(Android, iOS), PC: Chrome browser, TV: Chromecast

Network Access Conditions

  • Resolution 720P@60FPS, bandwidth requirements of 10Mbps; Maximum 4K@60FPS, bandwidth required 35Mbps; The picture quality can be smoothly improved with the increase of network speed

  • Speed services (projectstream.google.com/speedtest), provided by the partner MLab service

Features in progress

  • Google Assistant

  • Stream Connect(2020.7 grayscale)

  • State Share

  • Crowd Play (2020.7 Gray scale)

Staida brings a new model to the game industry

  • Playing games is more fun: play, Staida shares to YouTube, Staida evokes YouTube game guides or tips, and enters the game from YouTube

  • Distribution channels are wider: hyperlink distribution, no Store binding

  • Game creation is easier: Provide game creation AIDS

The Stadia controller has two unique buttons at the top: one for Google Smart Assistant and one for screen capture. They appear as clear white ICONS on a smooth black surface. The Capture button is used to share with YouTube as easily and frictionless as possible, while assistants are included there to help game players find guides or tips on YouTube without leaving their game session.

Stadia business objectives

Stadia’s business goals are two-fold:

  • Start with cloud games, try to make games, become a game company
  • For YouTube drainage, the cloud game traffic into YouTube

The first goal is the long-term goal, which is more uncertain. The second goal is a short-term one, which can be clearly inferred from current product design at Stadia, as well as the announcement of Justin Uberti’s departure from the Google Duo project to become lead engineer at Google Stadia.

Google Stadia Stack

Google Stadia technology stack, support stock game cloud, native cloud game development two scenarios.

  • Stock game cloud: Stadia SDK and game cloud tools.

  • Native cloud game development: Project Chimera, GameBus, etc.

4 Stadia SDK: Game integration SDK to achieve Stadia game specific functions

Stadia SDK implements Stadia game features: Click to Play, Crowd Play, Crowd Choice, State Share, Assistant. Because I did not apply to pass the Stadia developer, I failed to get the SDK package.

Stadia SDK: Click to Play

Stadia Streamer streams games based on WebRTC and can play cloud games on browser-enabled devices.

Click to Play: While watching a YouTube video, you can Play the game through a button

Click to Play: Share your game with a link to a social network (Twitter, Reddit, etc.) that others can Click on and Play

Stadia SDK: Crowd Play

Crowd Play (similar to interactive live broadcast) Gameplay: When watching the game, the audience can join the game as the anchor’s teammate or opponent.

Principle of Crowd Play: The host opens Crowd Play, and the audience clicks the button to join the game. The game acquires new players through Stadia SDK.

Crowd Play integration method: Enable or disable Crowd Play in the game pack through a tag.

The game supports Crowd Play and needs to support Multi Player mode first, and use Stadia SDK to get Player joining and leaving events from Stadia

Stadia SDK: Crowd Choice

How to use: The audience can vote to influence the content of the game, including choosing the weapons used by the anchor, choosing NPCS (non-player characters) in the game, etc.

Four voting types:

  • Multi Choice alternative

  • Tug of War Select one of the two tug-of-war options

  • Crowd Boost an option

  • Chat customizable conversation content with 20+ options

Crowd Choice game integration approach

Stadia SDK: State Share

How to use it: Players find the game shared by players on YouTube and can continue to play it in the same state as when it was shared.

How it works: Players upload videos to YouTube with status metadata, or use Stadia to live stream games; Viewers find the video and enter the game; The game reads the video metadata and enters a specified state (such as a level).

Game Integration Approach

Stadia SDK: Assistant

How to use it: Press the Assistant button on the gamepad and ask a question (how to defeat the Boss?). “Assistant will search for an instructional video

How Assistant works: Games tag video streams with tags corresponding to game scenes reported via the Stadia SDK

Assistant Game integration approach

Stadia Streamer: Built on top of WebRTC

WebRTC architecture status

WebRTC architecture in Stadia scenario

Change point of WebRTC in Stadia scenario (external interfaces are not changed)

  1. Audio and video collection from the camera, microphone into GPU, sound card
  2. Codec uses VP9 encoding
  3. Increase Rate Adaptation to coordinate coding and transmission
  4. Supports C/S mode
  5. The transport protocol is replaced with QUIC

Why did Google choose WebRTC

  • The game is free of installation and can be played through Chrome, supporting the goal of cross-terminal promotion of cloud games
  • WebRTC positioning is ultra low – delay (half-second) real-time audio and video streaming transmission protocol
  • We will strengthen WebRTC ecosystem

Why WebRTC Over QUIC

  • Simplified WebRTC protocol stack
  • QUIC advantages: zero RTT chain building, improved congestion control, multiplexing, connection migration, forward redundancy error correction

Stadia GameBus: A native cloud game engine

GameBus has two functions: distributed game engine; Stadia multi-instance cascade for massively multiplayer online games.

GameBus is a game engine based on a distributed architecture. The advantage of distributed architecture is that it can be easily scaled horizontally, such as enhanced physical system computing power, and more interesting NPC characters using powerful AI computing power in the cloud.

GameBus cascades multiple Stadia instances to achieve massively multiplayer online games.

Stadia Playability Toolkit: Cloud game testing and tuning tool set

Stadia offers a range of tools for cloud-based games

  • Chrome Test Client(Network Simulator, Frame Capture)
  • Stream Profile API
  • Media Stream API
  • Stream Capabilities API
  • Frame Token API
  • Video Diff
  • Smoothness View

Google Stadia network bandwidth requirements and stream latency

Network bandwidth requirements for playing Stadia Cloud games

720P@60FPS 10Mbps bandwidth, 1080P@60FPS 20Mbps bandwidth, 4K resolution requires 35Mbps bandwidth. If the bandwidth is not up to speed, there may be stuck-ups or screenshots (Stadia does a lot of work on encoding and transmission adaptation to ensure fluency).

Delay data evaluated by a third party

When playing games through Stadia, the streaming delay is between 40 and 90ms on average compared to local games.

The data source

  • Stadia PC keyboard and mouse input
  • Stadia TV corresponds to gamepad input
  • The second game has a particularly high latency on TV. I’m not sure why, but the latency is high, but it doesn’t lag.

The data source

Stadia Streaming technology stack

Google Stadia through the global backbone network to access nearby, customized cloud game host, optimize the codec, optimize the transmission protocol, to achieve the goal of game picture quality 4K@60FPS, operation response delay 150ms.

Codec and transmission protocol

  • VP9 encoding format: higher compression ratio
  • Custom AMD GPU, 4K@60FPS encoding (later support 8K@120FPS)
  • WebRTC Over QUIC: low delay transmission protocol, BBR congestion control
  • Coding and transmission coordination: real-time adjustment of coding parameters (bit rate, resolution, frame rate, etc.) according to network quality to ensure smooth game experience

Game consoles

  • CPU: X86 processor, 2.7GHz; Mem: 16G; GPU: AMD V340 16GB;
  • Graphics API: Vulkan
  • Linux Operating system

Global deployment

  • Edge POP point access nearby
  • It is uncertain whether the Stadia server will eventually be deployed to Edge POP

Reference

1

Stadia Experience: This thing is not finished

Google Stadia: Integrated with YouTube to harvest “mass” traffic at a low hardware threshold

Google Stadia is the future of YouTube, not gaming

Google’s new Stadia Games Studio is headed by the former Head of Santa Monica Studios

Google Stadia reviews: Cloud gaming isn’t a dream, but Google will put you off

2

How YouTube Paved the Way for Google’s Stadia Cloud Gaming Service

3

Project-Chimera-Googles-Next-Big-Thing

4

Low Latency Video Streaming

how-the-youtube-era-made-cloud-gaming-possible

google-stadia-engineering

Who needs QUIC in WebRTC anyway?

Use QUIC in weBRTC-based real-time streaming system

High Performance Browser Networking WebRTC

webrtc-peer-to-peer-imx6

More cloud best practices best practices