Hacker News new | ask | show | jobs
Half-Life ported to Mac OS 9 (mac-classic.com)
200 points by freediver 9 hours ago
17 comments

Nice, I'm surprised it took this long! My first experience of playing Quake 1 in my home was an unauthorized source port which ran in System 7, I believe was called "HackQuake", ported from stolen source code from CrackDotCom apparently[0][1] .. For me as a kid getting insanely impatient to play Quake, this was a godsend! Even if the performance was brutal and firing a rocket caused the framerate to halve. Played it at 320x200 pixel-doubled just to eke out that extra little bit of performance. Anyway, the point is that HL probably could have been running on Mac since day one, if someone had spent the time to port it!

[0] https://www.wired.com/1997/01/hackers-hack-crack-steal-quake...

[1] https://github.com/Jason2Brownlee/QuakeOfficialArchive/blob/...

I remember when TIE Fighter finally came out for the Mac, I just begged my parents to order it from Mac Warehouse or whichever catalogue it was in. I didn't read the system requirements, which said it needed a PowerPC. I was still rocking a Quadra 610 that I'd upgraded to a 50MHz 68040 and 24 MB of RAM.

When I got the game and looked at the box, I was heartbroken. But I decided, why not put in the disk anyway. I did the Get Info on the app, and lo and behold, Lucas Arts had left what was probably a totally untested 68k slice in the binary. Double-clicked it, and I could play without a problem. Sure I had to play it in a tiny 320x240 window, but that extra 16 MB of RAM and extra 25 MHz made it playable.

That is an amazing story. I grew up with a weak performa 560 and was constantly browsing the aisles at Fry’s Electronics looking for games. None of them supported Mac, especially 25MHz 68k!
I had a dream as a kid that my parents had finally bought a Color Macintosh. Imagine how heartbroken I was when I woke up. That MacUser issue for the Mac II was basically torture.
Having spent a large chunk of my teens playing X-Wing on a 486-DX33 you are clearly my enemy. :P

I didn’t have to data mine a compatible .exe from the game files but I did have to use a special boot disk with a modified himem.sys on it so the game would launch. Good times, haha.

You're spot on. Software is infinitely flexible provided time and/or resources.
The most interesting thing about this link, for me, is seeing that there's an open-source recreation of GoldSrc [0]? That's apparently been around since 2011 [1]? I'm stunned I haven't heard about this before. Very cool.

[0] https://github.com/fwgs/xash3d-fwgs

[1] https://www.moddb.com/engines/xash3d-engine

Xash3D is not really open-source. The original codebase comes from leaked/decompiled code, and nowadays still requires the proprietary HLSDK to build.
Can you provide citations for this? The original Xash3D engine is listed as open source on ModDB
Example discussion here : https://github.com/FWGS/xash3d-fwgs/issues/63#issuecomment-9...

HN comment from a major maintainer here : https://news.ycombinator.com/item?id=38314427

Valve has confirmed that it violates the HLSDK EULA, too. At least for the original Xash3D release.

