Apple wasn't also the most helpful when it came to motivating developers to port their games over. 30% fee for apps and no native development until 2014 with Metal. Windows had DirectX for a much longer time.
Besides the fact that apple demands far too much money from developers to "access their platform" they have also failed to deliver cross platform tooling so you need some fiddly Mac machines to be able to even build for their platform. Then there's the fact they broke backwards compatibility by using their own obscure processors so that makes developing for them a non-starter for many shops.
The thing here is if cross-platform tooling were available, it’d encourage the proliferation of “checkbox ports” which have barely been tested on actual Macs and never optimized for them, which one could argue is more damaging than not having ports at all.
As a game dev I'm OK with having to set up a mac to do initial testing of my port and make sure it works, but I'm not OK with having to do that again every time Apple makes breaking changes to their APIs and threatens to pull my game off the app store unless I port and rebuild. I don't have to do that on Windows or Linux (or on game consoles).
I assume that on Linux you ship with all dependencies included, because if you rely on whatever is supplied by the user’s distro’s package manager provided things will be breaking all the time.
Long-reaching backwards compatibility has never been an Apple thing due to how it encumbers OS development. The longest period old apps were supported was probably in the classic Mac OS era stretching from System 7.5 or so up through OS 9, but that was mainly due to how little the OS changed in that timespan (relative to contemporary OSes and OS X in the the same length of time). With OS X the bits under the hood have always been in a state of flux even if the user facing bits barely changed at all, which makes backwards compatibility extremely challenging short of shipping virtualized old OS versions (which brings its own challenges, such as having to patch 0-days those old versions for however long you plan to keep compatibility for each version around).
Windows’ backwards compatibility is good but has meant that many parts of the OS are effectively frozen in time which has complicated modernization efforts. I suspect that soon MS will bail and start telling people to virtualize software targeting anything older than Windows 8.1 or 10.
The bigger problem I see here is the required shift of paradigm: once users/developers are allowed such things it's no longer "Apple devices own their users", it's a more traditional "Devices belong to their users" which comes with a whole new level of problems that Apple can't possibly deal with.
The issue is more likely the very different graphics implementation. There is a reason both major console platforms settled on the same hardware (AMD CPU & GPU). Sony's own teams crying out "stop with the fucking proprietary bullshit like cell". Now Sony even publishes its games on Windows! It's top selling MLB The Show ships on Xbox!
The Apple GPU is actually more like the Cell idea that Sony had to give up on (and add a GPU) before the PS3 shipped. It's not as slow as Cell, but it's different enough from a regular GPU that games optimized for one aren't that great on the other. I love my M1 Max and M2 Max for Civ and Factorio, but I've got a windows gaming rig for playing the kind of games that need show stopping graphics, and a PS5 for convenience.
Yeah pretty much everyone who tried some sort of RISC implementation for graphics has let go in favor of the modern GPU architecture. Apple seems to think it knows better but the actual performance getting out of their hardware says otherwise.
The base was pretty good to scale stuff at first and was(is) enough in a mobile phone but it really shouldn't be applied to a console and even less to a full size computer...
> The issue is more likely the very different graphics implementation.
Metal and Vulkan are very conceptually similar. Most things you can write against Vulkan will work in Metal, only the API calls will differ. MoltenVK will even wrap Metal with Vulkan's API.
But the OP isn't talking about graphics APIs, they're making the absurd claim that ARM CPUs are "obscure". It's so wrong it borders on asinine.
The M1's TBDR GPU is very different from an Nvidia-style GPU. The different API doesn't actually matter much, but for best performance you'd want to rewrite the renderer whether or not you used a different API.
That's not the same as saying ARM processors are obscure. You've probably got at least a dozen of them in your house right now if not several on your person.
This subthread of people being just anal about a comment that we should all understand the meaning of.
Apple switched to ARM ISA and moved away from an open graphics abstraction layers. Those two things go hand-in-hand. ARM ISA isn't the problem, being a proprietary API on a platform that isn't of value for major game devs - that's the problem.
(FFS - Blizzard left MacOS, the one that released their titles on OSX one of the first.)
Arguing over what ARM ISA includes or not, is besides the point.
Yeah Apple should have realised something was wrong when blizzard went out with Overwatch and no mac version in sight because the numbers of macs that could run it decently well was so small even though it's not that demanding of a game.
Since then Apple has only made more excuse and even raised the price of their weak-ass proprietary hardware. They made their bed they deserve no efforts from anyone ; not developers not users. If they come out with competent hardware at a decent price then we will see...
That custom compiler is *checks notes* clang. Yup. Totally custom. Don't see that compiler anywhere else in the industry.
As far as high level code is concerned Apple's chips are just ARM chips. They've got microarchitectural features that put them ahead of other ARM chips clock for clock. But if you want to call their implementation obscure then by that twisted logic then AMD chips are obscure because they operate differently than Intel chips despite the AMD64 ISA.
It's a stupid distinction to justify an ignorant statement. Between iPhones, iPads, and Macs Apple has shipped a billion of their CPUs. At a billion units it's just dumb to suggest they're obscure. Different from Wintel PCs? Sure. But obscure? That's just asinine.
Playstation is a stable platform, where game devs get to squeeze every little bit of performance out of. It doesn't come out every year, with new features.
You can use normal APIs on consoles through translation layers (it works the same on the switch). The translation layers aren't the best so everyone just ends up using the proprietary 'API' in the end, which translates/gets inlined down to raw commands written to the GPU's command buffer at compile time.
Vulkan is probably the least used API across any games. Most switch games don’t use it either.
Honestly, this is the biggest division between gamers who obsess over API and people who develop gamers. API divergence is really not that big of a deal as long as you can do similar things.
That’s only if you publish through the App Store. A developer who publishes on their own website doesn’t pay any percentage fee, though they do pay 100$ a year for the developer account which allows to sign and notarise the app. A developer who publishes on Steam pays 30% to Valve.
Steam seems to be a far healthier ecosystem than the app store, though. You might actually be able to break through on steam whereas the Apple app store has a very ossified list of top games.
> Steam seems to be a far healthier ecosystem than the app store, though.
Not the point. Also, it’s not surprising that one of the biggest gaming platforms, catering exclusively to games, is doing better in games than a more general platform; it would be strange if it were the other way around. Also also, no one is defending the state of gaming on macOS, we’re all aware it’s bad.
Neither do apps distributed directly by third parties as long as they are signed etc. (you just need the $100/300 per year apple dev. account for that).
Steam charges a one-time $100 fee per game, so it’s still similar if upfront publishing costs are the issue. But certainly that $100 is less worth it if there are hardly any Mac players and thousands of Windows/Steam players.
There's a big difference: The Steam fee "will be recoupable in the payment made after your product has at least $1,000 USD Adjusted Gross Revenue for Steam Store and in-app purchases." https://store.steampowered.com/sub/163632
Its quite a lot to pay just to make a gamejam game available though, and that is where indie developers starts out. If you can't publish your toys without paying 100 dollars then it is a huge issue for onboarding new developers who just want to test what it is like.
The $100/yr is to publish to the App Store, which I don't think is the place for a gamejam game. You can download Xcode for free and distribute the resulting binaries for free.