2 ms·
If you have somebody on the team who was able to write a Vulkan rendering engine, then that same person can also easily pop out a Metal port ... just be careful
by flohofwoe 2y ago
If you have somebody on the team who was able to write a Vulkan rendering engine, then that same person can also easily pop out a Metal port ... just be careful, that person probably never wants to touch Vulkan again afterwards ;)
Otherwise I would expect that the game either uses a library which abstracts away the differences between the system 3D APIs (shameless plug: https://github.com/floooh/sokol https://github.com/floooh/sokol, but also BGFX, WebGPU or AFAIK SDL3 is also getting a cross-platform 3D API), or uses a complete game engine like Godot, Unity or Unreal.
> Maintenance is always the time consuming part
This is the only thing that matters, it's not the initial port that's the problem, but the long term maintenance and customer support and that often doesn't make business sense on non-mainstream platforms like Linux or macOS. But a cross-platform 3D API doesn't make any of that easier (you'll still have to struggle with driver bugs for instance, or just plain weird configurations, especially on Linux systems - unless going through Proton which I'm sure works around a ton of compatibility issues and driver bugs under the hood).
- talldayo 2y ago> it's not the initial port that's the problem, but the long term maintenance and customer support Which is why I ask; which should we prefer, a native port that Apple will depreciate for some reason or a community-supported translation layer that's based on a reasonable cross-platform standard? I owned an iPhone, I know that the apps you pay for all eventually break, and instead of fixing it Apple will only tell you to complain to the developer. Compare that to Steam, where I can still play Far Cry 2 and Fallout: New Vegas in perfect emulation, likely for the foreseeable future.