Apple insist on having their own apis and they don’t maintain compatibility for older software for very long, these 2 facts explain things fine on their own. Game devs don’t want a major support burden, they’re happy to patch here and there but constant dropping of apis or even architectures is a lot to handle. The bigger impact is that macOS ends up with a lot less old games that still run, if you need a critical mass of games to become a gaming platform, that constant bleed of legacy games will always slow macOS down.
As for gaming specific features, Metal is a perfectly fine api whose only real problem is that it’s different from the other platforms. Maybe not the best, but certainly not terrible. They also have a really nice capability floor, it’s practical to make a modern game work on any Mac from the last X years (maybe the neo complicates that a bit).
There’s probably a few gaming specific capabilities they could improve on, mouse input especially, but that’s never been the real issue.
What fraction of game studios still even exist 10 years after releasing a game?
1. They don't exist, so if you own the game you still want it to work on your computer without maintenance updates
2. They still exist, so they don't want to have to update it every year because they can use that effort on making a new game and continuing to exist while still being able to sell from their existing catalogue because it still works
Either way it's in a game developer and gamers interest to have stable platforms
They've said that Rosetta 2 will stick around for games after it's phased out for other software, but it's hard to give much credence to that. Wouldn't be enough to make me want to bother publishing or buying games on Mac. They've dropped OS 9 compatibility (after having Classic), they dropped PowerPC support (after having Rosetta), they dropped x86 support after years of the OS supporting both 32 and 64 bit. And if they're keeping it available for games why not let me run other Intel Mac software?
Hard to imagine Rosetta 2 sticking around more than a couple years when Apple gets bored of supporting it.
> Optimization and bug hunting makes supporting multiple graphics api's a pain.
The problems usually lurk in the graphics drivers, and not in the 3D API layer (e.g. optimization and bug hunting isn't much difference even when your code only supports a single API, and especially Vulkan drivers from different vendors may behave wildly differently on Windows, at least compared to D3D).
> I can see PC game developers seriously considering Vulkan over directx
Lol. That train has left the station long ago (around the time when Stadia was shut down, Vulkan saw a small uptick because of Stadia, but that soon fizzled out). Games need to support multiple 3D APIs anyway once they release on consoles. One or two more for the PC and Mac version doesn't make much of a difference (and most games are built on top of an off-the-shelf-engine anyway).
You may note that I specifically said "PC game developers" Your whole but consoles argument, completely misses the mark.
Exactly, and having a Vulkan-only codebase won't make that problem go away. And IME it's much more likely to encounter vendor-specific driver issues on Windows Vulkan drivers than for D3D drivers.
Vulkan drivers on Linux are in a much better shape because they are centralized under the MESA project (except NVIDIA's drivers, which also have significant behaviour differences to the MESA drivers, at least in the window system glue).
> You may note that I specifically said "PC game developers" Your whole but consoles argument, completely misses the mark.
Why should a game developer support the tiny Mac market, but ignore the much bigger game console market though? From a business perspective, Mac support simply doesn't make sense, it's too much hassle for too little return (and the hassle isn't about the different 3D API, Metal is actually one of the best parts of the whole Apple developer ecosystem).
Mesa is largely an Umbrella. While some of the code is shared by in large, AMD works on radv, intel works on vulkan-intel and of course Nvidia work's on its own proprietary driver rather then very limited NVK.
Many games are first released on PC and only ported if they get big enough. So there are no considerations for cross-platform support in the original development.