What would be the main differences (if any) between the Mac native client and porting to Linux natively?
It is written in QT (Launcher), Python (client), Vulkan/Metal/OpenGL (Graphics)… These are cross platform technologies (except Metal, if that was chosen). As for packaging, tarball, AppImage and Steam’s Steamworks packaging and other game store’s custom packaging system they use already for distribution (each online store they use has their own format already).
Perhaps a CCP developer can chime in with some concrete details on the Mac native implementation technicals.
Why would they use that over Vulkan? That locks them into Apple API’s when the rest is cross platform. It would have made more sense to me to use OpenGL or Vulkan (specifically Vulkan) especially since Vulkan also works on web and mobile devices which they are targetting too.
DirectX I get but that’s historical baggage and we may even see DirectX being dumped for OpenGL and Vulkan over time?
Probably cost. I don’t know much about metal but if it’s less effort to use than Vulkan (and thus cheaper) then they would probably want to target that if they have no plans to support Linux, which atm they do not
Vulkan is more than just Linux, it’s for cross-platform usage. It’s basically the new form of OpenGL from AMD-> Khronos group, as OpenGL was from SGI Iris.
The other benefit is skilling and human resources, you won’t need to maintain both DirectX and Metal, you can unify into Vulkan, don’t forget they’re also doing mobile/web.
DirectX was historical baggage when it was Windows only, and Wine on Mac after.
You don’t need to convince me I’m just explaining how companies generally make decisions. They are usually based on whatever the cheapest/easiest option is to accomplish the current goals. They don’t usually decide on options that cost more upfront to give them more flexibility later on in case they decide to take advantage of it
The other benefit is skilling and human resources, you won’t need to maintain both DirectX and Metal, you can unify into Vulkan, don’t forget they’re also doing mobile/web.
My guess is they sat down and considered the costs of maintaining DX and Metal and decided it was cheaper than porting everything to Vulkan and supporting that, but only CCP knows I guess