Sure, it might be Apple - and maybe reading between the lines that is why Valve dropped the support. However, it reads (to me) as not enough people are playing the game on the mac so they are dropping support. To me that doesn't read as being too hard for them to support mac. If it was easier, maybe it wouldn't be a huge deal for Valve to continue supporting it, but that isn't clear to me.
I'm not a game developer though and don't closely follow this stuff, I'm just a person who occasionally likes to play CS on my macbook and can no longer do so.
Note: I am aware of Apple not generally being very supportive of games on their platform. It's always been that way.
Apple doesn't support Vulkan, obviously doesn't support DirectX, and barely supports OpenGL. Metal is a different beast, and the adapter layers are not adequate.
It takes extra effort, and fairly deep and unique knowledge of rendering, shaders, and compilation to support Metal, and even engines which do (Unity, Unreal) face some amount of difficulty in doing so well.
Apple's strategy of giving the middle finger to graphics APIs is patched over poorly by their partnership with Unity, and the fact that lower-end games can get away not needing a crazy amount of compatibility...but it's still on Apple to do better.
There is a robust and widely-used Vulcan → Metal compatibility layer. It hurts performance, and that sucks and is absolutely Apple's fault, but it does mean developers can port games to Mac without worrying about Metal.
It's also a massive PITA trying to debug or profiling performance on it - no native tools work right.
While "ok" for porting an existing game as a secondary platform, you don't want to be using it for primary development. And that will be why it will remain (at best) a second class citizen.
Yes, I want to be very clear GP was in response to the argument "Valve can't port games to macOS because macOS doesn't support cross-platform graphics APIs". Well, no, there is a compatibility layer, performance isn't stellar but if the alternative is your game doesn't run at all, you can take the hit.
Apple should not be happy about this outcome. It doesn't help them build some kind of walled garden, it just makes their hardware perform worse. They should add Vulkan support!
>there is a compatibility layer, performance isn't stellar but if the alternative is your game doesn't run at all, you can take the hit
They don't make many games these days, but Valve tends to be a studio that prides itself on performance. It can very much be "this game runs well or we don't use that platform at all" for them, compared to other AAA studios happy to take the PR hit for a quick buck.
The only story I've heard of people supporting Metal is by supporting wgpu.
Well and, whatever embarrassing game that Apple will trot out at their developer conferences 2-3 years after it was released and claim Macs are built for gaming.
Source 2 already has rendering backends for d3d9, 11, opengl and vulkan. There's no reason why they can't support metal besides a refusal to task someone to it.
Note that I said “supported properly” above. In addition to the very high number of bugs in Apple's implementation, the fact that it is officially deprecated sends a message to anyone wanting to do new development on MacOS “don't invest in OpenGL now as we could pull the rug under your feet” and it's done on purpose to push developers to Metal.
So now they can only blame themselves if they're losing games because the developer doesn't want to invest in Metal either.
> In addition to the very high number of bugs in Apple's implementation
Many of those 'bugs' remain unfixed to maintain backwards compatibility, not because Apple doesn't want to fix them.
> the fact that it is officially deprecated sends a message to anyone wanting to do new development on MacOS “don't invest in OpenGL now as we could pull the rug under your feet” and it's done on purpose to push developers to Metal.
As it should be.
> So now they can only blame themselves if they're losing games because the developer doesn't want to invest in Metal either.
There's nothing to 'invest' in. Metal is by far the simplest low level graphics API out of all I've used and it would not be hard for valve to write a source 2 rendering backend for it (few days/weeks at most for an experienced dev). There's plenty of AAA games being properly ported to apple silicon now and in a year or two there will be many more. Valve intentionally withdrawing themselves from the ecosystem is purely out of spite.
> it would not be hard for valve to write a source 2 rendering backend for it (few days/weeks at most for an experienced dev).
Put your money where your mouth is and write one. Just write one. If it's that easy, do it.
Which is more likely - a company that dumps tons and tons of resources into Linux, Wine, DXVK, and put out the Steam deck didn't do this supposedly easy thing because they just don't care or could it be that they don't have the talent in house and wouldn't recoup their investment by doing it?
> Put your money where your mouth is and write one. Just write one. If it's that easy, do it.
I can't because source 2's source code isn't available.
> Which is more likely - a company that dumps tons and tons of resources into Linux, Wine, DXVK, and put out the Steam deck didn't do this supposedly easy thing because they just don't care or could it be that they don't have the talent in house and wouldn't recoup their investment by doing it?
They don't have the talent? That's funny, considering Valve ported all their games to macOS many years before they ported to linux.
> They don't have the talent? That's funny, considering Valve ported all their games to macOS many years before they ported to linux.
Using OpenGL, not metal, thought. There's a good chance that they don't have a single developer knowing metal.
Sure they could learn, but then there's the next part of the sentence you're responding to: it's unlikely they wouldn't recoup their investment by doing it.
Source code for source 1 has been available for 20 years. It's been fully leaked multiple times and an official SDK with limited source is also available. There is no contradiction.
> Many of those 'bugs' remain unfixed to maintain backwards compatibility, not because Apple doesn't want to fix them.
Backwards compatible kernel panics is a interesting idea for sure…
Also, talking about backwards compatibility when discussing about Apple is pretty ironic as well.
> As it should be.
Can't complain if Valve don't follow them on that then.
> There's nothing to 'invest' in. Metal is by far the simplest low level graphics API
That doesn't change the fact that porting the game engine to it is still a massive undertaking. It doesn't depend on the graphic API itself that much, but more about the size and complexity of the rendering engine.
Valve isn't stupid, if it was profitable to do so, they'd do the investment anyway, but do not because it doesn't make financial sense.
Apple isn't entitled a free port of popular games to their walled garden. Developers may do it if it's profitable, but that's it. If Apple wants to bootstrap the gaming use case, then it's on them to make an effort.
> Valve intentionally withdrawing themselves from the ecosystem is purely out of spite
“Boohoo stupid Gabe does that out of pure naughtiness.”
I hope you realize how childish your statement is.
> However, it reads (to me) as not enough people are playing the game on the mac so they are dropping support. To me that doesn't read as being too hard for them to support mac.
I think you're missing the context here that CSGO was just replaced with CS2, and CS2 is an entirely new engine (it's Source 2 based whereas CSGO was still Source 1)
So this is a switch from a DX9 engine from ~15 years ago to a modern, Vulkan-focused actively developed engine.
I'm not a game developer though and don't closely follow this stuff, I'm just a person who occasionally likes to play CS on my macbook and can no longer do so.
Note: I am aware of Apple not generally being very supportive of games on their platform. It's always been that way.