Not only that, but it has a lot of pain points, including ARM CPUs in a world where a lot of games used to target 32 bit windows.
Proton supported macos at first[1]. I think support is still more or less there, though not integrated with "steam play". Proton "glue" scripts are also mostly python, and macos does not (did not?) support python3.
I think the community could step in and help support it, but valve pretty much stopped efforts on that front (some rationale in [2]), although I think community efforts on wine would be welcomed.
Different graphics APIs aren't a reason not to develop for a platform. Game consoles have unique APIs, yet both AAAs and Indies happily develop for those platforms. What matters is whether the prospective income from those platforms outweigh the additional dev costs.
Additionally, most Macs simply aren't gaming machines; they're mostly thin laptops or AIOs with very high resolution screens, meaning the GPU has less cooling headroom and has way more pixels to draw than pretty much all Windows machines that are used for gaming.
That makes the potential pool of users even smaller than it already is, so most of the time it doesn't make sense to develop games for the Mac.
Those different APIs are usually wrapped by game engines like Unreal Engine or Unity. Porting a game to a new platform is almost always a business decision, and the actual porting cost is minimal compared to marketing and (customer) support cost.
Disclaimer: I have done some amateur game development, nothing professional.
> 1) Porting costs are not per game but per engine, which can be shared between multiple games.
That's not true. Majority of the costs maybe, but every platform needs its own tweaks, if for nothing else input often very different in a way engine abstractions are usualy not good enough. And then there is DRM, and anti cheats etc, that are quite platform dependent.
In pretty much any engine there are games that work beautifully and games using same engine that are like trash on fire[1]. There is a reason nvidia and amd often have to release new driver with fixes/optimizations for new games.
[1]: I meant cross platform support (where they work decently on one platform but are trash on others), not that game as a whole itself being trash and or buggy.
> 1) Porting costs are not per game but per engine, which can be shared between multiple games.
True but they're still big enough that that cost is significant. Even when diluted across game budgets.
> 2) The majority of costs is ongoing support, not writing to a different API.
Ongoing support is still required for writing to a different API. Ongoing support involves (a) updating in line with API version changes and (b) updating API-integration abstractions in line with game engine API updates. Supporting multiple APIs adds at least some amount of friction to every code-change.
There's also the increase in cost of testing every engine code change across multiple graphics APIs.
I’ve never worked on a game where we didn’t have at least one rendering programmer who would be assigned to a particular platform, even with Unreal or Frostbite or whatever. Major titles will still write their own platform-specific shaders, they’ll still tweak and modify the game middleware, and they still incur a per-platform, per-api costs.
Yes, this is the big one. Microsoft, Sony, and Nintendo have dedicated integration teams just for getting your specific game working on their platform. They might even release updates to their platforms to cater to what you want to do
Apple will update it's apple tv with a beefy graphics M chip. And enter the console gaming market well it's already in it but it will really start competing against Xbox and Playstation in the next couple of years.
By far most games on Windows don't run on OpenGL or Vulkan but on Direct3D. Game consoles also don't use OpenGL or Vulkan but have their own APIs. Metal is "just another" platform-specific 3D-API, it's not an exception but the norm.
In reality, "cross-platform" 3D APIs don't matter much (for games). What actually matters are distribution platforms (for instance: Steam), and if a distribution platform promises good business, games will be created for it.
Most AAA studios don't care about such standards, as proven by game consoles and Metal already being supported by Unreal, Unity, Ogre3D, Xenko/Stride, among others.
Games include music, so the answer for that part is "not at all". Many games offer music at additional cost, so there is a market for that. Also certainly some games made their music iconic in the same way movies used to do it.
Can't speak for everyone but I sure struggle to engage as much with long-form non-interactive media these days. If I'm not affecting a narrative in some meaningful way it's really hard to stay interested.
What do you like in terms of "interactive media"? Are you talking strictly games or something?
When you said "interactive media", my mind immediately went to tell tale games, "Wolf Among Us" [0]. It's more of an animated story with limited interactivity, but I really enjoyed it. Would love more of this kinda low key gaming.
Hmm. It set in back when I was playing WoW and realised that the effort I was putting into gaming the auction house was exactly the same as the effort I'd need to make money flipping items on eBay or something. After a while I couldn't make myself care about the in-game goals because I could just be using the same effort IRL for far more significant reward.
Then a few years later I spent a bunch of time playing Factorio, to similar effect. Downside: Suddenly flipped from "wow this is awesome" to "man this game feels like a job, it's no longer fun" to "uh, my job is basically this game so... yay?"
Now between the two it's really hard to get excited about something that isn't managing a real life business and building useful IP. Am I old? :P
It's not really an accident, Apple strongly dislikes AAA games (note: not AA games like fortnite or .. "games" like candy crush). If they support any kind of game development it's purely indie or puzzle style in nature and not high fidelity.
The reasons are.. well incalculable, there are so many:
To be competitive you must work closely with driver manufacturers; you would likely need to segment your desktop class hardware platforms based on what games they can play, you might bef forced to update hardware on a significantly shorter cadence- probably support for third party upgrades (like graphics cards). Also, Apple strongly dislikes nvidia who have a stranglehold on AAA games. (ever since they sold them a bunch of cards that desoldered themselves)
Apple wants to be a computing platform, and for "creatives". That's the image they're going for.
They can't win on gaming, even if they wanted to, but it's against the brand image to go for that market anyway.
You can't really do AAA gaming on a mac, and that's ok, not everything has to be about playing games.
The biggest rub on desktop GPUs on macOS is Nvidia insisting on full control of the drivers, which doesn’t jive with Apple’s attitude that GPU drivers should ship with the OS due to how deeply integrated they are with the kernel. AMD shares its driver source with Apple which works around this and allows RX 6000 series cards to work under macOS, but Nvidia would never consider doing something like that in a million years because too much of their business model revolves around total control.
It’s actually closely related to Nvidia long being a problem for Linux users, where open source drivers for Nvidia cards are permanently throttled to minimum performance levels thanks to Nvidia enforcing use of their proprietary drivers in its hardware. Incidentally AMD is also better behaved here — the FOSS AMD drivers have been quite decent for a long time now because a few years ago AMD got out of the way and started collaborating with the Linux community.
Apple loves AAA games if they're on the iOS store and bringing in billions USD per year of microtransaction revenue from teens and compulsive gamblers. They can't get that by supporting native APIs for non-App-Store desktop games.
While I was mainly talking about MacOS (the desktop); Does iOS support AAA games?
I haven't been promoted any AAA games on iOS- fortnite is not a AAA game.
Edit: argue your point phantom downvoters.
Fortnite is not AAA; God Of War, Horizon Zero Dawn, Tom Clancy's the Division are AAA. Find a source that calls fortnite AAA. Find any source of a AAA studio working collaboratively with Apple and I will retract everything I said.
Just Dance Now[0] is not a AAA game. It was made by Massive Entertainment, who makes AAA games.
So, a game being produced by a AAA studio does not make it a AAA game.
What "is" and "is not" AAA is debatable, sure, but some things are clear:
1) they're not mobile games.
2) They have a lot of marketing budget
3) They generally push the limits of the platform (lots of LOD)
4) They have large development teams
AAA usually means that a game needs: Lots of time, Lots of Money and Lots of People.
Fortnite is low fidelity, has been in early access since it's inception (many years at this point) and has a relatively small number of people (<100 direct, compared to >1,400 for The Division) making it, even though it's been "in development" for many years, not AAA level.
FWIW I'm not saying AAA is "good", I'm just saying that Apple isn't chasing AAA- and "fortnite" is not a good counter-argument, the better argument might be call of duty or sims, which have mac ports, but they're definitely not first platform and they actually are emulation shims using Wine.
Fortnite itself does not claim to be AAA, and it's totally fine not being AAA, it's actually better to avoid making AAA games and instead go for "AA" with low fidelity because the stakes are lower and you can take more risks in making a more interesting and engaging game.
Go to game credits, count everyone until they mention a publisher.
Industry convention: Project only: Main studio first, ancillery studios next, outsourcing parties next, then the scope broadens and includes the publisher, HR, office team etc;
But anyway, Tim even says that they shipped with only 25 people. Even if they broaden it now the scope was defined early.
If you really want fortnite to be AAA, I concede, I don't really care.
But then: please give me at least 1 other example.
>It's not really an accident, Apple strongly dislikes AAA games. If they support any kind of game development it's purely indie in nature and not high fidelity.
Except that's not true at all when it comes to iOS. Back when Epic and Apple actually got along, it was common for Epic to be part of iPhone keynotes showcasing the graphical capabilities of the new GPUs.
I think Fortnite was also regularly featured on the App Store back when it was actually available there.
Obviously they have a much larger interest in supporting gaming on iOS since every game sale brings them 30% of the cut, but there's no general AAA game hatred at Apple.
That's certainly true, and for most people making games on PS4; their openGL has a weird DX11-ish 'shim' that you can use to make your code cleaner (at the expense of a bit of performance).
It's used heavily in Snowdrop; but in order to work on Stadia they had to abandon the shim and work on Vulkan. So, even when porting to linux GL was not preferred. (I worked there during this transition).