Hacker News new | ask | show | jobs
by foxandmouse 486 days ago
The fact that they did this before bothering to recompile it for 64-bit Mac says a lot—Valve clearly doesn’t see Apple as a friendly place to do business. Makes sense, with Apple trying to lock game devs into the App Store.
9 comments

Writing games for Mac seems like a great challenge. You have a relatively non-standard CPU architecture with a proprietary graphics API for a small set of devices, many of which embed screens with ridiculously high resolutions while coupled to a GPU that's "good enough" at best. Apple proudly announced the mid-tier Tomb Raider 2 graphics, which doesn't promise much for game devs that don't have support from Apple's promotional campaign. All of that, on a platform that's smaller than Linux based on player count.

Unless you know for sure that you're going to get a decent player base, I don't think optimising for Mac makes much business sense for games companies. Users that can afford a Mac can probably also afford a console anyway.

You can trick games into running by using the same wrappers and workarounds that you'd use to game on Linux (except you need to optimise the wrappers yourself because they're less mature) but gaming on Linux already has plenty of DRM/anti-cheat incompatibility issues, and using less mature tools will only make that worse. And, of course, Apple doesn't care much about backwards compatibility; they've killed 32 bit for no apparent reason other than "we don't want to maintain compatibility" and who knows how long they'll maintain the current set of replacement APIs. Linux suffers from similar issues, and that's why the go-to method of playing games on Linux is to run them in an emulated Windows environment.

I think games companies will recompile games for Snapdragon before they'll bother with Mac. By the time they got all their 32 bit x86 libraries to work on ARM without emulation, Apple has probably switched around a couple of APIs and requirements anyways, so why bother.

> Linux suffers from similar issues, and that's why the go-to method of playing games on Linux is to run them in an emulated Windows environment.

See also: Win32 is the only stable ABI on Linux - https://news.ycombinator.com/item?id=32471624

Just make it stable with steam linux runtime, it's a wrapper of flatpak
from various interviews I've seen of folks in the games industry apple has historically been actively hostile to working with game companies, it seems to have softened with the iphone appstore.

People make fun of "devs devs devs" from Balmer but he was heavily right, Microsoft spent a ton to court developers and they got a monopoly on PC gaming as a result.

> Microsoft spent a ton to court developers and they got a monopoly on PC gaming as a result.

I think "courting" is underselling what they actually did.

They invested heavily into building tooling and APIs specifically for games, which eventually powered their own gaming console. They were practically the only company doing this on PCs since the mid '90s, and they became a monopoly because nobody else was focused on this. Developers and consumers jumped aboard because there was nowhere else to go. This is the same reason Steam won. For many years, there were just no alternatives.

Microsoft gets a lot of flack for many things, but they deserve a ton of credit for inventing and supporting the PC gaming landscape as we know it today.

As much as I'd like to give Microsoft credit for this, I don't think they deserve it. There's multiple historical writeups documenting how management had written off Windows as a gaming platform and did not support the original DirectX project. If it weren't for the tenacity of the original three DirectX engineers who basically did this as a passionate side project the gaming landscape would look a lot different. Microsoft got this monopoly somewhat in spite of itself.
I'd be interested in reading those reports, if you can share them.

Regardless, it seems silly to claim that Microsoft's 30+ years of supporting Windows to make it the dominant gaming platform on PC rests on the shoulders of 3 employees. I don't have any insider knowledge, but it would be safe to assume that this was a long-term strategic decision for the company. I can imagine the existence of internal detractors at every step of this direction, but what they've achieved and their position today is surely the result of the successful execution of this vision, and not something they stumbled into by chance.

Their 30 years destroying any type of competition trying to grow also can't be forget
It's on DirectX's wikipedia page with citations. Indeed, the way DirectX got received caused Microsoft to change their stance, but it really was the work of three engineers who didn't take no for an answer.
Microsoft at the very least didn't fire these developers and didn't convince them to not work on DirectX. Someone at Microsoft gets the credit, even if it's not upper management.
Exactly. DirectX is what, 25-30 years old?
Don't think that's the case anymore, "Game Porting Toolkit 2" seemingly opened the floodgates on gaming on a mac.. It's up to the developers if they think it's worth the time/ effort; but with how great apple the hardware is, and how easy it is to port a game, I think we're going to see a huge influx of mac gaming.
Isn't the Game Porting Toolkit still under that weird license where developers are only allowed to use the DirectX translation layer for "evaluation purposes"? End-users can use it to run Windows games if they want, but AFAICT developers are categorically not allowed to build their own ports around it, they still have to port their game over to Metal the hard way.
It's not going to happen. No one feels that way in the industry.
Given developers' experiences with Apple Arcade[1] I'm not holding my breath. Either Apple just doesn't really care about gaming, or they're culturally unable to provide an environment that would attract game developers. No amount of game porting toolkits will help with this. iPhone still gets plenty of (mobile) games simply because the potential audience is too big to ignore. The Mac doesn't have this luxury.

[1] https://www.macrumors.com/2024/08/01/apple-arcade-frustratio...

