Playing a local co-op title over the Internet - Ideas and Solutions?

RanceJustice

Supreme [H]ardness
Joined
Jun 9, 2003
Messages
6,623
A few recent posts of mine caused me to reflect to a circumstance can act as an impediment to gaming enjoyment: Local Co-Op exclusivity. There are many great games out there offering an enjoyable co-op experience, but unfortunately for those like myself who's most preferred gaming partner isn't currently residing in the same household, don't include online play as an option. From titles like "Lovers in a Dangerous Spacetime" , Overcooked" to the exceptional metroidvania adventure "Guacamelee: Super Turbo Championship Edition", limiting multiplayer mode to "couch/local co-op" means no easy way to enjoy these games with the other player I'd most prefer to do so. Judging by the litany of posts in titles' Steam forums requesting online co-op, I'm far from a rare case.

Thus I was wondering, while we wait until the time that more developers add online co-op options, have any of you found workarounds? I've been looking into ways to allow a player over the Internet to take part in a local co-op title and there seem to be a number of approaches. For instance, there are some "streaming/casting" services that could in theory allow for remote play, but I've heard of difficulty getting the full experience (ie audio, or proper latency) for all players involved. Specific use VLAN/VPNs (Hamachi?) are another way to go about it, but I've heard of issues such as enabling both the hosting player and the remote player to use controllers, not to mention the worry of exposing too much of your system/network. I'd prefer to use open source applications whenever possible, but I'm interested in just about all methodologies.

So what have you found/used and how was the overall experience?
 
I've used Hamachi on and off with no real issues. But, I always run a software firewall on my system and only allow that which is specifically required for the application.
 
The only thing I can think of is to use a VPN to join your networks then use a Steam Link to extend the screen of the active PC. Since the primary system is still up and interactive you would essentially both be able to play couch co-op and would be a vastly better experience than screen sharing.

You would have a 200` ish MS ping minimum due to the technology used but unless you are both on the same ISP and on the same core network hub, you cannot get around this.

EDIT: I have NOT tested this, this is only my opinion of how this might be best accomplished with the tech I know of today!
 
if you have both have nVidia, I think you can use nVidia Share or something to accomplish this.
 
It has been a long time since I've used Hamachi (which seems to have been acquired by LogMeIn and spun as a service), but am I correct that it is only suitable in and of itself for games with "LAN Mode" versus those with "couch play" modes? That is to say, unless Hamachi has been enhanced in a way I'm not aware of it seems to create a VPN that puts a remote client on your local network, but it won't allow full "2 player"access to the same PC?

Shantarr's idea seems a possibility, though the inclusion of such latency might be an issue. Can you think of any way to use this without Steam Link hardware? I am wondering if one of the other screen extending/sharing tech would be helpful. I thought perhaps Steam's built in streaming/family sharing etc.. would be an idea as well (though I've never used iot) to get the same tech without Steam Link hardware, but I've not used those features and it seems that they require using the same Steam login on both PC's etc...so that's more of a problem? The underlying theory is sound though and it seems like there should be a way to make it work.

Looking into Nvidia's Share/ShadowPlay etc.. this actually seems ideal if it works as well as it suggests and would be perfect if both of us were using Nvidia cards, but alas that is not the case. It does make me wonder how Nvidia's put together such a feature and why there couldn't be a GPU and platform/OS agnostic way to replicate it?

Finally, I had stumbled onto a couple of new generation "cloud play PC" sites that I wonder if they may look promising. For instance, www.liquidsky.com and especially www.parsec.tv . LiquidSky seems to be focused most around providing access to a remote "virtual gaming PC" through subscription and streaming things back to you, but Parsec.tv seems to have a potentially noteworthy feature of taking any gaming PC you have, locally or remotely, and setting it up as a server which could also enable co-op play - I also give them credit for having a Linux client. Think I might look into these technologies as well, especially Parsec and see what comes of it.

Thanks for everyone's ideas so far.
 
You would have a 200` ish MS ping minimum due to the technology used but unless you are both on the same ISP and on the same core network hub, you cannot get around this.

I got around 20ms ping when the host was coaxial cable and client was coaxial cable on the same ISP in the same city. When the host was upgraded to fiber but a different ISP ping is now around 11ms.

I was wondering if it being different ISPs would offset the benefits of going to fiber, but I guess fiber latency is still better. Now if the only the place I have the client on would switch back to the ISP offering fiber :)

It has been a long time since I've used Hamachi (which seems to have been acquired by LogMeIn and spun as a service), but am I correct that it is only suitable in and of itself for games with "LAN Mode" versus those with "couch play" modes? That is to say, unless Hamachi has been enhanced in a way I'm not aware of it seems to create a VPN that puts a remote client on your local network, but it won't allow full "2 player"access to the same PC?

