Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I play civ 5 from time to time, and it is a cross-platform (Linux, Mac, Windows). Why don't other gaming companies do what civ devs do to make it cross-platform? I understand why companies would make games on Windows exclusively if it was 10 years ago, but AFAIK, there already exist many cross-platform development tools you can leverage.


Porting your existing stack to new platforms is hard. The much, much harder part is getting your stack running on the new platform at a similar level of stability to the existing platforms. Corner cases and subtle incompatibilities all combine to make 'workaround soup'. It takes a lot of engineering work to support these platforms. The first 90% is bring up, the next 90% is stability.

Hell, something as basic as shipping a working binary for a non-trivial executable on Linux is a bit of a sick joke. Let alone having to support several windowing systems, and a whole bunch of new platform specific bugs in sound systems, graphics drivers, desktop environments, controller APIs.

Mac and Linux have just never been worth the tiny market for large studios. Many games using Unity and Unreal, which can target MacOS and Linux, don't bother providing Linux and MacOS builds because the development and support burden is too high for the number of users they'd gain.


It mostly boils down to the used game engine: Civ 5 is written in a custom engine (LORE), where you can choose which platforms to support. Other engines might make it easy (Unity), hard (Unreal), or impossible (Frostbite) to support Linux and Mac natively.

Platform support is of course an argument when choosing an engine.


I play Civ 6 and it's also "cross platform". Except when it's not.

The PC and (M1/2) Mac versions were out of sync for a few months, making multiplayer games between those impossible.

Worked perfectly with PC + Steam Deck though.


Civ 6 used to not feature cross play between Linux and Windows, because of platform differences with SQLite.


SQLite is known for compatibility. I'm curious what platform difference was


This was circa 2016-2017, so it's gonna take some digging. I'll see what I can do.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: