Half-Life Runs on Mac OS 9, the Mac Version Valve Cancelled in 1999

2 months ago

Half-Life, the landmark 1998 shooter, now runs on Mac OS 9, on the PowerPC Macs of that era. And it is the Mac version the game's makers announced, then cancelled, in 1999.

Ask

Ask about this presentation

Answers are generated from this presentation.

Chapters

  1. 0:00Half-Life Runs on Mac OS 9, the Mac Version Valve Cancelled in 1999
  2. 0:13The complete game, playable start to finish, on a PowerPC Mac.
  3. 0:22Half-Life never officially came to the classic Mac.
  4. 0:35A game is two parts: the engine, and your own copy's files.
  5. 0:57The chip stores numbers backwards, so every number must be flipped.
  6. 1:21You also had to build a program for a twenty-five-year-old system.
  7. 1:30Half-Life is back on the classic Mac, on the machines it was meant for.
Show transcript

Half-Life Runs on Mac OS 9, the Mac Version Valve Cancelled in 1999

A solo developer got the 1998 game running on Mac OS 9 — Apple’s Mac system from the late nineties — on the PowerPC Macs it was never officially released for.
game preservation PowerPC Mac Mac OS 9

Half-Life, the landmark 1998 shooter, now runs on Mac OS 9, on the PowerPC Macs of that era. And it is the Mac version the game's makers announced, then cancelled, in 1999.

The complete game, playable start to finish, on a PowerPC Mac.

PowerPC Mac · the port running the full game, multiplayer included
You bring your own copy of Half-Life. The port hands out none of the game’s files.
doctashay · github.com/doctashay/xash3d-fwgs · macintoshgarden.org

It is the complete game, playable start to finish, multiplayer included. You bring your own copy of Half-Life. The port hands out none of the game's files.

Half-Life never officially came to the classic Mac.

Nov 1998
Half-Life ships on Windows
→
Apr 1999
a classic-Mac version is announced
→
Oct 1999
Valve cancels it
→
Jan 2013
reaches the Mac via Steam
→
Jul 2026
runs on PowerPC + Mac OS 9
Oct 1999 · why it was cancelled is disputed:
Valve (Newell): the port was substandard.   The studio (Heineman): finished, about three weeks from release.
So this is not that lost port. It is not Valve’s code at all.

Half-Life never officially came to the classic Mac. A studio built a Mac version in 1999, and Valve cancelled it. So this is not that lost port. It is not Valve's code at all.

A game is two parts: the engine, and your own copy's files.

A game is two parts: the engine, and your own copy’s files.

Your own copy’s game files
the game’s own levels and art
+
A community-rebuilt engine
the program that draws the world, runs the physics
rebuilt from scratch · reads your own copy
=
Half-Life runs on a PowerPC Mac
It runs without Valve’s code because the engine and the game’s files are separate things.
Xash3D engine · github.com/FWGS/xash3d-fwgs

It runs without that code because a game splits in two. One part is the engine: the program that draws the world and runs the physics. The other is the game's own levels and art. A community had rebuilt Half-Life's engine from scratch. That engine reads your own copy of Half-Life. Rebuilt engine, plus your copy, and Half-Life runs.

The chip stores numbers backwards, so every number must be flipped.

Like reading a number written in the opposite direction.
In the file, written PC-order
F4000000
= 244
Read on the PowerPC, bytes backwards
→
0xF4000000 = 4,093,640,704
a pointer ~4 GB into nothing · crash
Flip the bytes back as the engine reads
000000F4
= 244 ✓
the developer’s name for these changes: big-endian fixes
doctashay · github.com/doctashay/xash3d-fwgs · the powerpc branch

Recompiling the engine is not enough. The PowerPC chip stores the bytes of a number in the opposite order from the PCs Half-Life was made on. So the Mac reads the game's maps and models backwards. A length becomes a huge wrong number, and the game crashes. The fix: flip every number back as the engine reads it. The developer named these changes big-endian fixes.

You also had to build a program for a twenty-five-year-old system.

A modern compiler, taught to target these old Macs
↓
The glue that gives it a window and keyboard on Mac OS 9
↓
The rebuilt engine
↓
Your own game files
↓
A running game
doctashay · github.com/doctashay/xash3d-fwgs

Normal tools cannot build for Mac OS 9. So the port uses a modern version of the tool that turns code into a program, taught to target these decades-old Macs.

Half-Life is back on the classic Mac, on the machines it was meant for.

Half-Life is back on the classic Mac, twenty-seven years after Valve walked away.

On the machines the game was meant for.
needs a PowerPC Mac Mac OS 9 or later OS 9 build is experimental
It’s free. You bring your own copy.
doctashay · github.com/doctashay/xash3d-fwgs · macintoshgarden.org

Half-Life is back on the classic Mac, twenty-seven years after Valve walked away, on the machines the game was meant for. It is free. You bring your own copy. The Mac OS 9 build is experimental.