Apple is constantly trying to shun gamedevs away from its platform, then from time to time they’ll be like “why won’t people make games for macs?” and do something like this to try to get them back, but shortly after it’ll go right back to screwing devs all over again.
Xcode absolutely sucks, only supporting Metal instead of something cross platform like vulkan doesn’t help. Like they have their game porting toolkit but making a full native game is pain and suffering. Also cross compilation isn’t real half the time.
Edit: there are vulkan wrappers like MoltenVK so it’s not too awful to port. It’s just a build flag and am extra library.
lol Xcode. I miss the days of Metrowerks Codewarrior. I guess back then, the official Mac tool was some clunky shell environment. I can’t even remember what it was called. But ironically, I’m more comfortable on the command line than in Xcode these days, which is not a shining endorsement for the latter.
Automator is kind of interesting though. I’ve been looking at it lately and it’s pretty powerful once you figure it out. Again ironically, I’ve been using it mostly to manage terminal sessions in their own windows, so even though it’s meant for gui scripting, I’m doing sort of command line on steroids with it. :p
That too, but you can get around it somewhat using vms or building a hackintosh but afaik the latest version of macos doesn’t run on Intel macs so that’s largely on the way out.
As usual, if you want to make something for Mac, Apple requires you to make it FOR Mac, with several little things on top of just being able to run the game. And you need to pay Apple for the privilege of making something for their platform too.
Then there’s also all several tech stacks that they outright forbid even if it could run just fine. And many security layers you need to navigate and document in order to not got some random API call blocked that ends up breaking your whole code (something that you can’t even test properly because the blocks occur randomly and only when the game is downloaded from their [mandatory?] app store).
Most devs work with windows as their target platform and depending on their tech stack, supporting Linux might be as simple as running a separate build script (nowadays not even that as users can just figure out for themselves how to run the windows version of the game). Testing your game on your own mac (for a limited time) might be just as easy, but Apple adds so many extra layers to the process of releasing a game for their platform that in general it’s just not worth it.
There’s a bunch of people out there desperate for anything to play, but the best option for making your game run on macs these days is to add it to some service like GeForce Now.
Non-gaming anecdote:
Colleagues wanted to build a Rust application for different platforms. (Save for scripting languages, Rust has some of the nicest tooling around that.)
Building for Windows: cross build --release --target=x86_64-pc-windows-gnu
Building for Linux: cross build --release --target=x86_64-unknown-linux-gnu
Building for macOS:
Uh, you need some signing key or something like that? I believe, they had also concluded that you’d need to use a Mac to do the build, rather than being able to cross-compile from wherever.
In the end, they decided not to support macOS…
I had heard that the juice simply isn’t worth the squeeze. IIRC PirateSoftware said like 2% of his sales came from Mac and it was all of the rigamarole you mentioned to get it working there.
I develop software for macOS but am not a game dev. I guess one thing that comes up with my friends who are is that Apple has a proprietary graphics framework called metal that’s historically not been easy to adapt to something more cross-platform like vulkan. There has been some progress on that front in terms of them providing some much-requested apis to give better feature parity with third parties, but I don’t know where things stand today?
Apple is constantly trying to shun gamedevs away from its platform, then from time to time they’ll be like “why won’t people make games for macs?” and do something like this to try to get them back, but shortly after it’ll go right back to screwing devs all over again.
How are the screwing with gamedevs? I don’t generally follow anything apple-related stuff
Xcode absolutely sucks, only supporting Metal instead of something cross platform like vulkan doesn’t help. Like they have their game porting toolkit but making a full native game is pain and suffering. Also cross compilation isn’t real half the time.
Edit: there are vulkan wrappers like MoltenVK so it’s not too awful to port. It’s just a build flag and am extra library.
lol Xcode. I miss the days of Metrowerks Codewarrior. I guess back then, the official Mac tool was some clunky shell environment. I can’t even remember what it was called. But ironically, I’m more comfortable on the command line than in Xcode these days, which is not a shining endorsement for the latter.
Automator is kind of interesting though. I’ve been looking at it lately and it’s pretty powerful once you figure it out. Again ironically, I’ve been using it mostly to manage terminal sessions in their own windows, so even though it’s meant for gui scripting, I’m doing sort of command line on steroids with it. :p
There’s a name I’ve not heard in a long time…
I need to hackintosh my old laptop again. Once I swapped the motherboard with a higher spec one, I never redid the install.
Yeah, and don’t they make you do development on a Mac too? Or am I thinking of something else…
That too, but you can get around it somewhat using vms or building a hackintosh but afaik the latest version of macos doesn’t run on Intel macs so that’s largely on the way out.
As usual, if you want to make something for Mac, Apple requires you to make it FOR Mac, with several little things on top of just being able to run the game. And you need to pay Apple for the privilege of making something for their platform too.
Then there’s also all several tech stacks that they outright forbid even if it could run just fine. And many security layers you need to navigate and document in order to not got some random API call blocked that ends up breaking your whole code (something that you can’t even test properly because the blocks occur randomly and only when the game is downloaded from their [mandatory?] app store).
Most devs work with windows as their target platform and depending on their tech stack, supporting Linux might be as simple as running a separate build script (nowadays not even that as users can just figure out for themselves how to run the windows version of the game). Testing your game on your own mac (for a limited time) might be just as easy, but Apple adds so many extra layers to the process of releasing a game for their platform that in general it’s just not worth it.
There’s a bunch of people out there desperate for anything to play, but the best option for making your game run on macs these days is to add it to some service like GeForce Now.
Non-gaming anecdote: Colleagues wanted to build a Rust application for different platforms. (Save for scripting languages, Rust has some of the nicest tooling around that.)
Building for Windows:
cross build --release --target=x86_64-pc-windows-gnu
Building for Linux:
cross build --release --target=x86_64-unknown-linux-gnu
Building for macOS:
Uh, you need some signing key or something like that? I believe, they had also concluded that you’d need to use a Mac to do the build, rather than being able to cross-compile from wherever.
In the end, they decided not to support macOS…
I had heard that the juice simply isn’t worth the squeeze. IIRC PirateSoftware said like 2% of his sales came from Mac and it was all of the rigamarole you mentioned to get it working there.
I develop software for macOS but am not a game dev. I guess one thing that comes up with my friends who are is that Apple has a proprietary graphics framework called metal that’s historically not been easy to adapt to something more cross-platform like vulkan. There has been some progress on that front in terms of them providing some much-requested apis to give better feature parity with third parties, but I don’t know where things stand today?