More and more, I wonder if projects like this (I assume they're made possible 'all of a sudden' because of AI coding tools) are going to eventually breathe new life into dozens of "obsolete" platforms long ago deemed too costly to keep supporting. Maybe we'll be able to daily drive OS9 with modern browsers and bugfixes. Or for those of us less masochistic, say, Windows 2000 or NextStep!
One of the first things I did with ChatGPT was feed it source for the existing OHCI USB Host Adapter driver to make it work with more common UHCI hardware.

There are many people working to extend NeXT, Openstep and even Rhapsody. Not to mention emulation projects and deep dives into XNU source, early Darwin source and shoehorning kernels and libraries into various places.

The Epson NX was purpose-built to run NeXTStep, for example, and bringing support for machines like that and the Canon object.station into 86box is a pet project of mine.

Join us https://www.nextcomputers.org/forums/index.php?topic=5286.ms...

That reminds me of how I had had to cross compile a Linux kernel with a special USB patch to install a system on my Bondi Blue iMac.
At least in retro spaces there's a lot of rejection of using AI to do things.

Half-Life (and the later Source engine games such as Half-Life 2 and Portal) were ported without LLM assistance however

(Source: I am in the Discord where the developer has been working and diligently posting updates on the project)

(Removed inaccurate remark, or rather, removed my reply to an inaccurate remark)
Hi there, I'm the developer of this port.

I did use AI to assist me in development and I'm not shy about admitting that. This was still a hands-on effort that took well over 40 hours of development time spread over a couple months. Much like other development tools, AI certainly sped up my development process and allowed to ship something in a couple of months using my free time.

AI is a tool and it isn't going anywhere, I've posted my thoughts about AI extensively in the PowerPC community. I don't proactively volunteer or plaster my readmes with notes about AI because it doesn't really matter.

Speaking for me personally I have no problem using tools in my toolbelt to solve problems faster in my limited free time.

I recommend you approach life in a spirit of curiosity—it can be interesting to learn about the different interests and motivations of other people!
"unsustainable" is an odd word to use for a hobby. They aren't trying to hit productivity goals. Maybe they just still like programming.
I do, too, but I'm feeling increasingly awkward doing it by hand.

NGL, it's not an altogether-comfortable feeling. At least not yet.

What a bizarre take

Many people refuse to use LLM's for various reasons that I don't need to rehash here

"Bizarre" is rejecting powerful tools on ... what, religious grounds?

It would be one thing if we were talking woodworking or pottery or another skilled craft, where your personal growth of talent with experience is evident in the product, resulting in something you can look back on fondly and point to with pride.

But moving some legacy code (which you didn't write) from one platform to another? What do you get out of doing that by hand?

You seem either deliberately or functionally unable to grasp the premise of why anyone would do this (or reject LLM's)

I suggest instead you go read up on why people dislike them and gain a more well-rounded and nuanced understanding of the topic

One impressive one to me is the current effort to port Doom to the Neo Geo. Because of its unique hardware setup in that it is entirely sprite based and doesn't have a frame buffer, it is a very difficult challenge to take on. And yet most of the code on these projects is being done via AI and it works pretty dang well.

Considering these coding system probably have almost no idea of the Neo Geo's specifics and with very little reference code directly linked to the system to bounce off, that is dang impressive.

This isn't an all-of-a-sudden, the engine has been worked on for over 7 years now https://github.com/fwgs/xash3d-fwgs
Or even create new platforms where we're not bound by platform owners' imposed artificial limitations.
So the entire free software movement? ;)
I feel like the best Beatles songs are yet to be written.

Or alternatively best classic Simpsons episodes are yet to be made.

> Or alternatively best classic Simpsons episodes are yet to be made.

Yes. This will happen.... when pigs fly

(It's still good, it's still good)

I think you're underselling where we'll get to in the next 5-10 years. I'm thinking:

Best Beatles song recorded between Rubber Soul and Revolver, composed mainly by McCartney but Lennon wrote the bridge and Ringo was feeling adventurous and Harrison was angry that day, and it was deemed not commercial enough to include on Revolver.

Best season 3 episode of The Simpsons, really showing the transition to Homer as the lead, written by Robert Cohen with significant musical input from Danny Elfman and featuring seven characters loosely representing the deadly sins, with Homer as Gluttony of course.

I think people seem to be downvoting this because it's not something they like whether true or not, however I think it's a thought-provoking perspective which warrants some consideration.
I think there is real insight but it kinda relies on a rhetorical trick. AI could arguably create a simpsons episode. It absolutely could not make a Beatles song. The Beatles can only make a Beatles song, and they do not exist.
The Beatles absolutely still exist! They published a new single in 2023 ("Now and Then") and they surgically injected slices from archive footage into new footage for the music video to make it look like young Lennon and Harrison perform alongside elder McCartney and Ringo.
The big blocker is actually TLS. Without it lots of tools including browsers are blocked. Now with AI I bet it is manageable, before that the effort required resulted in what you see, almost nothing.
There's already Netsurf with beter JS support than the Duktape one under Unix, Windows and even RiscOS.
In one of the most infamous stories of the era, Half-Life was officially ported to Mac OS back in the year 2000 by Logicware/MacPlay but got shut down by Valve at the last minute.

I've watched interviews with Rebecca Heineman (one of the devs involved) on the topic. It did not make her happy.

Here's an article from the era:

https://www.gamespot.com/articles/mac-half-life-canceled/110...

Interview with Rebecca Heineman:

https://www.youtube.com/watch?v=lPTLPXNtb2I

(skip to timecode 1:36:41 for the Half-Life details)

I was so steamed about this as a teenager back when it happened - pretty sure it was one of the foundational reasons I started to consider building my own gaming PC once I got the money together.

As an adult, and with the hindsight of seeing how Valve has (generally) supported their games over the years, I can appreciate gaben's reasoning for cancelling it... though as someone gaming on the Mac, we were all kind of used to being second class citizens and bodging together mod support and whatever, so I still think they should've let it come out.

> “Given the realities of the Mac gaming market, our Mac customers were… always going to be second-class customers where we couldn’t invest to the same degree in the Mac version as we did elsewhere,” commented Newell. “I don’t want to be in that business. I would much rather we just eat the money we’ve spent so far than take money from Mac customers and shortchange them.”

Notoriously after Halo for Macintosh was canned, too...
Oh dear Becky 'Burger' did see both the best and worst of this industry.
For reference this is roughly period correct for the early iMac models (G3 and DV) that came out in 1998 and 1999, though MacOS 9 didn't ship until later. Impressive porting work.
Always weirds me out to see an iMac running an OS older than OS X. The physical design language really ended up dictating the OS X look, didn't it? Still does, in a way, with Liquid Glass bringing back clear.
I think the technology also dictated it. It’s easy to forget that in those days the idea of window chrome being full color, full transparency, with live window dragging and visuals not locked to tiling 8x8 or at best 32x32 elements was incredibly novel. And that was as much about preemptive multitasking and expecting and allowing every application to keep its windows up to date as it was about Quartz.

Aqua was garish and in your face, but it needed to be in order to be a symbol of what the system had achieved, which I think was especially important because that came at the cost of being a buggy, immature OS that had to run crucial apps in a hideous compatibility mode while it was getting established.

Edit: and if I can be a cranky old codger for a moment, I think that Liquid Glass unintentionally serves just as well as a symbol for what Apple has become: a company grasping to relive the memory of innovation without remembering how to innovate.

At the time there was also a major push to bring desktop computing and the web to the general population, remember this was a time when cutting costs enough to market a $1000 PC ($2000 adjusted for inflation) was considered a major achievement, the very bottom of the market. I get the sense that Apple was trying to distance its design as much as possible from square-cornered beige boxes as possible to signal that the products were for normal people.
This; and that WIndows 2k was as stable as OSX (compared to w9x and the ME disaster) but... it looked functional but boring , as a brutalist building in any European neighbourhood. Mac OS X blended both the incredible FX you would get from an SGI machine... with all the A/V and printing/design Mac tools, most common PC software (Office, Photoshop)... AND being able to run damn LaTeX, X11, Unix tools and the like. Of course even Windows XP wasn't a match against a G4 with OSX Tiger. They tried with VIsta (after Compiz and KDE3 tried to get tons of OSX' inspiration under GNU and BSD) and it was a disaster.
Each original iMac color came with an associated default OS9 background that matched it.
The G3 iMac that came out in this time period had much weaker 3D rendering capability than a contemporary PC gaming video card like a TNT2. Their video ability was closer to the 2D/office oriented video cards sold for non gaming use...

https://en.wikipedia.org/wiki/RIVA_TNT2

Or a voodoo2...

Yes, but Half-Life was designed to be somewhat playable with software rendering even on a 133MHz Pentium and that would have been the better rendering path on the earliest iMacs. In my opinion in that generation Half-Life's software renderer looked better than most of those cards due to the blurry textures and poor scaling (lack of VRAM basically unless you had cash for the 32MB versions) so no big loss for single player play.
To bring up an almost three decade old debate, it would be fascinating to see the performance difference between PPC and x86 in software rendering. Probably mostly bandwidth limited at this point still.

PPC ended up being a brilliant design done mediocre, while x86 is a mediocre design done very well.

I don't know the details but I would imagine that the comparison would shift quite a lot over those years due to the rollout of SIMD features on both sides along with the other microarchitectural improvements. I'm not sure I would characterize PPC as being mediocre, I think the designers hit more or less the target they wanted even if the top line performance numbers weren't hands down higher than the contemporary x86 parts and it didn't have the shine of IA64. There's a reason we still fly PPC 750 variants in some critical systems. If you think back to that period Apple was moving from 68k (where they were both one of the biggest customers for the chips but also not enough volume to field a part competitive on desktop) to PPC where they were no bigger (maybe declining unit volume) but at least part of a stronger coalition of users. The group's interest diverged (no laptop roadmap) and I'm guessing Apple wanted to switch to x86 as early as 2002 and it just took a few years to get the company stabilized enough to make the jump.

Edit: It would be interesting to look at the software rasterizer and game engine problems in a modern context of big compute and superoptimizers and see what is possible. I'm guessing not much above what the hand-tuned code of the era got, but maybe significant in the context of doing these kinds of retro-ports on a small budget.

The 1998 release required a 500MHz processor at a minimum... 133MHz might be pushing it.
Pentium 133MHz was coincidentally the fastest machine I had at the time but also the minimum spec labeled on the box. (my laptop had a Chips & Technologies 65550, so no 3D help there)
I would have been really excited about this circa 1999. I mean don't get me wrong, I was grateful for Unreal Tournament and Q3A, and I knew I'd be getting Halo soon, but this is the one game I was really jealous of my friends for.
> I knew I'd be getting Halo soon

That’s a deep cut. (And salt on the wound.)

I sometimes wonder what the timeline where Bungie didn't write the Myth II uninstaller-can-wipe-your-hard-drive bug would look like.

IIUC, the fact that they reprinted all the discs and manually replaced all the boxed, ready-to-ship discs to avoid any chance of destroying someone's data wound up eating most of the profits from Myth II.

That, in turn, led to the situation where they were too cash-strapped to finish Halo on their own, resulting in the infamous moment where Apple decided to buy them after all just a couple days too late: https://arstechnica.com/gaming/2010/10/jobs-turned-down-bung...

I still fantasize about an Oni-meets-Mirror's-Edge freerunning / martial arts game.

Maybe there'd have been one if not for that bug.

And just a few years later, Apple shipped an iTunes 2 installer that could wipe your external hard drives.
I was not aware of the Myth 2 bug, but from people I know that have worked with Bungie's code in the 90's early 2000's... yeah that tracks.

Not sure what it was like towards the end of the Blam/Midnight/Slipspace engine era but at the beginning it was the dictionary definition of 'Technical debt'.

Hah. When I saw the headline, I said, "Finally! I've been asking for this for almost 30 years!"
Likewise. I still remember being upset when the news broke that the port had been dropped.
the real achievement here is getting a 1998 game engine to run on an OS that Apple actively tried to erase from existence. Half-Life outlived both Mac OS 9 and the Performa line.
It's not like they held a funeral on stage in front of a huge crowd of developers, say at WWDC 02 or anything...

Yeah, I think Steve took equal part great joy with a little sprinkle of sadness at what was that event.

Runs nicely on my iBook G3!

Is the OS 9 build supposed to include Blue Shift and Opposing Force, or is that only a reference to the Tiger and Leopard ports? Just tried out the Tiger port on my iMac G4; it also runs fine!

Everybody knows what a celebrity Gordon Freeman is, but Mac OS 9 has not been graced with his presence yet. So glad to see things change for the better!
So will this run through Classic no problem, yes? I almost want to break my powebook G4 out of mothballs on principle to try this.
Wow. This is the golden age for classic Macs.
That's nice.

Now do MacOS 26, on M chips.

[UPDATE] To make it clear, it was a joke (always a faceplant, on HN, where senses of humor go to die). It's actually very cool. I just get cranky that 3/4 of my Steam games don't work on new Macs, and I did like HL.

Awesome!
But, to make it clear, it was a joke. It's actually very cool. I just get cranky that 3/4 of my Steam games don't work on new Macs, and I did like HL.
I love that simcity4 has an applesilicon and big name recent releases don't.

Yay.

https://github.com/Sikarugir-App/Sikarugir

Well, try installing this Wine build for Mac and then Steam for Windows under it.

Then run Steam and enable "Steam Play/Proton compatibility" or whatever it's called under its settings.

Nah, that's based.

If Apple Silicon ran my games collection I simply wouldn't have another computer other than my M2 MBP. I've run Fallout 3 on it, and while the emulation isn't perfect, it is playable and runs. The fan doesn't turn into a jet aircraft at takeoff, the temps stay cool.

The fact that most games won't play on Apple Silicon natively is a crime.

Tangentially related, there are now "officially allowed" Apple Silicon builds of Unreal Tournament and Unreal Tournament 2004 available [0]

[0]: https://github.com/OldUnreal/FullGameInstallers/releases/tag...

Install this Wine build for Apple Silicon and then install anything you want, from Steam to GOG games which often will perfectly run in your machine:

https://github.com/Sikarugir-App/Sikarugir

Next, open Steam and enable the "Steam Play/proton compatibility" in the settings.

Jokes are downvoted not because of a lack humor but because if we reward making jokes we will have to scroll through dozens of jokes and all of their responses to get the actual discussion. Voting is about keeping the on topic and worthwhile discussion at the top with everything else buried beneath it.
You must be fun at parties.
must?
Apparently so, he does not seem to be giving me any choice in the matter.
I think those guys are about classic Macs
I know. It was kind of a joke, which, due to this being HN, fell flat.
We at Hacker News do not have a sense of humor that we’re aware of.
I see. Maybe it was a little random
I get cranky coming to HN and seeing 3/4 of the posts about games.
Seems 90% AI, these days, with a lot of going into the weeds of AI management and development.
Missing a bounty to go with that directness!
you do it.
Nope. Looks like someone already did (look up)
if youre not going to do it, then dont complain when others dont do it
If you had read -even the original post, with its update, you would realize that it was a badly-delivered joke.

Life’s too short to take seriously.

This is the only site where it is illegal to make a joke.
Fair cop, Guv
Porting AssaultCube should be doable too
Cleverly done.
Great, now all I need is (checks the closet) any of the dozen or so powermacs I owned over the years to not have left my possession...
This makes me so happy lol.
[R]age Board for the Elites represent!

I still send the di clan video around every few months to the Zoomers I connect with in games.

Halcyon days of HLDM and AG worldwide. RIP Neo. May you sneak around boot_camp in the great beyond with joy.