Thursday, March 21, 2019

Stadia is Not "THE" Future of Gaming

Thoughts on Google Stadia From a Game Loving Cloud Compute Guy

As I slogged through the marketing grandstanding of Google’s Stadia GDC live stream, I grumbled and cursed many a times while making my tender lamb stew. I love gaming and I love cloud computing, so why should Stadia- an “innovative” new service capable of running and streaming GPU intensive games from Google’s cloud servers directly onto any device of my choice cause me such consternation? We have grand declarations periodically that “X is the future of gaming” with X being VR, mobile, on-line multiplayer, and most recently and pitifully ray tracing. No one took Jensen Huang too seriously and ray tracing is definitely not the holy grail of gaming. VR is still struggling and single player most definitely wasn’t killed off by on-line shooters.

If there is one thing that the brief and glorious history of video gaming taught us is that gaming is endlessly diverging not converging. Stadia has to compete ferociously for it’s life to coexist in a rich heterogeneous ecosystem that includes consoles, PCs, modding, on-line shooters, all those grindy MMOs, grindy mobile games, VR/AR games, other competing streaming services, retro games, emulated games and more. The vast swathes of humankind’s gaming catalog will never be running on Stadia servers. Streaming is not going to drive locally running games to extinction just as chromebook did not kill the PC which instead highlighted limitations of network only applications.

As a VR/RPG/modding gaming enthusiast who has spent significant time wrangling on Google’s Cloud Platform GCP as well as on Amazon’s AWS and lastly on Azure, I thought I should put more meat on my instinctual skepticism about Stadia and pure cloud based streaming models in general. While I agree with the usual howls of network latency killing gameplay from first hand experience, Stadia has many more challenges to overcome in generating enough of worthwhile content given the hurdles of porting. Also against common agreement, I also don’t believe it’s a complete given that Google has the cloud part in the bag as there are challenges to implement cloud gaming efficiently in managing beefy GPU hardware capacity that is less scalable in 4K unless gamers play predominantly in lower resolutions. How can Google make the pricing attractive and profitable for a potentially laggy and subpar gaming experience that isn’t geared towards serious gamers?

When Google staked a very public claim in streaming with the GDC announcement, I’m sure Microsoft/Sony/Nvidia/Valve people must have had a gut check- irritation and fear in different measures but gladdened Google only bloviated with grand statements backed up only with a lackluster demo. The Stadia demo of Assassin’s Creed soaring above the landscape was cleverly picked which hides any lagginess instead of a first person shooter demo. Moving the game between devices was old hat for those that have already seen Blade’s Shadow demos a year ago. For those not in the know, Shadow is a cloud streaming service that provides a cloud instance with a dedicated GPU running Microsoft Windows- a glorified remote desktop of sorts that you can move around in different devices. I’m sure all the Shadow engineers blanched the most at the web giant’s power move. I have to confess my initial hate on streaming stems from my negative experience last year with Shadow-mainly due to my subpar laggy internet service.

Let’s say for the sake of argument that latency is not an issue. Any gaming platform’s strength is in massive adoption. What will make the masses with fast internet and ready cash flock to Stadia? The driving forces for adoption have historically been gaming content/experience and cost and I don’t see it working out in Google’s favor in either front.

Discomforting Loss of Gamer Control in a Streaming Model

Even before talking about content or cost, streaming represents a disturbing trade of convenience over control. Many gamers on YouTube and reddit loathe and fear streaming as a way corporations grab control. Google aims to control how you play and when you play and serious gamers are right to be weary of the dark sides to this trade. This streaming service may appeal to uninvested casual gamers who want a way to pass the time, but for serious gamers that tend to spend hundreds of hours in single player games, giving up such control is terrifying as the game is more than a game but a player’s private world especially if it’s been modded.

“Netflix of Games” is a readily consumable analogy but trivializes the gap between streaming static content and a video game while disrespecting the dynamic interactive complexity of gaming as a fundamentally different medium. Phil Harrison, head of Stadia, touts the film/music analogy as a way to wave off those weary of giving up ownership but note the biggest blaring difference- the significant majority of films/music have been fully digitized and are largely available in subscription services or for an extra fee. Most games that require hefty GPU horsepower are too complex to automatically convert and 99.99% of the existing work will certainly NOT be converted to this Google platform. From what little Stadia unveiled, it excludes too much and provides too little currently to become a major force in gaming.

Stadia Pricing Based on Existing Cloud Pricing
Current cloud costs of an instance with hefty GPUs are expensive. Since Google filled out an hour without any mention of the pricing model and have kept coyly mum in interviews, we only have our guesses on how they might monetize the key costs- hardware (CPU/GPU/Disk) vs game title. In looking at existing cloud pricing models, obvious possibilities include metered usage and/or a subscription service with neither precluding the other along with game licensing and micro transaction costs.

