You can sign up to get a daily email of our articles, see the Mailing List page.
We do often include affiliate links to earn us some pennies. See more here.
tagline-image
Sad news for those waiting on it, as Aspyr Media have again delayed cross-platform multiplayer for the Linux version of Civilization VI [Steam].

They posted this on Steam earlier:
QuoteHey everyone, status update on the Summer 2017 Patch for Mac/Linux:

It is with huge regret and sad faces that we, again, have to delay the release of cross-platform multiplayer.

We are moving forward with the launch of the Summer 2017 Update for Mac and Linux, which will offer all of the available content as the Windows update. After thorough investigation, we’ve decided that we cannot hold back the content any longer in lieu of some nasty cross-platform bugs.

We’ve consistently stood behind a quality bar for our products, and it’s a standard that our partners and players have also come to expect. For those of you who were looking forward to cross-platform multiplayer, we urge you to understand that should the feature have come into the live environment, desyncs would have been guaranteed and frequent to the point of an extremely poor experience.

It's a real shame, but I really do appreciate how open they're being about the process. It's better to have a stable and enjoyable experience first. Hopefully they will get it nailed before the year is up, because I imagine there's a bunch of people who have been waiting on this on both Linux & Mac.

The Summer Update was released for Windows on July 27th, so we've been waiting nearly a month for this patch. I imagine the large time difference there was due to them trying to get cross-platform multiplayer working. For a complete list of what's coming in the patch, see here from the original release announcement. Article taken from GamingOnLinux.com.
1 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
19 comments
Page: «2/2
  Go to:

TheSHEEEP Aug 25, 2017
View PC info
  • Supporter Plus
Quoting: MayeulCA bit sad to hear this. Would love to hear the complete technical analysis of what happens here. The function names, actual differences, etc.

Is it floating point related, RNG related, other? Wine doesn't seem to have a problem with this. Wouldn't using some parts of winelib help? (It is LGPL, so definitely linkable against).

My guess is that they went for a full deterministic approach (each player is running the full simulation). You can make sure that all players actually have the same results (yes, even with floats and rng) - but only within the same platform.
So far, so good.
What I don't get is why they don't just add an occasional sync to it all to offset the rare case where there would be differences between the platforms. It's not like the game has a great deal of data to sync. It's not a Supreme Commander or something like that.
Afaik, that's how all others do it that go for determinism.

If this is not what actually happens, then I have no idea. There is no logical reason not have a turn-based game work cross-platform.


Last edited by TheSHEEEP on 25 August 2017 at 7:37 am UTC
ryad Aug 25, 2017
Sad news, as I'm indeed waiting for cross-platform multiplayer since the Linux release. However, the game is one of the best Linux games around and I'm looking forward to the summer update and its balance changes. Also it sounds like Aspyr is working hard to get the multiplayer bugs fixed. Can't wait to be able to play Civ 6 with some (Windows) friends - hopefully some time later this year.

Anyway, thanks Aspyr for your hard work, I really appreciate it!
Ehvis Aug 25, 2017
View PC info
  • Supporter Plus
Quoting: TheSHEEEPWhat I don't get is why they don't just add an occasional sync to it all to offset the rare case where there would be differences between the platforms.

Because the Windows devs have no stake in the matter. It works for them, so no reason to change anything. These things almost never happen with in-house ports or games that have console versions. It's probably also something that can be held on to because digital distribution makes it easy to force players onto the exact same version of the game.
F.Ultra Aug 25, 2017
View PC info
  • Supporter
Quoting: MayeulCI remember a game that lasted me six months, singleplayer on civ V (biggest map, slow time). But not every game is like this.

Usually, playing with your friends as an ally is less boring, as they can see your troops.

