Mac is a horrible platform to support for video game developers. Speaking from experience the issues are:
1. No cross platform builds allowed. We can compile to Windows, Linux, Android, Switch, PS4, Xbox One all from one windows build machine.
2. Shifting sand of non-backwards compatibility. Notice how of the above list everyone except Linux and Android have solid back compat stories. Video games are in development for 2-3 years, and stay on the market for 5+ years with no planned recompiles. So a 7 year period of support after inital build machine setup is expected, anything less is going to get your platform side lined.
3. Small market. Mac users make up a share of sales similar to Linux. "What are you talking about! Linux is 1% while Mac is a whole 4%!", nope! Those numbers are the same insignificance per a video game business plan. Platforms with such low sales, like Stadia, might be support provided the platform owner pays porting costs.
4. Culture. Steve Jobs disliked games, it shows in Apple's support.
5. Horrible hardware. Supposing you've decided to ignore all the downsides, and the small upside still appeals to you. Now you have to tune your game to run on hardware which would put cheap Wal-Mart machines to the test. Apple's install base is almost all integrated older intel GPUs. If you do not support Metal, then you are forced to support these old intel integrated GPUs with bonus hacked up OpenGL drivers.
All points are ones I am speaking from experience on. We shipped TINY METAL on MacOS, the lack of cross build delayed the release. The horrible sales numbers meant carrying forward support was a net drag on the game. All further games I work on do not get MacOS ports for these reasons.
This is SO annoying. I can cross compile to Windows from GNU/Linux quite easily. In fact with Wine I can even get MSVC running. But Apple, even though they employ many of the Clang/LLVM developers, believes that you must use their OS to target any Apple product.
Your only reprieve outside of buying their extremely expensive hardware is using CI services like Travis or Github actions.
Even if you DO buy a lot of expensive hardware, it’s a giant pain in the ass. There are no good rackmount solutions and so we ended up with a room full of expensive “trashcan” macs and they were STILL the biggest drag on our build infra.
This has been an issue for decades. Twenty years ago I was doing grid/HPC computing at Sun and there were a lot of bioinformatics firms that used macs and wanted compute clusters of them. It was a huge problem even then.
It's possible to mount the trashcan mac pros with unofficial mounts, its just awkward and definitely not intended [0]. You can also mount iMac Pros [1].
It's also possible to outright buy Mac Pro Rack, a $6500 full depth 4U server, that is 1CPU all the way up, that offer neither any redundancy nor any remote management, if that kind of trash matters at all.
The lack of dual power supplies and remote power on/off and good PXE support is crazy for a rack mount computer (won’t even dignify it by calling it a server).
The rack mounted Mac Pro isn’t targeted at the server market, it’s targeted at creative industries (i.e, film/tv production, audio recording, etc) where you’d have it rackmounted into a flight case as part of a mobile post-production unit.
Unity does sort of do it, but even then, the result is not the same as compiling on OSX - in particular, I've noticed differences in the shaders emitted, around HDR/bloom.
I hadn’t considered this at all mainly because I haven’t heard of apple taking legal actions against people promoting hackintosh related things and methods. Though I guess it could become a problem for a company.
I forget if there’s a better way to describe it but usually if there’s going to be a failure, it’ll be at the beginning (unless you’re constantly updating software which does have some risk)
A few? I was just looking at getting MacOS hardware so I could do iPhone builds of a Flutter app. The bottom-end Mac Mini is $800 with 8 GB of RAM, and $1400 with 32 GB, which is what people on forums were recommending for running XCode properly. Is that what you'd call a few?
Looking at System76's equivalent mini, it's $555 for the low end, which has the same RAM and a faster, newer processor. Going to 32 GB takes it all the way to $700, or half what Apple's charging. So yes, "extremely expensive" is what it seems like to me.
Especially given that it should be entirely unnecessary. Just let me do a cross-platform build!
I came here to say more or less the same thing... but for people who aren't native english speakers: a "few hundred" means $300, perhaps $350. Apple doesnt sell anything this cheap, and if you're comparing used Apple hardware to new PC hardware, thats a bit unfair.
Of course, if you want to test your software on Macs, you'll have to buy their hardware sooner or later, but even then you have to set up the build on the system instead of keeping it as pure test system.
If you do it for your day job, it's probably justified, but if you are just a hobbyist, then even hundreds of dollars are expensive. Especially if you live in a poorer area or are still a student.
The insult is that the mac you "you have to buy" is just the same Intel CPU, AMD GPU, Micron RAM and Samsung SSD you already own which can build and virtualise the 10+ other platforms.
The word PC existed long before IBM called one specific model "IBM PC" and since that specific model is no longer in widespread use it makes no sense to refer to regular non mac computers as IBM computers.
> 4. Culture. Steve Jobs disliked games, it shows in Apple's support.
IMO their lack of support has less to do with hate and more that they just didn't find value in that demographic. No one is making money off gaming hardware. On the other hand Apple has put in a LOT of effort into iOS gaming. Steve Jobs himself had multiple games showcased in his keynotes.
Huh? I mean, surely nobody is making Apple-money from gaming hardware. But plenty of companies of various sizes are decently profitable and making money in this space.
It wasn't that long ago that gaming consoles were being sold at an astonishing loss, to be made up on services subscription revenue. They're mostly not loss leaders anymore, but the hardware sales are definitely not responsible for significant profits. Video game console hardware has lower margins than gaming PC components, which are already a very low-margin market segment (except where companies can get away with a 30% surcharge by adding RGB LEDs). If Apple tried to compete in that space, they'd face an instant shareholder lawsuit.
>Video game console hardware has lower margins than gaming PC components, which are already a very low-margin market segment
The high end has quite generous margins and the volumes are absolutely insane, which is why we're now doing HPC and ML on what is basically gaming hardware. Nvidia have a broad spectrum of markets, from the high margin and low volume Quadro to the low margin and high volume GTX - in a business that's dominated by NRE costs, that's a good place to be.
Apple providing support for gaming wouldn't necessarily be profitable in itself, but it'd potentially provide the volumes to improve their offerings for professional rendering applications. Apple refuse to do business with Nvidia and they've been hamstrung by AMD's weak offerings, but a gaming-focused Apple could acquire some IP and tape out their own GPUs.
That's obviously not in the same league. The gaming capabilities of Apple TV are still pretty much an afterthought. The games available are more likely to be ports from smartphones, not Xbox/PS platforms. The processing power is a small fraction of what a video game console or gaming PC requires, which is why Apple can use leftover old smartphone SoCs instead of having to invest in actual high-end chips for the device.
There's the potential for the Apple TV to become a serious gaming platform in the future, but it would require a major shift in product strategy from Apple. That shift would have to include putting much more expensive hardware inside the Apple TV, increasing the BOM by more than the current retail price.
Regarding the hardware, are you deliberately ignoring Nintendo? They have low cost, cheap hardware, good margins, and are able to get a huge part of the market.
I agree on the need of a shift in product development, but the hardware isn’t what is lacking here.
Where does this nonesense come from? There's a whole market segment just catering to PC non-console games with companies manufacturing RGB lighted RAM, specialized motherboards and plenty of gaming periphelias. Even gaming laptop market is booming.
And that's even ignoring "tiny" companies like nVidia.
Jobs’ view always seemed short sighted to me. Yes, they were a hardware company back when he made these decisions, but software sells the hardware in the market he was in.
Halo was originally intended as a Mac release, and Steve was livid[1] when Microsoft bought Bungie and made it an Xbox exclusive. I think his apathy toward the games business probably grew from experiences like that, if not that one specifically.
This is the type of bullshit comment that makes me login and bother replying. Anyone in the industry that has needed to work with Apple knows their stance on games is inane. This is in spite of the fact that games make the lion’s share of revenue on their app store and they know it. This in spite of the fact that the majority of games on their iOS platform suck. Games is really not in their dna and boy does it show.
> everyone except Linux and Android have solid back compat stories
Linux is very backwards compatible. I've run an OpenGL application I wrote 10+ years ago without any trouble and have run non 3D applications that were over 20 years old without a need to recompile. This is because the Linux kernel has a very stable ABI.
Unfortunatly, this isn't the case if you ship with dependencies on dynamic libraries but that's pretty easy to avoid. Static link everything and only dynamically depend on SDL or something.
You could also go the windows route and ship all the DLLs. This is what steam does under Linux, they ship their own Ubuntu 14.04
> Notice how of the above list everyone except Linux and Android have solid back compat stories.
Out of curiosity, what exactly were your struggles with Linux/Android backwards compatibility? Considering how many apps I run still on my phone still use Gingerbread-era UIs, and how Linux executables from as far back as the mid-90's are supposed to be able to run on even the absolute latest kernel (Linus Torvalds having publicly chewed people out on the LKML for breaking said backwards-compatibility), it's surprising that these would somehow be classified as not having solid backwards compatibility.
The main thing that comes to mind with non-Android Linux is library versions, since those do occasionally break backwards compatibility, but this shouldn't matter too much if you're compiling static executables, or using some isolated runtime like the one Steam (IIRC) provides.
As a point of comparison here, World of Goo's Linux version came out in 2009, and it still works on my system (Slackware64-current) which - while not at the absolute most bleeding edge - is still using library and driver and kernel versions substantially more recent than most "LTS" distro releases.
* 3. Small market. Mac users make up a share of sales similar to Linux. "What are you talking about! Linux is 1% while Mac is a whole 4%!", nope! Those numbers are the same insignificance per a video game business plan*
As a Mac user, I buy other hardware to play games on! Probably the only real Apple game platform is iOS. And even then I’m a bit more careful of what games I buy.
The only Mac gaming I do is with emulators like DOS Box. The market must be really tiny.
On the flip side, I have and maintain a Windows computer for the sole purpose of gaming. I hate it to the point where I can’t understand why anyone would voluntarily subject themselves to Windows other than sheer ignorance.
You can’t swap sound outputs while an application is running. Fullscreen Direct3D games can freeze in a way that obscures all other windows, including the Task Manager, preventing you from ever killing them. USB device power management is abysmal, and devices often just won’t wake up after sleep. The OS itself is a complete clusterfuck of half-new, half-old, half-ancient things like the Control Panel. Everything prompts constantly—usually with modal windows—for absolutely pointless decisions (and no I’m not talking about UAC).
This is before I even get to what awful citizens of the platform their developers are. Everyone wants to hijack the right-click menu. For all the complaints about the Mac App Store, the Windows Store is—as best I can tell—bordering 100% crapware with no way to find anything of reasonable quality. Everything’s UI seems to have been built with entirely custom components designed by a color-blind child who’s seen too many sci-fi movies.
To top it all off, I am continually just floored whenever I read Raymond Chen’s blog. He often has posts explaining why $thing works some unexpected way or has some sharp edge, and the answer is always because thirty years ago a team at Microsoft built something insane and convoluted (admittedly through the lens of someone watching today), it’s now baked in at the lowest levels of Windows, and it can’t be touched, changed, or removed because of their commitment to backward compatibility.
I struggle to find any redeeming qualities of Windows as a user.
I get that the Mac is a poor platform for gaming development. I really do. But goddamn would I kill for that to change, and for me to be able to run games on my Mac some day.
> You can’t swap sound outputs while an application is running.
Then the application in question wasn't properly written and assumes that the output sound device never changes. About the only application running on my Windows gaming desktop that doesn't follow the sound adapter I select (headphones, integrated, USB DAC, etc) is the Java version of Minecraft.
I use MacOS, Linux and Windows and every single one of them has their own different pile of warts to deal with.
I’d be a little more circumspect before accusing others of ignorance and then going on a tirade of declarative statements about an OS you’re obviously not invested in enough to solve the problems you’re experiencing.
I’m not using “ignorant” as a pejorative here. I literally mean this in the sense of not realizing that other systems exist and are dramatically less awful. I too used to be ignorant here, until I started using Linux extensively before eventually switching to a Mac.
And yes, I understand that there are people who are forced to use Windows professionally or for gaming (like myself), there are people who use Windows because they don’t like (or want to pay for) Mac hardware, and I understand that there are even people who aren’t ignorant about other operating systems who prefer Windows. On the whole though I conclude that the overwhelming majority of users who could use a Mac and don’t simply do so out of a combination of unawareness and/or inertia.
To your second point, literally none of my complaints are something I could have any possible level of control over, no matter my level of personal investment. Windows’ nested layers of awfulness driven by slavish adherence to backward compatibility are quite literally something I could never visibly impact even if I dedicated my life to doing so. The fact that Mac apps, by and large, try to be “good citizens” of the platform while Windows is a free-for-all of developers doing anything and everything however they see fit is in a similar boat.
If Apple ever changes their mind, they could own this market though.
I have a 6 year old imac 5K. I don't game a lot but I always had a weak spot for x-plane. X-plane 11 came out shortly after I got this machine and I've been running it throughout. It has improved a lot over the years and they just released a beta with metal support. It's quite amazing that I can get decent performance with this version in 2020 that is better than what I got in 2015 with the same hardware. I run it with number of objects maxed out at a low resolution and mostly can keep the fps above 25-30, which is the minimum for an acceptable experience in a flightsim. The GPU is a still pretty decent AMD R9 M295X with 4GB ram.
However, my Steam library looks pretty depressing. As of Catalina, only a handful of games actually still work. I wasn't really playing most of them but I did spend money on this stuff at some point. I've actually been considering switching to Linux recently specifically because of Steam and having access to a bit wider selection of games. Apparently a lot of stuff works pretty well these days; certainly much more than what works on macs.
IMHO if Apple ever does a move on the gaming front, they have a good shot at domininating this market. If they can manage to mass market a good enough product, the numbers start adding up. That's why the IOS store is such a money maker. I've always been puzzled why they never made more of an effort to position the Apple TV as a gaming console. They tried, a little, but it never added up to much.
Apple making their now widely rumored move to their own CPU/GPU could unlock this. IMHO any VR/AR plans they may have are probably dependent on that. I doubt they'll make life easy for the likes of Steam to run in such an environment though. Apple has never liked middlemen.
I think you’re responding to a strawman rather than my comment, which was in a thread about developing for Macs being difficult on non-Apple hardware because they can’t run macOS and the “solution” being buying Apple hardware and not running macOS on it.
The ideal case isn't running OS X, it's for (Apple to allow) Windows (or Linux) to output OS X builds. Switching to OS X doesn't solve that. A quick read of Apple's license would imply that's prohibited, thus it's a clever bit of rules lawyering to suss out that Apple's license doesn't require that their software be running on bare-metal on OS X, just Apple hardware. This means it's possible to output OS X builds while not running OS X, in limited cases with the proper configuration.
Apple actually has a gaming platform called Apple Arcade and gaming is a separate and prominent category in the App Store. They do "game of the day" and editorials all the time, there's a platform called Game Center that can be used as an account between devices and a place to keep scores.
Their graphics performance on iPhones has been top of the line for many years now, they always boost about the graphics performance of their devices they have game demos and game introductions incorporated into their product announcements and finally they introduced game controllers support in the latest OS.
I don't know what else they need to do to target gamers. RGB LEDs maybe?
Get the graphics support on their desktop platforms/OS to a usable level again?
I barely play on mobile because most of the games I find there are either shallow or don't work as good with touch screens
While Apple Arcade was a nice idea, its clear now that is has been out a while they they are still not taking gaming seriously. New game releases are slow and the games are very shallow. There are very few games in the Arcade that you would play for more than a day or two.
Do you not suspect that the marketplace for "shallow" games is a lot bigger and more valuable than whatever section of the market you think they're missing?
You are right but it doesn't have anything to do with the abilities of the hardware or software they provide.
The medium is more approachable, therefore attracts more casual gamers and many of these casual games have stunning graphics, physics and gameplay.
There are also games that require more serious skills, games like Pubg Mobile and to be honest, I like the mobile version more than the desktop version.
Sure we can go out own ways! But I was challenging the Apple "not taking gaming seriously" accusation.
Mobile gaming is gaming now, if you count where gamers spend their money. Apple sell the easiest, most powerful mobile platforms for developers, and theres are loads of iOS exclusives as a result.
Big budget, cutting edge graphics, fiddly controls, single player big screen adventures... Those games are a shrinking niche for developers. And in that niche, MacOS can only be a 3rd place behind consoles and PCs.
Unfortunately due to the mobile architecture you can’t sync frames. This is true on the windows side too but there you can get a “gamer” laptop which has a desktop cpu and video architecture. We could only demo castar for example On a gamer laptop or a desktop. Even a cheap desktop worked great.
I’m a Mac user and develop on the Mac so you might think I’d bend over backwards to make an excuse, but...not possible in this area. Those gpus do render beautiful pictures and can do some cool gpgpu crunching, but aren’t appropriate for gaming.
Genuinely surprising. I’ve switched over from gaming on my older PC (very old CPU but a 1050ti) to my MBP for cable logistical reasons, and the MBP performs admirably. Admittedly I’m no hardcore gamer, but I’m satisfied with what my MBP can do.
I don't think adaptive refresh rate is what that post was referring to. Instead, I think it was referring to the difficulty in doing frame synchronization when the game is running on the discrete GPU but the display is connected to the integrated GPU. But I don't know how Apple's hardware is set up on that score.
Yeah, the problem was making sure we didn't have screen tearing. T he only path to video was through the mobile integrated graphics interface even when using the external graphics chip. On a desktop CPU you can DMA into graphics memory directly and get the frame sync.
I think you have to do this if you want to be able to switch between integrated and external. Which we didn't care about but perhaps most people do?
> I think you have to do this if you want to be able to switch between integrated and external. Which we didn't care about but perhaps most people do?
Most people need to be able to power down the discrete GPU when they're done gaming in order to have reasonable battery life, and the most user-friendly way to make that possible is for every application but the video game to use the integrated GPU.
It’s not necessarily about the hardware, but (for me at least) more to do with the OpenGL hacks I have to do to get reasonable cross platform support rolling.
Took about 2 days to take a win project to linux, that same win project took about 3 weeks to port to mac.
That was the first time I’d done it of course (to either mac or linux), but I just found the mac documentation to be severely lacking.
Also all macs are now stuck on OpenGL 4.1 forever, it may not matter much now, but it will show in future.
And yes I know Vulkan is a thing but I think that’ll take a while to fully be adopted by the games community.
Imprecise language on my part. I meant that’s the final version that they’re ever going to support (if you can call the current state “support”), but yeah you’re 100% correct.
But "decent" isn't really good enough for VR, where high refresh rates matter quite a bit.
Another factor in play might be that, if rumors are to be believed, future Macbooks will be shipping with ARM chips, with yet-to-be-determined CPU and Graphics performance. That might be a bridge too far for crossplatform projects who are already frustrated about having to maintain a Metal backend just for Mac.
The install base of your buyer matters, not the install base of Apple. I doubt that the average MacBook Air buyer is the average Mac video gamer, and I bet that MBPs are over represented in Mac video game uses.
Those GPUs are horribly underpowered for the screen they're driving. They would be fine on a 1920x1080 display, but on a Mac display the GPU barely squeezes stable 30fps on modern games... even in lowest settings.
The GPUs are not underpowered. A Radeon Pro is simply not intended for video games. There are less powerful standard Radeons that have better game performance.
Updates are planned, and more and more games get longer support periods. Still majority of games stop getting updates within a year.
Every game is different, but for every Subnautica with 5+ years of active development post initial sale you'll get a bunch of successful games and only marginal updates for 2 months.
For my next game, Railgrade, I am planning a couple years of updates, but even that will be dwarfed by the long tail years of continued sales after updates are done. I expect Railgrade to be on the market for 5+ years. For consoles it should be purchase-able for at least a decade until Nintendo shuts down the eShop. Then it should continue being playable for decades more.
At some point emulators will take over and my effort can keep bringing players joy for eons more. I am not interested in Apple's "expiring" model of art.
Games eventually stop getting updates. They're proprietaty software so they're always in danger of becoming incompatible with newer systems. This is true even on Windows: older games regularly fail to work on Windows 10 in my experience and many didn't recover after hunting down the missing DirectX stuff. It's gonna be ironic if Wine becomes the best way to play these games one day.
In a way, this is the whole point of the emulation community. Proprietary software was developed for really old systems and they don't work on modern computers. The old systems had to be emulated as virtual machines on top of which the old software could run.
Maybe for the first year or two, but many many games are pretty much untouched after that, even though there is a long tail of players still buying and playing them.
And yes, many expansions and additional content are usually data-driven, so it might not require a recompile.
Games are different, though. They don’t play as part of the ecosystem; they run full-screen and do their own input processing and use no system widgets or controls. They essentially take over the lowest level of hardware they can get access to, and in many ways once launched would be indistinguishable between the various platforms (quirks and rendering idiosyncrasies aside).
What things have have Macs had in terms on non-backwards compatibility? Genuinely curious here - don’t say 32 bit, they released the last desktop Mac OS that ran on 32bit hardware more than a decade ago.
(I’m not saying that I disagree with some of the other issues)
No, 32bit hardware was dropped a decade ago. There has not been a Mac sold that isn’t capable of running 64bit software for even longer.
32bit was dropped in Catalina, the prior release a year earlier started making it clear it was going away.
Neither intel nor amd sell 32bit only desktop processors, and possibly not even laptops.
Game developers complain about performance all the time, but given simply recompiling you 64bit gives (IIRC) a 15+% perf win it continues to amaze me that devs insist on producing 32 bit only software.
I started developing an iOS client for an API we use at work recently. Downloaded Xcode again, built a small POC Mac app and ran it. It wouldn't run because I am still on Mojave and the default settings are to build for 10.15. I was a little shocked/not surprised to get a "This application is not compatible with your software" type dialog from my own brand new code!
I really like a lot of the ideas that Apple implements, but the upgrade treadmill is notorious and not one of them.
You can write applications that run all the way back to Mac OS X 10.6 using the latest Xcode. However, our of the box a new project is going to be configured to build for the latest macOS supported by the version of Xcode you’re using. It’s very easy to set your deployment target to an older operating system though.
Yes, you're absolutely right and this is not generally a problem (although obviously APIs get deprecated, etc). All my projects have a cycle, though, where I open them back up and have to turn several knobs in the build settings to get them to build. It's not often an issue with the code aging out, but the Xcode configuration. I got a pretty good chuckle when that happened to a brand new project right off the bat.
How is using something like unreal engine not able to compile to all operating systems. I'm not a game developer so pardon my ignorance but can you not just run macOS on a VM from Windows to compile?
Hardware isn't horrible from Apple. It's just more expensive for macOS and the complete build quality that has been slipping over the years. All Apple users know we're paying more for the hardware than machines preinstalled with windows.
Did Steve Jobs really dislike games? I assume he might have viewed them naively as a waste of time. Most people consider that assumption true and unless you consider them some type of therapy to unwind from the world but even then it can be argued there are healthier options for the majority of people that play games.
edit: ah yes, I get downvoted for writing an honest comment because that's HN crowd.
You cannot run macOS virtualized on anything but Apple hardware. It's against the Apple Terms of Service. Is it technically possible to do? Yes. However most companies will not do so because that's ground for getting sued, or having your developer licenses revoked.
For the same reason as macOS games must be build on Apple machines, iPhone and iPad applications must also be build on Apple hardware. There is an entire market of companies that rent out "server farms" of MacMini's in datacenters for this exact reason. It massively raises the cost and complexity of a modern development/integration system to have "special snowflakes".
As it comes to hardware, the problem is you can't get something "reasonable". You can build a $500 Windows compatible PC that's not half bad. You can stick a low in Nvidia RTX card in that (for a few hundred more) and get some really reasonable gaming performance out of it. However to get an RTX level gaming performance out of a mac... you're out however much it cost to buy the new MacPro... so let's call that $10k. Most normal people are not going to pay that.
Sure, you're right about running macOS on non apple hardware but I know a lot of windows user do that and if you're a serious developer why not just buy an apple computer. I really doubt the cost of the apple computer to then compile isn't going to be paid off from macOS users if the game is any good.
Renting out a mac mini isn't raising the cost or complexity to something unreasonable either. It's like people are forcing their ideology upon a company that decided whats best for itself.
The hardware comment your wrote in regard to mine is cherry picking out the part where apple users know they're overpaying for the hardware they get.
There are quite a number of costs here relating to the "why not buy an apple computer" point. I know because I paid them in both previous jobs and as a sole developer.
Firstly, the hardware cost. It's expensive and slow, but for a business it's a justifiable expense. The real cost is in the ongoing hosting and maintenance. Keeping Mac minis or whatever in a datacentre is a costly waste of space. There's zero remote management, and any failure means a trip to visit the system along with a monitor to hook it up to. Then there's the ongoing system administration cost, keeping it updated, keeping the development tools and build dependencies current. This is an ongoing expense.
Typically, if you need to keep clean environments you need to virtualise, and this means using VMware Fusion or similar. It makes a slow Mac mini system even slower. But if you need to support multiple MacOS versions, or multiple environments, what other choice do you have? It's not like there's a containerisation system for MacOS.
Every other platform can be run virtualised on big metal, like VMware and OpenStack clusters. Linux, BSD, Windows, everything we need to care about. MacOS is a special snowflake exception. This nonconformity adds costs.
As for renting. It's bloody expensive for very little in return. That entire market segment exists solely due to how terrible the hardware and software licensing options are. And the hardware and software procurement and management pain is reflected in the uncompetitive pricing. If Apple offered a developers-only generic VM licence for MacOS this market would vanish overnight.
As a single developer, that's an incremental cost that would be hard to justify for a small potential market.
As a company, adding an additional different testing infrastructure (rent a macmini farm) with the additional pipeline costs (setup, build pipeline etc) as well as the additional opex, again, for a small potential market, is not economical.
Dislike may be a bit strong, but John Carmack described him as indifferent:
> Over the years I've been through a number of initiatives where Apple wants to get serious about games, and we've done things with them. The idea way back with Quake 3 on there, that was my deal with Steve Jobs: if Apple adopts OpenGL rather than going off and doing QuickTime3D or something else of their own which was going to be a bad idea, then I'll personally port the Quake 3 stuff rather than working with a partner company on that. And we went through all that. All of our Apple ports have been successful - they've all made money - but it's marginal money, and we have worked with Aspyr usually on all the other ones after that, but I do think it kind of comes from the top.
> The truth is Steve Jobs doesn't care about games. This is going to be one of those things that I say something in an interview and it gets fed back to him and I'm on his shithead list for a while on that, until he needs me to do something else there. But I think that that's my general opinion. He's not a gamer. It's difficult to ask somebody to get behind something they don't really believe in. I mean obviously he believes in the music and the iTunes and that whole side of things, and the media side of things, and he gets it and he pushes it and they do wonderful things with that, but he's not a gamer. That's just the bottom line about it.
> There are people at Apple who want to support all this - and there's no roadblocks for us right now, we're going to support the Mac on Rage, we hope to get a version of Quake Live going up on the Mac there - but it's just that's not what the Mac platform's about, and I don't really expect that to change because it's a tough equation now that you've got everybody dual-booting their Macs and everything: why would you want to go to the extra trouble of [developing games for Mac]?
This always struck me as highly shortsighted of Jobs and other Apple leadership. Games helped to drive and define the Apple II and Macintosh successes, and the virtuous cycle of gamers growing up on those platforms and then wanting to try their hands at developing their own games for them is how many, many software developers got their start, including some who later found themselves at Apple. What's especially strange is that that list of former videogame developers includes Jobs and Wozniak.
Apple later lucked into a gaming market with iPhone, but they're still awkward at it (just see the games they choose to showcase onstage) and there is very little cross-pollination that considers the Mac as a gaming platform.
When the Mac was originally launched, there was an industry perception that GUIs were toys not suitable for business, so Apple was very worried that being a games platform would reinforce that image[0]. That initial worry seems to have left scar tissue in their corporate culture that would haunt Apple for decades.
Games helped to drive and define the Apple II and Macintosh successes
Apple II, but Macintosh? I'm not sure I agree with that.
I think a lot of Jobs' opinions about personal computers gelled in the 80's. Back then, with the various Sinclair machines, the Ataris, the C64, and the Amiga, there were a lot of people who said that games actually harmed those platforms. In North America at least, having a large library of games made businesses see those platforms as toys and game consoles. Why would you buy an office full of game consoles? You're a serious business man wearing a serious business suit, running a serious business, and you need computers from a serious business computer company that can run serious business software! You need an IBM!
> You're a serious business man wearing a serious business suit, running a serious business, and you need computers from a serious business computer company that can run serious business software! You need an IBM!
To be fair, that mindset predates the use of personal computers to do serious graphics business. The Mac is largely responsible for making that mindset obsolete with things like desktop publishing and Photoshop. The same attributes that made the Mac a good platform for those use cases also made it much more suited to gaming than DOS-era PCs.
Is that really true? I was alive during DOS-era gaming and still remember kids from Mac families standing out on the sidewalk in the rain crying like Oliver Twist weenies because they couldn’t get their game on. Meanwhile PC - read _intel_ - games we’re writing their own low-level memory managers to eek everything out of the platform possible. I was inside playing Ultima VII or playing Falcon 3.0 with a remote friend _over modem_ drinking hot chocolate. I think any review of the games catalogs would show that the market clearly judged the Mac as less well-suited for gaming.
As far as I know it is against the terms of service to run Mac OS on non-Apple hardware, so you can't just run a macOS VM.
> Hardware isn't horrible from Apple. It's just more expensive for macOS.
Is that not the same thing, effectively? For a given buying power, a player that chooses mac will have objectively poorer hardware.
Yes, there are a few capable rigs for Apple systems, but they are ludicrously expensive and thus provide a minuscule install base for your game, so it's basically not worth the effort for a triple-A studio. Less demanding games might be more viable, but it's still a lot of costs in porting, build infrastructure and publishing for very little return.
When games are targeted to the Macs potential users have, they have always sold reasonably well. Back when the Mac market was far smaller, and it was much more difficult to develop a game, developers did OK.
If you start with the premise that you should just barely achieve 60fps with all effects enabled on this year’s top-of-the-line PC video card you’re artificially constraining your market. Make your game fun and make it run on as broad a set of users’ systems as possible and you have much better chances of doing well in any market.
I understand and agree with "make the game fun despite computer power", but you got to understand that at least in the current industry climate it means less games are even viable for porting at all.
Basically every triple-A studio banks on having The Latest Technology for their games, so that is a whole nonviable segment.
Sole developers or small indies often can't bother keeping up with the product lineup (XCode often requires the latest macOS version and that means buying a new machine way more often than for other platforms) just to be able to keep building their game. Remember, these are possibly multi-thousand dollar purchases, not to count the actual porting and testing costs. So, another segment made largely nonviable, at least for initial/planned releases.
This leaves us with what's informally called the "double-A" part of the industry: Studios large enough to have a bunch of cash to spare and one or two people who can work on sussing out the multitude of platform requirements and compatibility/performance issues that arise from the Mac platform.
Not only that, but if you are a "double-A" studio that works with a in-house engine, the costs might be increased still due to the required proprietary Metal graphics API, that must be integrated or at least integrating something like MoltenVK (assuming the engine is new enough to have a Vulkan based renderer already).
The only remaining viable projects are on an exception basis, and that leaves very few candidates for porting.
> When games are targeted to the Macs potential users have, they have always sold reasonably well.
The mac market has always been small, and the supply of games even smaller. So that supply has sold pretty well and for example Aspyr and Bungie made pretty OK money off of that.
If the mac supply of games was more competitive I'd wonder if those economics work anymore.
What you ask is basically impossible: most Macs sold only have an integrated GPU, while all major platforms (gaming PCs, Xbox, PS...) do have dedicated GPUs. This means the performance is not even comparable.
Targeting macOS is only feasible for simple/casual games and some eSports.
MacOS Vm's on any other platform other than Macs are disallowed by the EULA. And while you might or might not believe in EULA's, Apple's legal department certainly does and will prosecute commercial entities (for example, if you are trying to build and sell a game)
Re Steve Jobs on games, you can believe in your own skepticism, or you can hear it directly from John Carmack, the creator of DOOM, who tried to work with Steve Jobs to get a proper foundation for gaming on the Mac. He did not succeed.
1. No cross platform builds allowed. We can compile to Windows, Linux, Android, Switch, PS4, Xbox One all from one windows build machine.
2. Shifting sand of non-backwards compatibility. Notice how of the above list everyone except Linux and Android have solid back compat stories. Video games are in development for 2-3 years, and stay on the market for 5+ years with no planned recompiles. So a 7 year period of support after inital build machine setup is expected, anything less is going to get your platform side lined.
3. Small market. Mac users make up a share of sales similar to Linux. "What are you talking about! Linux is 1% while Mac is a whole 4%!", nope! Those numbers are the same insignificance per a video game business plan. Platforms with such low sales, like Stadia, might be support provided the platform owner pays porting costs.
4. Culture. Steve Jobs disliked games, it shows in Apple's support.
5. Horrible hardware. Supposing you've decided to ignore all the downsides, and the small upside still appeals to you. Now you have to tune your game to run on hardware which would put cheap Wal-Mart machines to the test. Apple's install base is almost all integrated older intel GPUs. If you do not support Metal, then you are forced to support these old intel integrated GPUs with bonus hacked up OpenGL drivers.
All points are ones I am speaking from experience on. We shipped TINY METAL on MacOS, the lack of cross build delayed the release. The horrible sales numbers meant carrying forward support was a net drag on the game. All further games I work on do not get MacOS ports for these reasons.