Tuesday, March 19, 2019

Google preparing to be the latest failure in streaming video games....

On March 19th, 2019, Google gave a GDC Keynote to announce Stadia, their game-streaming platform.

Stadia will turn out to be the industries eighth major attempt at cloud game streaming, the previous seven either having failed or been put on indefinite hold.

Stadia imagines some user that cares enough about gaming that the want something better than low-end GPUs available in inexpensive devices, but doesn't care about video compression artifacts,  the variable latency and reliability of the Internet, and on-going subscription fees. Do these users exist?

Let's look at some trends

While the Stadia presentation talks very generally about gaming, it seems like a console competitor. Mobile gaming is growing like gangbusters on cheap smartphone GPUs, and doesn't seem to need any help from the cloud. Not to mention that streaming games over a cellular connection doesn't seem viable, at least not for very long. PC Gaming is defined by mouse and keyboard control, and Stadia isn't doing that, they have a console controller.

Industry trends say mobile gaming is huge and growing, PC gaming is smaller and growing, and Console gaming has been in decline for a decade, and while 2017 was a comeback for console units shipped, the bulk of that comeback was Nintendo Switch, which is arguably a mobile gaming device.

So Stadia seems positioned to take over the lagging console market, maybe even revitalize it?

Let's talk about Latency

One of the biggest issues for cloud game streaming is Internet latency... Realistic internet round-trip latencies of 30-150ms are a nusiance for client-server games but make game streaming services somewhere between unpleasant and unviable.

Yet Google rambled on for over an hour about Stadia without ever mentioning latency. No round-trip latency goals, no measured results during their test, no strategies for improving it with amazing connectivity. The only mention of latency in the entire presentation was a short reference one user made about Project Stream having "no percieved input lag". Highly scientific and confidence inspiring. Instead Google talked on-and-on about framerates, visual quality, and resolution -- including not only 4k, but 8k!

In the real world, passionate gamers (the one who spend lots of money on gaming software and hardware) have long accepted that better visual quality beyond a point is inferior to better response latency. In the real world, gaming luminaries like John Carmack rant about how the importance of tackling latency, back in 2013 saying "about the only thing that's not going well in displays is latency"... "in our limited bandwidth budget, i'm afraid it's going to come down to doubling resolution, wheras doubling the resolution or doubling the frame-rate, at this point I'd take doubling the frame-rate." He was talking about moving to 120hz here.. and fortunately, in PC gaming, we've gotten what we actually needed, which is G-sync and Freesync, and more and more gamers are playing on 1080p displays at 144hz, with less than 6% of Steam users playing above 1080p according to the Steam Hardware Survey.

With 144hz displays and g-sync, PC gamers are approaching 15-35ms latency between their fingers moving and their eyes perceiving the changes. What kind of latency can we expect from Stadia? Some PC Gamer tests suggest we're looking at 160ms. That's 5 to 10 times worse than PC gaming latency.

As a PC gamer, after watching reviews of Geforce Now, I wouldn't consider a game streaming service unless it had an end-to-end low-latency guarantee where I don't have to pay if the latency doesn't meet an expected target, and an exception to any data-caps with my provider - where they don't count constantly streaming game data. And even then I'm unlikely to be impressed, because I'm used to gaming on 144hz G-Sync with 15-35ms latency. Oh, and I don't use controllers. I only want to play mouse-keyboard. In the end, I don't think PC gamers are the Stadia target market.

Stadia wasn't that far off the console latency though, so maybe Stadia could be an end-run on the console market... The shrinking console market. If it wasn't for latency variability. Any good looking latency test of Stadia is only a best-case result. Anything between you and Google servers could add response latency at any time, including the family member who just booted up Netflix in another room of your house.

And lets talk about Cost

Another thing Google's Stadia announcement ignored is cost.

Fans of Cloud gaming like to point out the gaming rigs, whether a $300 console, or a $2000 PC, cost a good chunk of change, but cloud gaming can let you just click and play on virtually any computing device. While this is true, there *is* a cost to letting you use that GPU in the cloud.

In 2019, we have huge headlines about Fortnite, and how Free-to-play games are becoming massive franchises.. including League of Legends, Waframe, World of Tanks, PUBG Mobile, and EA's APEX Legends. Some might say we're on the eve of a free-to-play gaming revolution, where the most popular, most played, most watched, and most monetized games are all free to play.

