Currently in any kind of client-server multiplayer game out there you face n+1 game states (n is the number of players) and a lot of the art is in how to reconcile these. The n+1 is due to most games implementing some degree of client autonomy (e.g. in movement), and the reality of network round trips from each client causing everyone to be slightly out of sync. A concrete example of how this affects players is the experience of being shot after narrowly escaping behind cover in an FPS.
Cloud gaming substitutes reconciling these n+1 simulations with some input latency for each player. I think this could produce some qualitatively better experiences for certain games. In particular, Fall Guys is a recent game that I think would play better as a cloud first experience.
The interaction between players in Fall Guys is grabbing other players who are near to you. Due to the network latency many players have the experience of being grabbed by folks nowhere near them. A cloud first version of the game would eliminate this problem that simply can’t be solved otherwise.
If you're interesting in this sort of thing, check out [2] which goes into depth on how to synchronise game simulations in a bunch of different ways.
[1] https://www.gamasutra.com/view/feature/131503/1500_archers_o...
However, a large game like that would need a large budget to back it. Without Stadia being more popular I don't see anyone throwing all their eggs in that basket. Because it could only run on Stadia and nowhere else.
One way to mitigate risk would have been to build for both Luna (Amazon) and Stadia. But neither are very popular, and one is Windows-only while the other is Linux-only. So my risk would actually double, not mitigate since I have to develop for two platforms.
I'm ignoring xCloud since it's just a bunch of Xboxes and no thanks.
For smaller, mid-size/indie studios which are not building a massively multiplayer game, I just don't see the up side of making a Stadia-only game. They wouldn't be trivially portable to other platforms and players have learnt to live with network latencies.
So, unless a Google-owned studio does it, I don't see truly cloud-first multiplayer game happening. Assuming that's what you meant by "cloud first".
OTOH Ubisoft does ship their games on Stadia and I'd be curious to know if the experience in, for example, The Division 2 is any better. Even if the game doesn't scale the number of players in an instance, they should still get some benefit of being on Stadia. It doesn't seem to be a very popular mode in the game's subreddit though.
Of course, most people who play games don't like that - including myself.
> Cloud gaming substitutes reconciling these n+1 simulations with some input latency for each player.
You're just pitching the naive networking model that every developer starts with (because it's trivial) until they realize how horrendous it is to wait 100ms on every single input.
Also, it's not "some input latency", it's the full latency of the entire round trip. From input to server (40ms) and then video to client (40ms) just to see how an action you did 80ms ago panned out.
You've eliminated none of the trade-offs, just exchanged one frustration (dying even though you shot someone before they shot you) with another (watching a delayed video feed of them shooting you while you wait for your input to cross the network).
There's a reason why client simulation is ubiquitous. Btw, lag compensation is really hard and nobody would want to do it if they could get away with the naive networking model.
The raw controller input latency / controller polling rate.
The time it takes for your packet to get to the server.
The number of packets per second you're sending to the serve (e.g. 100pps).
The server processing time per frame.
The server frame rate.
The time it takes for the packet to get back.
The frame rate of the client machine.
Whether Vsync is enabled (more latency).
The time it takes to transfer a frame of rgb data to the monitor.
The monitor frame rate and processing time per frame.
The pixel response time of the pixels on the monitor.
If we're doing cloud gaming. we also need to add latency stages for encoding and decoding video and how long it takes to download each frame of video.
By simulating everything client side you remove a ton of stages in this latency pipeline.
That's such a bad deal I'm surprised that I ever made it.
Aside, I wonder how much the jumbo-sized ATX / tower PC case market has sold consoles by making people think they have to pick between a stupidly big server-sized PC tower vs. a cute little console that fits under the TV. I think the ATX/tower form-factor has played a nontrivial hand in preventing culture of having a small but powerful PC at the center of the home entertainment system.
The small-form factor trend is finally picking up steam (https://old.reddit.com/r/sffpc/) and it amazes me that this isn't yet the standard.
Another issue are thermals. I can find out that my SSD is overheating to 105* in the nice looking ITX case and mitigate that a little (I have to hope now that 82-83* on a working SSD won't kill it too fast). Average user will see this by a blue smoke coming out of the case :)
I wish there was more initiative from big manufacturers in that area.
Just like MS 15 years ago.
I've tried GeForce Now, Stadia, and Shadow. So far GFN is my favorite and Shadow is my least favorite but tbf I'm not in the proper region for Shadow.
Ultimately I believe these services represent the future of gaming, but without net neutrality or alternative ISPs it’s going to be awhile before that future is realized.
I have a super stable 1 Gb/s fiber connection with like 5-7 ms to a close by AWS data center where I ran Parsec on a VM. I got ≈ 400 Mb/s to the VM, with < 10 ms ping over my 5 Ghz wifi. But I could still never get a stable setup. As soon as I went wired everything worked great. I think jitter is a big problem.
With a wired setup I could also move to further away DC's (like 20 ms) without any issue.
I should probably note I was also sitting next to my wifi router, so I’m not sure that a wired connection would’ve made a noticeable difference.
Game streaming is most comparable to live video streaming with a frighteningly small buffer (< 10 ms).
I'm just saying that my guess is that this probably has nothing to do with your ISP or net neutrality, and more with technical limits of wireless connections. But I could of course be wrong... Try it with ethernet and see how it goes, I just have a long cable I temporarily run through the room when I wanna play :-)
(And yeah, I think it's kinda fishy that they don't make it clearer if/that wired connections can make big improvements. Look around the subreddits about these services, or their support pages and you'll see that people recommend ethernet, and the vendors first recommendation when having trouble is to use wired ethernet [0], [1])
[0]: https://support.google.com/stadia/answer/9595943?hl=en&ref_t... [1]: https://nvidia.custhelp.com/app/answers/detail/a_id/4504/
E.g., my RTT to my ISP's gateway, on average, fluctuates between 8-11 ms (currently ~14 according to pfSense) and a ping to google's closest response is usually about the same. I'm sure others have it better, but I am quite impressed, given a little bit of this latency would probably be eliminated by not having a virtualized router as is the case with my setup.
Twitchy MP shooters and twitchy platformers are the 2 subgenres that aren't suited for this arrangement. Most everything else is perfectly fine (under the aforementioned ideal conditions).
I can't wait to see Google dump Stadia.
It's detrimental to consumers.