This is also a good candidate as a "mail-chess"-like (see freeciv 2's website).

A bit sad to hear this. Would love to hear the complete technical analysis of what happens here. The function names, actual differences, etc.

Is it floating point related, RNG related, other? Wine doesn't seem to have a problem with this. Wouldn't using some parts of winelib help? (It is LGPL, so definitely linkable against).

Wine does not experience this problem, but it will also not fix it. Because the difference in the floating points are due to the compiler (yes different math libraries can also cause this but there is a basic difference on the compiler level) so one fix would of course be to force all windows devs to compile with gcc, but for some strange reason most windows devs prefer the Visual Studio compiler.
MayeulC Aug 25, 2017
Quoting: F.Ultra
Quoting: MayeulCI remember a game that lasted me six months, singleplayer on civ V (biggest map, slow time). But not every game is like this.

Usually, playing with your friends as an ally is less boring, as they can see your troops.

This is also a good candidate as a "mail-chess"-like (see freeciv 2's website).

A bit sad to hear this. Would love to hear the complete technical analysis of what happens here. The function names, actual differences, etc.

Is it floating point related, RNG related, other? Wine doesn't seem to have a problem with this. Wouldn't using some parts of winelib help? (It is LGPL, so definitely linkable against).

Wine does not experience this problem, but it will also not fix it. Because the difference in the floating points are due to the compiler (yes different math libraries can also cause this but there is a basic difference on the compiler level) so one fix would of course be to force all windows devs to compile with gcc, but for some strange reason most windows devs prefer the Visual Studio compiler.

Ooh,that's right :)

Another solution could then be writing a hybrid: separate the game logic/simulation into its own library (or object file), and link it later (might need a DLL loader, but I don't think it's that complicated; and maybe a shim or two if the calling conventions are different).

In any case, I trust Feral to be competent enough to know the right thing to do (and choose whether to spend time on doing it).
F.Ultra Aug 25, 2017
View PC info
  • Supporter
Quoting: MayeulC
Quoting: F.Ultra
Quoting: MayeulCI remember a game that lasted me six months, singleplayer on civ V (biggest map, slow time). But not every game is like this.

Usually, playing with your friends as an ally is less boring, as they can see your troops.

This is also a good candidate as a "mail-chess"-like (see freeciv 2's website).

A bit sad to hear this. Would love to hear the complete technical analysis of what happens here. The function names, actual differences, etc.

Is it floating point related, RNG related, other? Wine doesn't seem to have a problem with this. Wouldn't using some parts of winelib help? (It is LGPL, so definitely linkable against).

Wine does not experience this problem, but it will also not fix it. Because the difference in the floating points are due to the compiler (yes different math libraries can also cause this but there is a basic difference on the compiler level) so one fix would of course be to force all windows devs to compile with gcc, but for some strange reason most windows devs prefer the Visual Studio compiler.

Ooh,that's right :)

Another solution could then be writing a hybrid: separate the game logic/simulation into its own library (or object file), and link it later (might need a DLL loader, but I don't think it's that complicated; and maybe a shim or two if the calling conventions are different).

In any case, I trust Feral to be competent enough to know the right thing to do (and choose whether to spend time on doing it).

Or rather the companies doing these multiplayer protocols should stop using the raw float values since they cannot be trusted (different raw values of a float can produce the same decimal representation which is the problem) and there is nothing that says that a new version of the Visual Studio compiler will produce raw float values that is binary compatible with the current/old ones. Would probably speed up things as well if they changed to something sane like i.e scaled integers.
caballero Aug 26, 2017
OK so when is the summer update for linux actually out? Can I even see that on Steam somehow?
Nouser Aug 26, 2017
Quoting: ExpalphalogI've never understood Civ being a multiplayer game. A single game typically runs me 20+ hours and that's without having to wait for anybody else to take their turn. Is multiplayer faster somehow or do people really sit there without sleep for days on end to play?

Simultaneous turns make it almost as far as playing with the IA. Also, we usually extend a single game across several 3-4 hours gaming sessions.
Expalphalog Aug 26, 2017
That makes sense. So I take it it's the sort of thing that you coordinate with your friends instead of playing against strangers?
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.