24 comments

[ 4.5 ms ] story [ 49.8 ms ] thread
I learned about this multiplayer segregation recently, and It puzzles me. Is this a business decision? Or do they just not bother tp build their multiplayer protocols to be platform-agnostic?
If I were Valve, I would absolutely require isolating Steam players from the Microsoft Store buyers. The last thing Valve needs is leaking its customer base to Microsoft.
When a game has multiplayer servers, is Valve involved at all?
The steam API allows servers to verify a player owns the game and provides a server list. Actual networking once players are connected isn't part of its scope iirc.
Don't know, but it doesn't really matter. Player segregation would be a clause in a contract between Activision and Valve first and foremost. How it's technically implemented is secondary.
Probably, a big factor could be the anticheat stuff - without the steam client inspecting game state, Microsoft store players could get away with aim bots or other exploits
In the past they've justified segregating console players from the PC Master Race(tm) using better controllers, but Steam vs Windows Store seems pointless.
It's not. One is a 3rd party store that heavily invests into cross-platform support. The other one is a collection of useless gadgets with a crappy UI bolted on top of a generic OS.

If the Windows Store dies (or stays irrelevant for games, forever and ever) than that's a good thing. I agree with your sibling comment: This is good for Valve and as long as Microsoft DOES refund people that use the Windows Store I'd say there's no harm done.

(comment deleted)
And I'd heard rumors of the excuse in the past wrt even cross console play (eg. Xbox vs Playstation) was semi officially security. They didn't want their network running code that didn't go through their cert process, and their mutual NDAs kept them from being able to officially cert the other system's build. That being said I'm sure their were marketing reasons too.
Imagine buying a multiplayer game from Target and being unable to play against people who bought it from Best Buy.
> That’s like buying a game from Target and learning you can’t play with people who bought it from Best Buy.

From TFA.

Huh. I didn't even read it. Amazing they even picked the same stores.
I've developed cross platform services for games. Out of the box, sure, it works for everyone.

But you can easily block and segregate your player base based on system type, or anything else.

Imagine buying an app from Google and being unable to run it on a device from Apple.
> For unknown reasons, Windows 10 Store customers are segregated from customers who bought the game from Steam, which is by far the most popular platform on PC.

> Gamers are used to the separation of console and PC multiplayer communities. But PC players aren’t used to companies gating them off based on where they purchased their game. It’s a ludicrous policy that doesn’t serve anyone’s interest and it’s another black eye for a digital storefront that PC gamers already avoid like the plague.

I think that Steam might actually be to blame here. Steam provide the SteamWorks API [1] which handles all the low level networking 'boilerplate' stuff for you so you don't have to, and that actually adds up to quite a lot of functionality: setting up lobbies, player connecting/disconnecting, player authorisation via Steam IDs, voice chat, sending/recieving packets for PvP play, setting up dedicated servers, NAT punching, matchmaking search with filters and so on. There is also the integration with Steam achievements and the Steam Workshop.

For a developer, the API is a no-brainer to use when targeting Steam as a distribution platform. It is problematic though when you want to distribute elsewhere as games using SteamWorks actually require the Steam client to be running in the background in order to work. So I imagine the Windows Store version of the game must use a completely different networking API under the hood, and therefore is incompatible with the Steam version of the game sadly.

[1] https://partner.steamgames.com/

Steam works on all major platforms (aka Windows, OS X, Linux). Windows Store is a insane and stupid idea to centralize the applications for the most common OS right now.

Even if the reason for 'cannot work together' would be Steam, I'd say that's great. Let the Windows Store die, sooner the better.

But I don't think that I can follow your thoughts here. If you have to rewrite parts of your code for a non-Steam version (fine, makes sense, sounds plausible) then .. I still don't see why that version is unable to talk to the versions on Steam. In the end these games are talking UDP I assume. If you use Steam for a lot of boiler plate code or implement that stuff differently/yourself: The inability of these two "ports" of the game to talk to one another is not a technological problem, I think. It's a problem of policy/politics.

You are right I think, at the end of the day they could just handle the packet sending/receiving themselves to support distribution outside of Steam. But if there is a barrier in the SteamWorks API to prevent that somehow (which is unlikely I guess though my memory of the API is hazy), then Steam would be to blame.

Assuming there isn't a barrier, then really it is Activision's fault for not integrating the network code properly so Steam and non-Steam players can play together. in either case, I fail to see how this is the Windows Store's fault.

> But if there is a barrier in the SteamWorks API

Unlikely. There are Steam games that play cross-platform with PS4/XBONE; Rocket League comes to mind.

I'm sure it's possible to program yourself into a corner in regards to this, but I don't think Steam is forcing you to do so.

> For a developer, the API is a no-brainer to use when targeting Steam as a distribution platform.

I wouldn't exactly blame Steam unless they were forcing you to use their API. I couldn't get to that page. Are they?

No, not in any way that would prevent cross-platform play.

Other titles handle it just fine (Rocket League, for example, allows cross play between Steam, Xbox One, and PS4)

Ten years ago you could just buy a game, install it and join whatever server you'd like regardless of where you bought it. How come things got so complicated?