Shantarr's idea seems a possibility, though the inclusion of such latency might be an issue. Can you think of any way to use this without Steam Link hardware? I am wondering if one of the other screen extending/sharing tech would be helpful. I thought perhaps Steam's built in streaming/family sharing etc.. would be an idea as well (though I've never used iot) to get the same tech without Steam Link hardware, but I've not used those features and it seems that they require using the same Steam login on both PC's etc...so that's more of a problem? The underlying theory is sound though and it seems like there should be a way to make it work.

You can use Hamachi (or equivalent VPN solution) to make steam link think you're on an internal network to enable remote game streaming over the internet. But from my general research steam link performance is behind that of Nvidia's Gamestream.

Looking into Nvidia's Share/ShadowPlay etc.. this actually seems ideal if it works as well as it suggests and would be perfect if both of us were using Nvidia cards, but alas that is not the case. It does make me wonder how Nvidia's put together such a feature and why there couldn't be a GPU and platform/OS agnostic way to replicate it?

I don't know about Nvidia gameshare specifically but you can remote gamestream to a client without Nvidia hardware, only the host needs Nvidia hardware. Search "Moonlight Gamestreaming," it's a multiplatform third party application that can connect to Nvidia host PCs. I use the chrome app to actually play games from work.

But with both Nvidia Gamestream or Steam Link keep mind you are basically streaming a video feed over to the other party, so this will require suitable bandwidth (including bandwidth usage allowance). Default bitrate for Nvidia is 5mbps for 720p30 to 20mbps for 1080p60.
 
Just start a server and add a password I personally wait for people to kick me out of the game.
I got two check marks out of 5 because they didn't like my Dirty Bomb skills.
 
I'm lucky in that I'm on fiber (Verizon FiOS) that's advertised 300 / 300 (they were supposed to upgrade me to 500 when it became available...this reminds me to check and give them a call) , so I don't anticipate any difficulty on the host end. The person I'm most likely to game with on the opposite coast entirely and is using some sort of cable (unknown bandwidth - probably a mid range package, so that may or may not present an issue.

When you are speaking of "Steam Link" do you mean specifically the "Steam Link" hardware item or more generally Steam's game streaming etc?

Ahh this could be a very good development if only the host requires Nvidia hardware. I'll have to install GeForce Experience to check if both parties need it to Share / Stream in the local co-op way they mention, which I thought was the case. I am aware of Moonlight but I had thought both parties needed Nvidia hardware (GameStream compatible PC) in that case, but it certainly seems worth a try. I remember looking at this awhile ago - I wonder why it only works for Nvidia hardware - it seems to me that AMD could do most of the same encoding when it comes to recent cards from both companies. Likewise It is a little unfortunate that the Java PC client is essentially legacy and they are focusing near exclusively on Chrome (has anyone used it on another Chromium-based browser, or does it require Chrome specifics?). I wonder why it couldn't work on Firefox? Neither myself no the person to whom I'd be streaming use Chrome typically, but for something like this it may seem worth it to bite the bullet. When you play your games from work, how much access does Moonlight grant to your PC? Do have to set up things server side (ie have Steam / Blizz launcher etc... running) in advance to decide what you wish to play? Any idea of Moonlight (or Share etc) could also be used not just for playing games, but also for say.....streaming media such as multiple users watching a movie or whatnot together?

Thanks for the information!
 
Coast to coast will be a challenge latency wise. Even actual online games with net code with lag compensation techniques can't compensate for those distances without being noticed. Fiber would only really cut down the latency from home to node compared to copper connection based internet to lower overhead involved in signal conversion (not a full expert in this area so terminology may not be 100% correct). After that the backbones are already all fiber and distance and routing is your enemy.

Sorry I meant Steam In-home streaming not Steam Link.

Well Nvidia Gamestream itself is free so they can't make money directly off it, only indirectly via promoting their entire ecosystem so you buy into the hardware. Spending the money to support other vendors wouldn't really make any sense from a business standpoint. In terms of client side it was originally to help promote their Shield devices, although third parties like Moonlight now give alternatives as decoding a video stream and sending input is fairly trivial.

On a technical level Nvidia and AMDs (or Intels) encoding support and performance is not identical. The other side from what i understand, this was something revealed by the programmer for MSI Afterburner a few years ago may not be up to date, Nvidia's hardware support is just on the encoder level but also the capture level. The capture side also isn't fully exposed to third parties, and as such anything other than their own applications can't get the same level of performance even if those third party applications leverage the same encoder performance.

The new Moonlight Application for PC is a Chrome App (basically think plugin/extension) which is why it requires the Chrome Web Browser. I don't believe the Java version is supported anymore. They do have other versions of it for other platoforms, eg. Android.

I have Moonlight also setup to access remotedesktop, so I have full access to the PC. Normally speaking you launch specific applications but as far as I know there is no inherent protection to prevent access to the rest of the PC at a user level. You do need to grant permission for initial connection though.

The thing with Nvidia Gamestream though is I haven't ever tested what happens on the host PC with a client connected. So i don't know how it would work for things like Gamesharing or movie sharing or etc. But yes I could stream videos directly as well as I do have access through remote desktop setup also, but there is more efficient alternatives for this.
 
Last edited:
Sounds like you're covered for info for modern things. One thing I thought I'd mention though, is that if you're into old console games, many emulators have net code in them to allow you to play over the internet. So, you could play some old classics together without the need for much other than the specific emulator and ROMs you want.

Otherwise... You need cameras, solenoids, disassembled gamepads, logic boards, and custom drivers!!!! :D

Seems like VR would also be a cool way to do something like this eventually. You could pick a room, virtually sit next to your friend, and play games on the same "TV" in that room.
 
Back
Top