So… Google Stadia. For those who didn’t see the…
So… Google Stadia. For those who didn’t see the announcement at GDC yesterday, Google is entering the gaming sphere with their new service titled “Stadia”. The core idea here is to have top notch gaming hardware set up in the cloud to play games. When you choose a game to play, they will stream the audio and video of that game to your computer at home, eliminating the need for expensive gaming hardware because they’ve got it taken care of. They claim they can run at 60 frames per second with 4K resolution. You can basically play a game on any device and hot swap in real time, since the hardware stays where it is and they’re just redirecting the video to your device. Thus, you could pause the game on your PC at home, pick up your phone or tablet, and unpause it from there.
I have a bunch of thoughts about this.
First off, the idea of streaming game video to players over the internet is not a new one. There was a cloud-based gaming platform that also announced itself at GDC 2009 called OnLive that wanted to do a very similar thing. You’d rent or buy games on their platform and be able to play them without expensive game hardware. They went under in 2012, tried to revive themselves, went under again and eventually sold all of their assets to Sony in 2015.
Second, there’s a very real problem with streamed live gaming – latency. It takes a non-trivial amount of time for data to travel from a data center to your computer. Good internet connections can get you a latency of under 50 milliseconds You usually don’t notice the issues when you’re streaming video like Netflix because you know exactly what’s coming next so you can preemptively download that coming data and keep it around in case you run into a patch where you’re dropping packets or the connection slows down or something. You can’t pre-buffer like that for game content, because a player could press a button at any time and expect to see Cassandra start to spear some dude on screen immediately.
The latency is a big deal for game input and how they feel. Not all games require instantaneous responses – turn based games like X-COM and Civ are probably fine with a bit of latency. But for games that require reflexes, there will be some noticeable lag. Imagine you have a rock-solid internet connection that consistently gives you 40ms ping time. At 60fps, that’s at least 2.5 frames of lag in whatever you do in addition to any input lag incurred from the hardware and game itself. With a more reasonable 100ms ping time like most people using conventional broadband have, we’re looking at 6-7 additional frames of input lag.
This all assumes, of course, that the player’s internet connection will never drop anything ever. That actually happens all the time. Computers send data to each other in the form of packets – discrete chunks of data that are reassembled on the receiving end to form something coherent. Due outside factors like the route the packets take over the internet from origin to destination, they can arrive out of order or even not at all. The further the data have to travel, the greater the chance that some of it will be delayed or lost along the way. This means that the service’s performance depends entirely on how many data centers (and where) Google builds to serve the players. Another huge part of this is just internet service providers in general, who may or may not have the infrastructure to handle this kind of bandwidth at scale. Rural players have basically no chance to get this to work at all.
It isn’t all doom and gloom, of course. Doing this in the cloud means that developers won’t be constrained by many technical limitations anymore. We wouldn’t need to worry about, for example, filling up a hard drive with super high res textures any more. We could have a game that utilizes the cloud’s effectively unlimited disk space and memory. Performance concerns are significantly reduced when you can have effectively unlimited hardware resources. Need a terabyte of RAM to run the game? No problem. Need 200 terabytes of disk space for one game? Also no problem. Want to ray trace everything? Go ahead. Players no longer need to worry about minimum system specs. It does, of course, require developers to build games specifically for the platform with these new specs in mind, but this would definitely change how things work. This could also potentially solve many of the performance issues that affect virtual reality. You wouldn’t need a super beefy computer or console to handle the calculations anymore, you’d just need a beefy internet connection to stream video to your headset or screen.
Overall, I think there’s some serious technical hurdles that Google needs to solve, problems a lot of very smart people have tried solving in the past. We can hope that maybe this time around the tech has improved to the point where it can work. Google does have a ridiculous amount of resources to throw at this if they want. However, there’s also some enormous potential benefits to developers targeting a real cloud computing platform. If Google can get mainstream adoption of the tech and secure developers who build games that can really leverage the platform’s strengths (effectively unlimited technical specs), it really could revolutionize the games that we play.
The FANTa Project is currently on hiatus while I am
crunching at work too busy.
Got a burning question you want answered?
- Short questions: Ask a Game Dev on Twitter
- Long questions: Ask a Game Dev on Tumblr
- Frequent Questions: The FAQ
So… Google Stadia. For those who didn’t see the…