Projecting Stadia Pricing Based on Existing Cloud Pricing

Current cloud costs of an instance with hefty GPUs are expensive. Since Google filled out an hour without any mention of the pricing model and have kept coyly mum in interviews, we only have our guesses on how they might monetize the key costs- hardware (CPU/GPU/Disk) vs game title.  In looking at existing cloud pricing models, obvious possibilities include metered usage and/or a subscription service with neither precluding the other along with game licensing and micro transaction costs.

These beefy specs don't come cheap. Also no mention of disk...
Standard cloud services generally provide metered billing(per second) for the underlying compute resources with either additional metered cost for software license such as Microsoft Windows or allow the user to bring their own licenses. Looking at existing GCP cloud pricing for a single GPU, the closest spec to Stadia would be the NVidia Tesla P100 with 16GB HBM currently at $1.46 per hour not counting storage costs. This cost is expensive even by cloud standards since high end GPUs are expensive though Google would have squeezed a much better deal out of AMD providing the GPUs. Even $1 an hour would be much too steep for a casual gamer and underlying costs are probably too expensive to provide a free to play model. Shadow currently has a subscription model for $34.95/month which I think is too much of an outlay for the casual gamer but most likely a profit loss if the gamer plays too much. Metered usage opens more wallets than a monthly subscription. Any giant creating this type of gaming platform has to be ready to lose billions for years on end and you have to wonder how long Google is willing to persevere with full commitment given their history of starving projects and unceremoniously ditching failures. Gaming is not a part of the Google DNA. If I had to bet, I would bet more on xCloud succeeding than Stadia. You have to give credit to Microsoft's continued perseverance to gaming despite stumbles- the first Xbox was 17 years ago- 2001.

How would Google manage hardware capacity and demand efficiently?  Unlike other general use cloud platform where vendors have more wiggle room in slightly over-provisioning to accommodate more users, gaming is a demanding process Since the Vega 56 has 10.7 TFLOPS similar to a GTX1080ti, even with gpu virtualization, 4K gaming can eat a lot of the single GPU so they have to hope for more users wanting lower resolution gaming.  Stadia's predominant usage is driven by a live human clicking behind an instance which has to be of close geographical proximity to the user to reduce latency at concentrated peak hours.  You can't move users to a different region without risking worsening latency. If launching Stadia is as easy and casual as clicking a button on youtube to play a game, how well can Google predict peak demand and grow the data center.  It takes time to add new machines- in the meanwhile users lose confidence being locked out when paying for a premium service. Google will have to carefully limit users to prevent a stampede, but what will they do with spare capacity if the masses don't come?

What will Google do with the spare capacity in off hours(working/sleeping)? Run their own machine learning algorithms for world domination? By gods, is Stadia one of Google's evil plan to have more machine learning capacity.  They will probably run ML processes that crunch your gaming habits to see what ads to serve you.  Even if Stadia loses money, Google still would have scraped a lot of data they couldn't get any other way. Google could also sell off Stadia's spare capacity for AI processing just as Google's cloud service sells spare capacity with preemptible instances which get used for short-lived batch processing?

Input response time is not the only performance concern.  Startup and load even locally can take 10+ seconds to a minute depending on game content and disk media.  On Google's cloud,  I can vouch for how fast base Linux instances can be spun up (5-10 seconds) but launching game executable from scratch requiring gigabytes to be read may take significantly longer on the cloud than locally depending on implementation. Verily Google could have pre-warmed instances for the most popular games to speed startup but most GPU heavy titles dynamically load gigabytes of texture maps and worlds depending on gamer location. An important takeaway for those that have not used a cloud service, one pays through the nose for faster disk access on the cloud which is always slower than local versions of the same type.

 The bane of my big data cloud existence was expensive limited slow storage even in SSD across all vendors though GCP was better than Azure for persistent disk.  Disk access is capped by throughput and number of IOPS or reads and writes per second based on disk size.  In GCP, you would need 1TB to get 500MB/sec at a hurtful $170/month and with dozens of servers- storage costs were a constant bugbear we had to manage.  Granted for Stadia, Google would segregate stateful game data and avoid long term storage for an instance of the base game to bring down storage costs but  how would they manage disk performance running predominantly IO hungry games.    The reason cloud vendors can get away with shared SSDs is that not every tenant on a server is banging on the disk with equal ferocity.  But modern triple AAA game can easily be 50GB-100GB with gigabytes of texture maps and worlds being loaded dynamically but perhaps Google is banking on the fact disk usage spikes are intermittent.

Compelling Gaming Content and Experience

In the varied ways a games can hook users, the best examples of the genre strive to be genuinely engaging and worthy of your time (Witcher 3, Kingdom Come Delivernace, too many titles to list!!!). But the rise of mobile gaming unleashed a rapacious insidious trend of employing psychological manipulations such as intermittent rewards to bleed drops of money out of you. To the detriment of the gaming genre, it’s easier and more lucrative to create Candy Crush than labor 7 years for Read Dead Redemption II. Mobile games can adopt a free to play model to lure casual players but clearly the Stadia hardware is much too expensive to allow users free entry even if the game license is free. Stadia would have to go down partially the harder route of compelling content. Stadia has started their own studio but can they hit one out of the park? Creating a hit game is not something you can just throw money at. Ask Microsoft. And Amazon.

Only recently I understood the reason 91+ million Sony PS4s blot this earth. I had been a PC gamer most of my life and had no desire to downgrade my 4K GTX 1080ti gaming experience with a measly console. But Red Dead Redemption II only available on console made me finally capitulate and shell out $500 for a PS4 Pro with fake 4k which I grudgingly bought over an XBox One X which had superior hardware. All the console games I wanted to play(God of War, Spiderman, Horizon Zero Dawn, Persona 5) were Sony exclusives- a winning trend Sony is not going to give up. Although the hardware by the sound of the fans struggled mightily on my PS4 Pro, I was utterly shocked at the superior graphics of RDRII pushed out with a mere 4.2 teraflops, only a third of my GTX 1080ti. The breathtaking scenery Rockstar created by black magic exceeded cinema. I don’t think I’ll be consigning this PS4 Pro to the dustbin any time soon as such a rich library still awaits to be played. Existing consoles are such a formidable competitor to streaming, even Sony have to compete with themselves to convert their own existing user base to new services. Stadia would have to provide something better and different.

Double Rainbow of Red Dead

Google only announced Doom Eternal, Tomb Raider, and a handful of other titles as a confirmed launch title besides Assassin’s Creed Odyssey- a roster not strong enough to open the wallets of the masses. Doom historically has had low specs that you can play on an aging potato PC. Since Doom is not an exclusive deal, unless Stadia has an attractive value proposition where it’s significantly cheaper to try than buy, I’m not sure all the Youtube integration and next gen features would be enough. Splitting distribution this way risks cannibalizing publisher profits, it’s a huge gamble on Bethesda’s part that more people that would not have bought a copy will play. I could see that it’s good for the gamer if Stadia becomes an easy/cheap way to try games before you buy. Given the current trend of buggy first releases of AAA titles, publishers will probably try to circumvent any disadvantage. If Fallout 76/Anthem had debuted on Stadia in their wildly buggy states without an upfront license, undoubtedly publishers would have lost revenue.

There is a steep cost to the game developer to bring a game to Stadia who are already too stretched. Beyond the major obvious difference of creating an executable that runs on Linux with Vulkan, running games efficiently on Stadia is more than a matter of running the same game executable you can run locally vs in their data center. Even if Unity and Unreal Engine will “support” Stadia deployment, it’s probably nominal alpha(buggy) support initially but the bulk of GPU heavy games are built on custom engines.

On the positive side, I’m thrilled with Google’s choice of Linux/Vulkan. Even if Stadia becomes one more tombstone in the cluttered Google graveyard, Linux gaming got an unimaginable boost. The current list of Vulkan supported Linux games is … well I rolled through that stunted list multiple times in the last few years without being enticed once. The second positive silver lining- Google spends some of their search engine billions on furthering gaming. Google being exceedingly late to a crowded field is predictably is looking to disrupt the gaming industry with a completely different cloud streaming paradigm integrated with a broadcasting platform. Shouldn’t we welcome innovation and competition which in the end is good for the end gamer? Or will this be wasted divided effort on developers that release on Stadia and other platforms. If Doom sucks, the web trolls will come out and blame time wasted on Stadia.

But a greater harm to gaming would be that if streaming as the predominant model would impact the type of games that get made. Mobile platforms already generate enough insidious free to play microtransaction laden Skinner boxes, but at least their attempts are obvious. If Google and publishers have complete control and knowledge of all your gaming inputs along with all Google has already stored about you, they could with greater subtlety inject their attempts at squeezing cash out of you in and out of game.

Final Thoughts on the Future of Gaming

I am heartily convinced console, PC and many other forms gaming won’t be supplanted by streaming any time soon if ever. Inadequate internet infrastructure and data caps are not the only obvious drag on streaming adoption. Even with 5G and fiber, network latency is a factor that won’t go away for VR where latency=nausea and in competitive games where latency=loser. How can a single new untested platform dominate the future of gaming when the massive existing and growing catalog of fantastic superior games are available elsewhere? Just as evil people routinely predict the demise of single player games, it is a hot steaming pile of cloud conceit that streaming is “THE” future of gaming. History has favored divergence and not convergence and what kind of poor diminished world would we gamers live in if we were reduced to streaming as our play mechanism.