> Apple is extremely friendly to developers targeting the Apple ecosystem.
Yeah, I don't know where the hell you get that!
Do they offer emulators for non-Mac developers to target their ecosystem?
Do they make even simple development onerous if you are on a Mac and do target their system, but have the audacity to want to share the app with someone else not in the same room with you?
You want to make a free app for your business targeting our ecosystem? Pay us bitch! Also, while we're at it, pay us every year from now on! Whoa! You also want to put it on our store, pay some more you fucking pay-pig!
> Plus, unlike Android, they actually provide tons of tooling for game development and graphics programming on iOS.
... read, we are so locked into and starved for hardware options that it is easy to release a few libraries that will work for your app ... for now! Has your business not changed at all and your app doesn't need any special privileges ... but it has been more than a few years .. haha! Go fuck yourself, sincerely Apple!
> Google tells you to clone github repository from Vulkans shaderc.
Apple makes you get into a personal relationship with them. I am not sure that is much better!
They create a narrow space where it's possible to make money developing for their platform, but there's a huge risk that:
a) they will make a decision which makes your product no longer viable, or
b) they will decide to replicate your product as a 1st party offering and render you redundant (e.g. tile)
Adopting open standards like Vulkan would be the single best thing they could do to support games on their platform. Games are extremely high-investment, and having to develop against a second back-end like Metal is a perfect reason not to support a platform.
Apple's friendly to developers as long as they are willing to stay on the reservation, but there is no reward for doing so.
I might be wrong but from what i read on the internet, MacOS don't provide direct access to GPUs, you have to go through the OS GPU API to do your GPU computation.
On Windows and Linux, there is no abstraction, OpenGL and Vulkan access the GPUs directly. I'd say it's safer to go the MacOS way but it's a bother for those who want a unified API
Doom 2016/Eternal shipped with Vulkan and they are two of the best optimized games ever made.
I don't buy that Vulkan is not a first-class choice for graphics. To the extent that it has issues, it's only because of (developer hostile) lack of support from major software vendors.
I spend more on eating out in a week than that yearly Apple developer fee (not ideal, I know). Cost/benefit. At some point you realize you're going to die and that you can essentially buy more productive time by paying money.
Most people starts out as students or similar with basically no budget at all. To them paying fees to just get others to run your program is a huge hindrance, which is why it is developer hostile. It isn't hostile to full time developers who work on established products, no, but it is hostile to the next generation of developers who are just starting out and experimenting with things.
Forcing you to drop everything and do it Apple's way is not friendly.
Forcing you to buy specific hardware and banning virtualization to do builds is not friendly. Cloud builds is a huge pain. You essentially have to rent full macs from MacStadium.
You can compile Windows and Android apps on Macs, Windows, CromeOS and Linux. There's no XCode like restriction and there's not the same OS virtualization restriction that required a hardware purchase.
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 importance of cross-platform 3D-APIs for game development is vastly overrated though. The problems of the Mac as gaming platform are much more "holistic" (but yes, in the end it's about the economical viability).
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.