From TFA:

> As [1]announced on the official TF2 website

[1] https://www.teamfortress.com/post.php?id=238809 states:

> We're also doing a big update to all our multiplayer back-catalogue Source engine titles (TF2, DoD:S, HL2:DM, CS:S, and HLDM:S), adding 64-bit binary support, a scalable HUD/UI, prediction fixes, and a lot of other improvements!

So that seems to be coming, at least in the sense of x86-64 which Apple Silicon supports better via Rosetta 2.

Until they kill Roseta like they did with e very other compatibility layer
Mac accounts for 1.4% of users, which is 25% less than Linux...

That is actually more than I thought, but its clear without compatible games there is very little reason to install Steam.

Also, Apple only recently started to be more gaming friendly, so it's really not surprising they would try to port a 20 year old game.

(This is probably terribly obvious, but should be mentioned anyway: that's 1.4% Mac and 2.06% Linux users of Steam. Not users in general.)
> without compatible games

About 30% of the games I own on Steam would run on my Mac. I think that's quite much for a platform that nobody likes to develop for. But to be fair, I have few mainstream games like CoD, LoL or whatever.

Are you estimating based on hardware capability? Probably - but even if devs put the work in to port their games to Mac they will all slowly drop out of compatibility. Many games stop being updated after a while and you can't expect everyone to put effort into maintaining compatibility with newer versions of macOS. There are so many games in my Steam library that can't be played on Mac anymore because they were built for 32-bit x86. Eventually Apple will nuke Rosetta and you'll further lose access to even more games.
steamdeck runs on linux so that should eventually make games on linux mostly compatible and maybe even one day make it so that pc gamers don't have to have windows at all... chicken and egg thing though
There was a video explaining to why Valve games were never ported to the Macintosh.

I can't find it. But essentially it was Apple not wanting their machines to be used for gaming. And so axed all the work of the port and refused to publish the game.

The best I can find is from 2007 from Gabe:

> We have this pattern with Apple, where we meet with them, people there go "wow, gaming is incredibly important, we should do something with gaming". And then we'll say, "OK, here are three things you could do to make that better", and then they say OK, and then we never see them again. The cycle then repeats itself when a new group of people replace the old ones at Apple.

All of their games were ported to Mac in 2013 or so but that support has been wound back in the last year or so with Intel Macs dying, 32-bit Mac support dying and presumably no interest from Apple in helping keep the Mac ports alive.
From the blog post accompanying the source release [1], it sounds like the classic Source engine is only being made fully 64-bit just now.

> We're also doing a big update to all our multiplayer back-catalogue Source engine titles (TF2, DoD:S, HL2:DM, CS:S, and HLDM:S), adding 64-bit binary support, a scalable HUD/UI, prediction fixes, and a lot of other improvements!

So it sounds more like Valve just hadn't done the work to make it possible to run on more modern macOS (that has long been 64-bit only) until now. Not much Apple could have done except maybe tried to directly pay them to do it earlier...

1. https://www.teamfortress.com/post.php?id=238809

Yeah. If it's been ported to 64-bit now they've probably dealt with the x86 assembly as well.
You're over-analyzing it. TF2 is 17 years old, and basically has a skeleton crew keeping it running. They simply decided it's not worth the effort. I'm mad about it too, but hard to blame them.
Mac don't support vulkan nor opengl, so it didn't recompiled to mac
Technically so doesn't Windows, nor game consoles in spite of urban myths (Switch being the exception).

Windows Vulkan and OpenGL drivers exist, because Microsot still hasn't removed the ICD plugin interface from the OS, which is used by GPU vendors themselves, not Microsoft, to provide drivers on Windows for VUlkan and OpenGL.

Likewise, Valve could have use MoltenVK if they actually wanted to.

Not "likewise". MoltenVK is a compatibility shim that wraps Vulkan to Metal, not a true hardware interface. This has impacts on performance and compatibility, some features straight up don't work because Metal doesn't provide an equivalent. Given the apparent legal entanglements between Kronos Group and Apple re: Vulkan, it seems unlikely that true Vulkan support on Apple hardware will ever happen outside of Linux.

Valve didn't bother with Metal because Apple are hostile to their business model, they've given up dedicating serious rescources to the platform and at this point Steam only exists on MacOS out of inertia.

And you think ICD driver infrastructure as originally designed for OpenGL 1.0 is any better?
The venodor provided OpenGL and Vulkan drivers on Windows are not shims over DirectX and are instead full-featured implementations of those APIs for the vendor hardware without weird limitations that a shim brings. So yes, the situation on Windows is better, by miles.
Do you still also need to compile a mac build on a Mac?
You can cross-compile to a mac if that's what you are asking. Not as easily as to Windows/Linux though, but that's just because there is less interest.
I always wonder if Apples disdain for games is a relic from Steve Jobs time at Atari.
They don't have a disdain for games... At least not anymore. They're actively pushing it on both mobile and mac, even introducing "Game Mode" and the like. You wouldn't do that if you have a disdain for games.