Civilization VI was recently updated to give Windows and Mac players cross-platform multiplayer, sadly the Linux version was left out. We spoke to Aspyr to confirm what's happening.
It's not just cross-platform multiplayer that we're missing, as the Linux version hasn't recieved the Spring 2018 Update yet which was released for Windows back in May. Sadly, this type of wait has become common when a third party ports a game to Linux and it's understandably hard for some to have to wait—especially if it's a game you're particularly fond of and one that can be enjoyed in a multiplayer environment.
The good news, is that Aspyr Media are obviously well aware of this. Here's what they told us today:
We are very close to getting both the update and cross platform play out on Linux. If all goes well, we should see both in the next couple of weeks.
Aspyr Media
If interested, you can grab a copy of Civilization VI for Linux from: Humble Store and Steam.
i.e. newcomers who aren't well versed in the subject matter simply use that to assume that all other Linux games are cordoned off into their own little multiplayer ghettos.
Last edited by GustyGhost on 20 July 2018 at 7:56 pm UTC
I'm just glad this means we're finally getting the latest patch. yay!
Wow, that's pretty huge, isn't it? Cross-platform play has been an issue with ports for...ever. I was led to understand that it's basically impossible (for a ported title). I wonder how they overcame it?
Why would it be basically impossible? I was under the impression that several titles have cross-platform play?
Wow, that's pretty huge, isn't it? Cross-platform play has been an issue with ports for...ever. I was led to understand that it's basically impossible (for a ported title). I wonder how they overcame it?
Why would it be basically impossible? I was under the impression that several titles have cross-platform play?
As far as Aspyr has revealed about Civillization VI porting, at least one of the big issues has been third party floating point math library and trying to behave exactly same way in all cases.
Computers are not very good at accurate floating point math, so covering all the corner cases in same way is not that trivial.
That has caused random desyncs. Which means that public release of the cross platform has been delayed quite many times.
I guess with multiplayer code difficulty varies. With clean network code platform doesn't really matter (if that wouldn't be possible, we wouldn't have Internet). But in worst case communication is done with some odd binary protocol that one of the games DLL:s just spews out.
That's something that Samba had to deal with it until Microsoft agreed to meet them half way and make things work bit more like real network protocol.
Edit:
I mean breakthrough in general, not breakthrough with this particular port.
Last edited by Kristian on 20 July 2018 at 8:57 pm UTC
Instead, my friends and I clocked 100 hours of Stellaris.
Last edited by 14 on 20 July 2018 at 9:32 pm UTC
Okay, so you are talking specific issues with particular games? I mean I get that crossplatform-play presents challenges, but the wording "practically impossible" made me think it was almost unheard of and a major breakthrough by Aspyr.
Edit:
I mean breakthrough in general, not breakthrough with this particular port.
I was talking about things in general, I was just using Civilization VI as an example. I would suppose what Aspyr has done helps only Aspyr as form of experience. So if they run into same kind of problems, they have better idea of how to tackle them.
But main point was that if with some games cross platform multiplayer is there right from the start, game itself might have implemented accidentally things in portable way. Unless all the supported platforms have been taken into account during the game development, which is rare.
And if cross platform multiplayer takes forever to implement, there might be good reasons for that.
Aspyr didn't give up though, which is why we might get actually cross platform multiplayer.
Okay, so you are talking specific issues with particular games? I mean I get that crossplatform-play presents challenges, but the wording "practically impossible" made me think it was almost unheard of and a major breakthrough by Aspyr.
It is a major breakthrough. Ports rarely have cross-platform multiplayer unless the port was planned for the beginning. Lots of games have cross-platform multiplayer, but very few (third party) ports do, because they're often done after the original was released, so the original game has been designed with no thought as to how other platforms might perform. I think Anza explains it pretty well.
In any case, I seem to recall that we know for sure with Civ VI that there was a problem with a closed floating-point thingie in the original Windows version that caused precisely the de-syncing problem that's been talked about here. So, as scaine wondered in the first post, how did they fix it? Aspyr had previously stated in so many words that they weren't fixing it because they couldn't. What changed?Okay, so you are talking specific issues with particular games? I mean I get that crossplatform-play presents challenges, but the wording "practically impossible" made me think it was almost unheard of and a major breakthrough by Aspyr.
It is a major breakthrough. Ports rarely have cross-platform multiplayer unless the port was planned for the beginning. Lots of games have cross-platform multiplayer, but very few (third party) ports do, because they're often done after the original was released, so the original game has been designed with no thought as to how other platforms might perform. I think Anza explains it pretty well.
Last edited by Purple Library Guy on 20 July 2018 at 11:15 pm UTC
Many ways around that problem, but every workaround is kinda "meh".
I've seen special float libraries (which are then a wee bit slower) or some just decide to ditch floats entirely for the cross-platform communication part (IMO the best solution, if possible) or some just use an int/int fraction and convert if necessary (which has the advantage of way better precision).
But yes, if that isn't planned from the beginning, it IS a problem for cross-platform play later on.
Last edited by TheSHEEEP on 21 July 2018 at 6:47 am UTC
Can't stop waiting :D
An int/int fraction? That sounds like a Ratio in Haskell: http://hackage.haskell.org/package/base-4.11.1.0/docs/Data-Ratio.htmlYeah, pretty much.
Thanks Aspyr for the continued effort in the port :)
Last edited by TheBard on 21 July 2018 at 1:30 pm UTC
See more from me