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.
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.
[0] https://twitter.com/brianstucki/status/800778773998145536
Do you want to be the genius that saved a few dollars on hardware with a Hackintosh only to get the company sued?
It also takes a lot of time to setup so hackintoshing will never gain mainstream numbers.
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!
It is a bit of a pain and took me about 45 minutes, but I was going slow.
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.
> 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.
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.
It has a controller that looks like a console gamepad and is one of the target platform of Apple Arcade.
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.
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.
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.
1. https://www.mcvuk.com/business-news/publishing/steve-jobs-ra...
Some gaming keyboards full of fancy LEDs and software and stuff and military-grade whatever retail for the price of a small car.
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
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.
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.
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.
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.
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.
Actually, I’d say the ‘platform’ is Apple Arcade. I imagine that’ll grow more.
We do have Flatpak[0] which could be used for indy, DRM-free games.
Valve is also working on a Steam Linux Runtime[1] which uses Linux namespaces to make older titles work on newer distributions.
[0] https://flatpak.org/ [1] https://steamcommunity.com/app/221410/discussions/0/16386755...
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 build for OSX from Linux using clang all the time. You just need to grab the sdk from xcode and get your toolchain all setup.
You value controlling as much of your computing environment as possible? Want source to all the software you use?
Do we really need to explain the merits of libre software still in 2020?
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?
Top Grossing seems to me to be about 50/50 casual / core games.
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.
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.
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.
What does this mean?
Now that I’ve had more time since I read the post, I think they may have been referring to adaptive refresh rate.
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.
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.
Not forever: OpenGL is deprecated on macOS and will be removed in the future. I will be very surprised if OpenGL survives the ARM transition.
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.
Thus the average matters.
Only top-end MBPs are half decent for gaming anyway.
I was happy with this setup until Catalina killed 32 bit support. Most of the games I played on the MBP was 32 bit.
Killed Mac Gaming for me.
Do video game makers plan for updates? Am I getting this wrong, or are patches and such deployed without a game recompile?
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.
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.
And yes, many expansions and additional content are usually data-driven, so it might not require a recompile.
Mozilla cross compiles Mac (and soon Windows, I believe) Firefox builds on Linux build machines.
(I’m not saying that I disagree with some of the other issues)
Another major issue is broken OpenGL: bad drivers, very old version and nowadays deprecated.
In 2010 macOS gaming was in a good spot. Nowadays, Apple is making sure you don't use Macs for games.
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.
It is software support that was dropped in Catalina.
"Simply recompiling" for games is impossible for technical, legal, financial and other reasons. Some companies do not even exist.
I really like a lot of the ideas that Apple implements, but the upgrade treadmill is notorious and not one of them.
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.
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.
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.
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 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]?
https://www.eurogamer.net/articles/id-softwares-john-carmack...
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.
[0]e.g. see the concluding paragraph on https://www.folklore.org/StoryView.py?project=Macintosh&stor...
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!
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.
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.
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.
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.
Targeting macOS is only feasible for simple/casual games and some eSports.
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.
https://www.digitaltrends.com/gaming/john-carmack-talks-stev...
'[Steve] claimed to have never read a comic book in his life (“I hate them more than I hate video games,” he told me)...' — https://www.vanityfair.com/news/2019/09/bob-iger-remembers-s...
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.