Cloud gaming


Cloud gaming, sometimes called gaming on demand or gaming-as-a-service, is a type of online gaming that runs games on remote servers and streams them directly to a user’s device, or more colloquially, playing a game remotely from a cloud.

Background

Cloud gaming platforms operate in a similar manner to remote desktops and video on demand services; games are stored and executed remotely on a provider's dedicated hardware, and streamed as video to a player's device via client software. The client software handles the player's inputs, which are sent back to the server and executed in-game. Some cloud gaming services are based on access to a virtualized Windows environment, allowing users to download and install service clients and games as they normally would on a local computer.
This approach provides several advantages, including making the game accessible on-demand without the need to download and install it locally, and on a wider range of devices due to lower hardware requirements over running the game locally. Some services may offer additional features to take advantage of this model, including the ability for a viewer to join a player's session and temporarily take control of the game.

Infrastructure

Cloud gaming requires significant infrastructure for the services to work as intended, including datacenters and server farms for running the games, and high-bandwidth internet connections with low latency for delivering the streams to users. The network infrastructure required to make cloud gaming feasible was, for many years, not available in most geographic areas, or unavailable to consumer markets. Due to their dependency on high-quality streaming video, the ability to use a service regularly may also be limited by data caps enforced by some internet service providers.
A major factor in the quality of a cloud gaming service is latency, as the amount of delay between the user's inputs and when they take effect can affect gameplay — especially in fast-paced games dependent on precise inputs.
The provider's dedicated hardware can be upgraded over time in order to support higher resolutions and frame rates for the rendering and streams.

History

In 2000, G-cluster demonstrated cloud gaming technology at E3. The original offering was cloud gaming service over Wi-Fi to handheld devices. Video game developer Crytek began the research on a cloud gaming system in 2005 for Crysis, but halted development in 2007 to wait until the infrastructure and cable Internet providers were able to complete the task.
OnLive was officially launched in March 2010, and its game service began in June with the sale of its OnLive microconsole. On April 2, 2015, OnLive's intellectual property was acquired by Sony Interactive Entertainment, and the service was shut down at the end of the month. Its assets were used as the basis of a cloud gaming service within its PlayStation product family, known as PlayStation Now.
Another cloud gaming startup, Gaikai, launched in 2012; the company focused on using cloud gaming as a form of online advertising for games, where users would be able to access demos of games streamed from its servers, usually via purchased advertising or online retailers. Gaikai was acquired by Sony Interactive Entertainment in 2012.
In 2013, Nvidia introduced GRID, later branded as GeForce Now, as a cloud gaming service as part of its Nvidia Shield Android TV device. The company began expanding the service to computers in 2017, including support for importing a user's Steam library to run on the remote instance.
In 2017, the French startup Blade launched a service known as Shadow, where users are able to rent a remote Windows 10 instance on a datacenter, with allocated access to an Intel Xeon processor and Nvidia Quadro graphics. The service is geographically-limited based on proximity to one of its datacenters; it initially launched in France, but began expanding into the United States in 2019.
In May 2018, Electronic Arts acquired cloud gaming assets and talent from GameFly for an undisclosed amount. EA subsequently announced "Project Atlas", a project to explore the integration of artificial intelligence, machine learning, and Frostbite engine technology to create a "unified" platform to "remotely process and stream blockbuster, multiplayer HD games with the lowest possible latency, and also to unlock even more possibilities for dynamic social and cross-platform play." That month, Google and Microsoft also announced cloud gaming initiatives, with Google beginning to pilot "Project Stream" (including a closed beta featuring Assassin's Creed Odyssey running via a client in the Google Chrome web browser, and Microsoft announced the upcoming Project xCloud, leveraging Microsoft Azure technology.
At the Game Developers Conference in 2019, Google officially announced its cloud gaming service Stadia, which officially launched on November 19 of that year. In May, Sony announced a partnership with Microsoft to co-develop cloud solutions between divisions, including gaming.

Future

GPU resource sharing

A proposed method to improve game streaming's scalability is adaptive graphics processing unit resource scheduling. Most cloud gaming providers are using dedicated GPUs to each person playing a game. This leads to the best performance but can waste resources. With better GPU resource scheduling algorithms, if the game does not fully utilize that GPU it can be used to help run someone else’s game simultaneously. In the past, “GPU virtualization was not used due to the inferior performance of the resource scheduling algorithm”. However new resource management algorithms have been developed that can allow up to 90% of the GPUs original power to be utilized even while being split among many users.

Predictive input

Algorithms could be used to help predict a player's next inputs, which could overcome the impact of latency in cloud gaming applications. Stadia's head of engineering Majd Bakar foresaw the future possibility of using such a concept to " latency to the point where it's basically nonexistent", referring to this concept as "negative latency".