Which begs the question, How do Stadia GPUs fit into a free-to-play world? Will Google be subsidizing F2P gaming on Stadia GPUs and taking a backend cut of gaming revenue? Will Google make F2P developers pay Stadia fees, subsidizing their free users in a gamble to unlock their paid user revenue? Or will Google try to make users pay usage fees directly to Stadia, positioned as an alternative to the cost of buying dedicated gaming hardware? All the promise of "play now" in their Stadia launch announcement suggests they won't do the latter, but someone has to pay for these GPUs. Who is it?

Unique solutions to problems

Stadia does has a couple interesting ideas.. In particular their quick and under emphasized launch of a Stadia controller that talks directly to the cloud over wifi -- cutting out latency introduced by sending controller inputs through a local computing device (which I estimate at 10-50ms). And the legitimate and seriously cool benefit that Stadia prevents client-side cheats that plague big free-to-play titles like Fortnite.

However, they also made some serious gaffs. Like claiming that Stadia mutiplayer is going to be better than traditional lagged Internet multiplayer. When client-server games lag by 50-150ms, it creates occasional discontinuities in game events.. If Stadia is lagged by 50-150ms, it will be unplayable. So what are they going to do? Bring a Google/Stadia fiber to every house? Give me a fancy quality-of-service router to make sure other users on my home network don't impact gaming? I don't understand how they are going to magically make IP latency variability go away.

In the end, Google announced their new Stadia gaming platform in a fashion that thematically resembled Apple's big keynotes, but it was sadly missing the most important part.. The traditionally  Jobsian move of staring into the eyes of the beast and telling us how they conquered it.

We want to know how Google solved the latency and cost issues that have plagued cloud gaming thusfar.

-----

If Google was a bit more in touch with the industry, this presentation could have been... "Everyone knows we've been experimenting with game-streaming. What they don't know, is that we realize Internet streaming latency means that game-streaming is the on-ramp for our new gaming platform... Where players can buy, share, and play games on the best hardware and software they can afford, whether that hardware is located in the cloud, or under their desk."

What this presentation was... "We've built the latest and greatest game-streaming platform on the planet. Despite seven other game streaming platforms failing because of latency and cost issues, we're not going to talk about latency and cost. We're just going to stand up here and tell you we're all on the eve of the cloud gaming revolution. Because like Alice trying to make it home from Wonderland, if we say it enough times, maybe that'll make it so."

Good luck Google.

...I'm going back to playing APEX Legends, the latest free-to-play PC battle royale, on my local-computing gaming rig at 1440p 144hz G-sync on a 4ms LCD panel, with incredibly low (sub 50ms?) finger-to-eye response latency.



Tuesday, March 12, 2019

PS4 Pro is a waste of money (aka, why PC Gaming is not dead)

I recently got into playing APEX Legends on the PC, which is a fantastic game... I'm a first-person player, and I didn't like Fortnite's third-person or it's cheezy crafting system, so APEX is a really refreshing battle royale to pull me away from playing PUBG.

Several weeks after the game release, we're seeing more and more "suspiciously good players". Not all of them are cheaters, but seeing as they just banned 350k cheaters, I'm sure some of them are. A friend of mine pointed out that cheaters are much less common on console... which got me curious.

What is the gaming experience on consoles like these days? Are there fewer cheaters? What is the rendering like? I couldn't aim at the broad side of a barn with a console controller, but then I found this XIM APEX device which secretly maps your mouse and keyboard to controller inputs, so your game doesn't even know you're using mouse keyboard (which means they can't stop you either).

So I tossed some money to the wind, and picked up a PS4 Pro and a XIM APEX to find out.

I went the PS4 route, because you can play PS4 F2P online games like APEX Legends and Fortnite without a playstation plus subscription, but on XBone you have to pay Microsoft a monthly fee just to play a free to play game. I hardly ever play consoles, so that seems really dumb, but it's not strictly the cost that bothers me, it's my morale objection to being taken for a ride by the monopoly.

Back to the PS4, what did I learn from all this?

Compared to a gaming PC, a PS4 Pro is a waste of money, and PS4 Pro plus XIM APEX is an even bigger waste of money. 

