9 ms·
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 t
by Danieru 6y ago
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.
- cced 6y ago> Video games are in development for 2-3 years, and stay on the market for 5+ years with no planned recompiles. Do video game makers plan for updates? Am I getting this wrong, or are patches and such deployed without a game recompile?
- kroltan 6y agoMaybe 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.
- Danieru 6y agoUpdates 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.
- stuart78 6y agoRailgrade looks very cool, look forward to checking it out.
- matheusmoreira 6y agoGames 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.
- sysbin 6y agoHow 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.
- barkingcat 6y agoMacOS 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. https://www.digitaltrends.com/gaming/john-carmack-talks-steve-jobs-video-games/ https://www.digitaltrends.com/gaming/john-carmack-talks-stev...
- kroltan 6y ago> just run macOS on a VM 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.
- 6y ago
- ashtonkem 6y agoI will say that the newer MBPs have decent video cards. They’re not great, but they’re ok-ish.
- Danieru 6y agoIndeed, new machines can have decent GPUs. Except the install base is where your game will be played. Thus the average matters.
- ashtonkem 6y agoThe 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.
- jfkebwjsbx 6y agoI would bet otherwise. Most gamers are casual and casual games usually run on integrated GPUs. Only top-end MBPs are half decent for gaming anyway.
- arvinsim 6y agoI have a gaming PC but also used my MBP for gaming on non GPU intensive games. 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.
- gumby 6y agoUnfortunately 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.
- 2muchcoffeeman 6y ago* 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.
- lostgame 6y ago>> Probably the only real Apple game platform is iOS Actually, I’d say the ‘platform’ is Apple Arcade. I imagine that’ll grow more.
- stouset 6y agoOn 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.
- est31 6y ago> 1. No cross platform builds allowed. 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.
- snarfy 6y agoWhat? I can use online CI services to compile for MacOS? TIL.
- deleted 6y ago[deleted]
- olliej 6y agoSorry, since when is a few hundred dollars “extremely expensive”?
- hdbdbdnsns 6y agoMaybe you should ask "where", not "when".
- est31 6y agoCompared to IBM computers, they are overpriced. 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.
- ngcc_hk 6y agoIBM computers!? Have not heard for quite awhile. Thought they quit the PC world to Lenovo for quite sometimes la.
- olliej 6y agoWhat 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)
- kbumsik 6y agoMetal?
- ultrarunner 6y agoI 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.
- eschaton 6y agoYou 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.
- ultrarunner 6y agoYes, 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.
- jfkebwjsbx 6y ago
- paxys 6y agoAgree with everything except > 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.
- wishinghand 6y agoJobs’ 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.
- culturestate 6y ago> Jobs’ view always seemed short sighted to me 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-raged-at-microsoft-over-game-studio-sale/ https://www.mcvuk.com/business-news/publishing/steve-jobs-ra...
- wishinghand 6y agoI could see that. Can't remember if Isaacs' biography covered that debacle.
- whymauri 6y ago>No one is making money off gaming hardware. 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.
- wtallis 6y agoIt 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.
- lookdangerous 6y agoI suppose they do that so you know what using a Mac is like when you develop for it. Macs are, in my experience, different than other machines.
- dgellow 6y agoHow are they different?
- lookdangerous 6y agoAwesome trackpads, and cohesive hardware from a single maker vs a massive ecosystem of different arrangements of components. Different ethos imo.
- ComputerGuru 6y agoGames 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).
- mrtksn 6y agoOn the other hand, Apple is a top dog in mobile gaming. Maybe it should not be generalized as "Apple doesn't like games".
- IntelMiner 6y agoThat's more a factor of having a large install base than actively courting or targeting "gamers"
- chaostheory 6y agotbf even Apple realizes the problem, which is probably why they worked to make iOS and MacOS more cross compatible with each other development wise
- mrtksn 6y agoApple 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?
- zwirbl 6y agoGet 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
- jay_kyburz 6y agoWhile 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.
- yellowapple 6y ago> 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.
- vbezhenar 6y agoIMO #3 is the only significant issue. Developer will overcome any struggles if payback worth it.
- pengaru 6y ago> 1. No cross platform builds allowed. We can compile to Windows, Linux, Android, Switch, PS4, Xbox One all from one windows build machine. 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. https://github.com/tpoechtrager/osxcross https://github.com/tpoechtrager/osxcross
- detaro 6y agoLicense terms explicitly forbid using any of the SDK on non-Apple hardware, so many companies will not be comfortable with ignoring that.
- leowoo91 6y agoWhat if linux is on apple hardware?
- cpeterso 6y ago> 1. No cross platform builds allowed. Mozilla cross compiles Mac (and soon Windows, I believe) Firefox builds on Linux build machines.
- saagarjha 6y agoSomeone had mentioned this previously and I was curious if you were linking against the SDK or TBD files.
- Kostic 6y agoThe backwards compatibility for games on Linux is being improved. 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/ https://flatpak.org/ [1] https://steamcommunity.com/app/221410/discussions/0/1638675549018366706/ https://steamcommunity.com/app/221410/discussions/0/16386755...
- girvo 6y agoAs one of the few who tried to game on macOS using an eGPU; I don’t blame you. Also, Tiny Metal rules :)
- jillesvangurp 6y agoIf 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.
- green7ea 6y ago> 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