Gaming is a booming industry which is growing rapidly, Sony’s PlayStation, Microsoft’s Xbox and Nintendo’s Wii are the mammoths of this industry who have remained unchallenged for quite a while. Google has recently announced its entry into the gaming world with Stadia, a cloud-based gaming environment that will provide cross-platform gaming experience.
Google Stadia
Google will enable buttons on YouTube in gaming videos for Stadia users to directly play the game on a web browser. The games will run in data centres and the user’s device will be directly connected to these centres. On the user’s screen game’s respective video feed in response to the input from the user’s device will be rendered with which user will be able to play them in real time. The idea of Stadia is pretty amazing but extremely difficult to implement, in this article we will discuss what Google would have done to pull off this web application development.
For running high definition games on web browsers there were a couple of deadlocks that Google had to resolve for providing real-time experience to users. Let’s discuss them one by one and how they resolved it.
Internet Connectivity
Games on Stadia requires fast inputs and responses on the user's end, the biggest problem is how to render small video clips with respect to inputs from UI on the player’s web browser in real time. For this couple of things are required
A load balancer
The load balancer switches the video resolution automatically to provide an uninterrupted video feed to the player.
High-speed internet connection
Only High-speed internet connection can provide an uninterrupted video feed to the player that’s why Google is launching Stadia in developed countries only which have a high-speed data connection in the first phase of this web application.
High-speed communication channel
End users will be playing games on stadia through their Wi-Fi which should have high data transmit and receive rates. Wi-Fi runs on 2.4Ghz and 5Ghz frequencies, Wi-Fi signals on 2.4Ghz have low data transfer rates but has high penetration power to pass through obstacles whereas Wi-Fi signals on 5Ghz have high data transfer rates but low penetration power.
Real-time response
Buttons on Web applications usually use API to send instructions to servers on the backend and fetch the relative response but this usually takes a couple of seconds to the response, therefore, the conventional approach could not be used. For real-time response on end user’s device/ player’s device it is necessary that data centres get the inputs from the player’s device and respond as fast as possible. Following techniques are used to get the real-time response:
Stadia remote controller
The Stadia remote controller will be connected to end user’s device as well as to data centres directly through Wi-Fi and every button pressed on this remote will be directly transmitted to the game running in the data centre. This approach reduces the processing time that was being spent to communicate with the backend.
Vulcan APIs
Vulkan is a low overhead, cross-platform 3D graphics and computing API which targets high-performance real-time 3D graphics applications such as video games and interactive media. Compared to OpenGL and Direct3D 11, and like Direct3D 12 and Metal, Vulkan is intended to offer higher performance and more balanced CPU/GPU usage. Vulkan is a considerably lower level API and offering parallel tasking, it also has the ability to render 2D graphics applications. In addition to its lower CPU usage, Vulkan is also able to better distribute work among multiple CPU cores, therefore, Stadia uses Vulcan APIs for its web application development. Since the instructions are communicated in Low-level language the lag is reduced considerably as the encoding and decoding of instructions from a high-level language to low-level language is eliminated.
Speed upmarket dominance
Google knows alone it cannot develop enough games to beat its peers that are pioneers of the industry. So, it is inviting companies and developers to become stadia developers and use this platform to empower Google to become the crowned king of the gaming industry in upcoming years. Google has even partnered with AMD for developing GPUs specialized for Stadia. Although Stadia worked really well in the beta testing phase there’s a lot more to deal with, the real problems will appear once the games on stadia are publicly available for users.
Google knows that the world will completely move from standalone applications to web applications as it reduces the costs, maintenances and enables us to use bulky applications on low-end devices. Therefore, it recognized the business opportunity in the gaming industry and acted upon it with Stadia. Let’s wait and watch where it leads the gaming industry.