It's a chicken/egg problem. There are no games on Mac because nobody plays games on Mac, and nobody plays games on Mac because there are no games on Mac.
Only Apple has the power to break this cycle by throwing money at game developers to reduce the financial risk (same way Epic does to get games into the Epic Game Store for instance).
They're kind of trying to do that with Apple Arcade, but from what I've seen they don't really understand the market enough to make an interesting offering.
It's insane to me that they're failing so badly at it: Apple's amazing at building brands, but gaming is huge with people under 30, and it might get harder to sell people a computer you can't run AAA games on.
Google could have eaten iPhone's lunch with gen Z with Stadia if they invested in it properly, but they didn't manage to make it work
It's not a chicken and egg problem. It's Apples fault/intention.
They had really bad support for OpenGL and wanted developers to use Apple's Metal API.
But developers stayed on DirectX (Windows-only) or OpenGL/Vulkan for Linux/Windows/Android crossplatform.
It just wasn't economically viable to develop for Mac.
The way I see it, unless you're developing exclusively for Apple platforms, it's not worth the effort to build something with Metal. There are translation layers like MoltenVK that can help, but that still requires a lot of effort for what is likely a very small market segment.
It's not that hard. With SDL2/GLFW and MoltenVK you are 90% of the way to a cross-platform codebase.
That said I can understand why there's not a lot of investment in mac, since Apple's shown to be very developer-hostile as far as games, and the market is pretty small outside of mobile games which are kind of a separate thing.
There's some potential with m-series processors - now there's basically one SOC to target for everything from an iPad to a desktop, so it's sort of like consoles where there's a very consistent hardware target to develop against.
Mikushi|4 years ago
pjmlp|4 years ago
Unreal and Unity do support Apple devices.
Plus, unlike Android, they actually provide tons of tooling for game development and graphics programming on iOS.
Google tells you to clone github repository from Vulkans shaderc.
flohofwoe|4 years ago
Only Apple has the power to break this cycle by throwing money at game developers to reduce the financial risk (same way Epic does to get games into the Epic Game Store for instance).
skohan|4 years ago
It's insane to me that they're failing so badly at it: Apple's amazing at building brands, but gaming is huge with people under 30, and it might get harder to sell people a computer you can't run AAA games on.
Google could have eaten iPhone's lunch with gen Z with Stadia if they invested in it properly, but they didn't manage to make it work
madpata|4 years ago
They had really bad support for OpenGL and wanted developers to use Apple's Metal API. But developers stayed on DirectX (Windows-only) or OpenGL/Vulkan for Linux/Windows/Android crossplatform. It just wasn't economically viable to develop for Mac.
gameswithgo|4 years ago
Sandvich|4 years ago
skohan|4 years ago
That said I can understand why there's not a lot of investment in mac, since Apple's shown to be very developer-hostile as far as games, and the market is pretty small outside of mobile games which are kind of a separate thing.
There's some potential with m-series processors - now there's basically one SOC to target for everything from an iPad to a desktop, so it's sort of like consoles where there's a very consistent hardware target to develop against.
pjmlp|4 years ago
Plus, unlike Android, they actually provide tons of tooling for game development and graphics programming on iOS.
Google tells you to clone github repository from Vulkan's shaderc.
Vulkan and OpenGL tooling on Android is a joke, to the point Unity are Unreal the official tools.
https://developer.android.com/games#develop-content
While Macs have all of this at their disposal,
https://developer.apple.com/wwdc21/sessions/?q=Metal
The only thing Android Games SDK has is a frame pacing API!?!
https://developer.android.com/games/sdk
jayd16|4 years ago