Distribution Online co-op without networking?

MilesThatch

Member
Good day, everyone.

So steam just dropped something interesting and I wanted to talk about the possibilities this could open up. Especially if other distribution platforms follow suit. This could potentially save tons of labor but for now, if this works, this would lock you to steam platform. What do you think? I'm kinda interested in trying it out. Making a game specifically designed to be played using this feature.

 
Last edited:
Are we allowed to talk about SteamWorks stuff in public? There's usually an non disclosure agreement with SteamWorks stuff.
 

GMWolf

aka fel666
Would be good if there was a link to some kind of official release, or at least some kind of text summary so I can read about it, rather than watch a 13 minute video. :)
It's remote play, but with multiple client computers connecting to the same game.

It's cool but with consumer hardware it will be tough to get low latency.
I think it'll work great for slower paced games or perhaps party games.
 

MishMash

Member
Never a huge fan of increases in technology to cut out more efficient engineering solutions. I guess its cool for retro games/older games made before networking was commonplace, but wouldn't ever advocate developers to rely on the existence of such technology. At the end of the day, the principles with how networking "should" work are very much in line with how a system like this works. Secondary players just receive a snapshot of the game state and send over their inputs, while the "main" server just shares state. Using streaming for such a thing is just horrendously overkill and it won't provide as great of an experience, much higher bandwidth requirements and thus a potential for increased latency (I know that there wouldn't necessarily be any higher latency, but the increased network demands can result in it, especially if its going via a third server, rather than pier to pier).
 

GMWolf

aka fel666
Never a huge fan of increases in technology to cut out more efficient engineering solutions. I guess its cool for retro games/older games made before networking was commonplace, but wouldn't ever advocate developers to rely on the existence of such technology. At the end of the day, the principles with how networking "should" work are very much in line with how a system like this works. Secondary players just receive a snapshot of the game state and send over their inputs, while the "main" server just shares state. Using streaming for such a thing is just horrendously overkill and it won't provide as great of an experience, much higher bandwidth requirements and thus a potential for increased latency (I know that there wouldn't necessarily be any higher latency, but the increased network demands can result in it, especially if its going via a third server, rather than pier to pier).
Something that would be cool would be to take snapshots ofthe graphics command and stream that to the other player, then they could render it with a generic app, without having the game.
 

MishMash

Member
Something that would be cool would be to take snapshots of the graphics command and stream that to the other player, then they could render it with a generic app, without having the game.
Funnily enough, Valve are also working on something similar to this :) It's called Fossilize, and is sort of an API tracing/replay library -- not initially targetted at game API streaming, but rather capturing and replaying API calls, initially for the purposes of offline shader compilation. However, could likely be extended to graphics API state streaming. https://github.com/ValveSoftware/Fossilize
 

MilesThatch

Member
Are we allowed to talk about SteamWorks stuff in public? There's usually an non disclosure agreement with SteamWorks stuff.
This isn't really SteamWorks though. This was a public email.

I agree the concept of my proposal here is quite out there. And yeah as @MishMash mentioned. Nothing beats well written netcode. Maybe as a proof of concept we can try making a few tech demons specifically catered for this particular feature, just to test the waters. Considering this tool, according to Valve, can connect multiple clients, each one showing up as a virtual controller on a hosts machine, you actually could make a local multi-player coop experience, so I wonder.

@Desert Dog The email covered is about 3 minutes long, the rest of the video are my opinions on the possibilities and some brief reminiscence of the past of co-op.
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
I do not think this will change much - by their quoted system requirements you can tell that it's a video stream based solution, and we've seen these come and go plenty of times now - Parsec, NVIDIA GameStream Coop, Moonlight, and Rainway are the current surviving contenders.

The issue with these is that they are inherently unfit for versus games, as the host has zero input latency while the client has (round-trip-time + video encoding time + video decoding time) input latency.

I have been trying my hand at a lockstep-based solution for GameMaker specifically, which offers a fair split of latency, but even then your options with lag compensation/client-side prediction are limited, and doing this in an engine-agnostic manner is fairly unrealistic due to the vast variety of ways input polling, file access, and other operations can be implemented.
 
Top