Comment by barrkel
8 years ago
It's a bit easier in a game that renders its whole UI custom, though. A standard desktop app would be heavily tied to Win32 simply because of UI controls. Similarly, a server app, if designed for performance, would likely be using overlapped I/O.
Yea I should have qualified that I was mostly talking about games companies. Games should be among the easiest software to release on multiple platforms for to not needing platform specific UI controls. Actually I struggle to think of a single major component to a game that must be platform-specific. Yet, of all the software I use, games tend to be the ones stubbornly stuck on Windows.
If this story inspires you at all to troll old John Carmack .plan files and interviews, I believe you'll discover that id software stopped doing Linux versions of their games for reasons that had little to do with the technical difficulty of porting.
> Actually I struggle to think of a single major component to a game that must be platform-specific.
Different platforms often have totally different graphics APIs. Even when platforms share APIs, driver quality, compliance, and fast paths vary greatly. The Mac still used a completely different processor architecture from the PC at the time of this story, requiring platform-specific optimizations and approaches.
Games, particularly cutting edge ones that demand performance, and especially from that era, are much more likely to need to be tailored to their platforms.
These are semi-good reasons for games of the past but I thought this was actually less of a problem these days with the rise of cross-platform game engines. If you use Unity or something, porting your 2018-era game to Mac or Linux should be a recompile at most.
The other thread mentions the business cost of releasing and supporting these other platforms, which I totally understand.