If you really prefer to game on your living room couch, with a controller, 4 to 8 feet from your big-screen TV, maybe a PS4 slim is worth $300 to you, but if you want to play games that need better gaming horsepower, and you're going to play them 24" from a monitor at a desk, especially with mouse-keyboard, then have some self-respect and get a gaming PC instead.

NOTE: Some people are confused by the claim of 4k gaming on a PS4 Pro. The PS4 Pro never renders above 1080p, and sometimes it renders at even lower resolutions. It puts out 4k by using blurry upscaling techniques, which are aptly termed "faker 4k". I can plug any 1080p signal into a 4k monitor and get "faker 4k" so please just ignore this marketing garbage. Here we're only concerned with pixels actually rendered by the 3d GPU, at 1080p.

GTX 1060 Gaming PC trounces PS4 Pro

I think this simple cost comparison explains it all...

PS4 Pro + XIM APEX + 1 year of Playstation Plus = $645.
GTX 1060 Gaming PC (~30% faster and 10x better than PS4 Pro) = $750.

Of course the PS4 Pro itself only costs $400, so you can get started for cheaper. However, as you try to crawl out of the hole you've put yourself in with that lower initial cost, you will spend more and more and in the end you still won't have something that holds a candle to a gaming PC.

It's hard to find side-by-side performance comparisons of these two setups, because it's a bit of apples-to-oranges. However, here are some numbers:

PS4 Pro - 8GB shared VRAM
GTX1060PC - 8GB system RAM, 6GB VRAM




That GTX 1060 is notably faster than the PS4 Pro, both in GPU and CPU. Plus, the PS4 Pro has 8GB memory total, while the Gaming PC has 8GB of system RAM and 6GB of graphics VRAM.

What is XIM APEX?



What XIM APEX does is operate as a "man in the middle" for USB connected console controllers, pretending to be your controller in a way that the console doesn't know is happening. My limited experience with it so far is that it works pretty well, but I did have some weird issues not registering simultaneous key-presses on my USB connected keyboard. I'm not yet sure if it's an issue with XIM, the keyboard itself, or what the console will accept. I'm going to do some testing.

The Good:

The XIM APEX smartphone configuration UI, especially in advanced mode, is very powerful. It lets you map mouse/keyboard to controller actions, and you can make several different mode pages per game. These can either be operated by the in-game keybinds, or custom toggle/hold mode keys. For example, when I hold my in-game (ping) key to bring up the APEX Legends ping spin-menu, my XIM APEX config automatically switches to a different mode, which has a custom mouse-response curve, to make operating the spin menu feel "natural" on the mouse, as well as bind the mouse buttons to operate menu confirm/cancel. It's pretty amazing that this just works seamlessly, whenever I hold my ping key.

Their advanced configuration UI is much more confusing than it could be, and means they can't ship "default" configs which use all these fancy features. For example, when I have a game-button related config, such as making the mouse work differently when I hold the ping hotkey, XIM doesn't know the two are connected. One is a button mapping, the other is just a custom mode page.. If XIM knew that the custom mode page was related to the button mapping, then it could ship with that custom page already setup in the default config, and whatever I changed the button mapping to would automatically activate that mode page.  This isn't a huge deal, it just makes the out-of-the-box experience more complicated than it could be.

The bad:

The big problem is, why are we using XIM APEX to begin with? Using mouse and keyboard requires a desk, which begs to ask, why are you not just putting this money into a PC gaming setup instead?

$400 for a PS4 Pro, $125 for a XIM APEX, and unless you're only playing F2P games like Fortnite and APEX Legends, you get to pay $120 a year in idiotic console online multiplayer fees on top of that... and for what? To get super-pixelated 1080p on a device that can't run a real web browser, can't run PC games, can't alt-tab during the game, and where the translated mouse feels like a sluggish mess compared to the PC version.

The PS4 Pro GPU is said to be a bit slower than a GTX 1060, with a CPU that is underpowered compared to a PC eqivalent. Two minutes of searching turned up a $750 GTX 1060 gaming PC at best buy, and I bet with a bit more searching I could do better. This PC will have at least 30% better gaming performance, have none of the weird XIM APEX mouse-to-controller translation issues, and be massively more usable than a console.

So who is this consumer that wants XIM APEX?

A kid who's going to borrow the family console into their bedroom and try to "get more serious" with mouse keyboard? A streamer being paid to promote console titles and wants every advantage? Someone who really wants to play console exclusive titles, but refuses to pick up a controller?