Mac Source Ports Progress Report: June 1, 2022

I’ve had some Real Life™ stuff going on so I haven’t been able to make a whole lot of progress on getting more source ports happening, but in the meantime I ran a couple of Twitter polls about something I mentioned a while back and the response on that, coupled with the lack of activity and something else I noticed, I decided to take action. Long story short I’m now linking to five (well, really three) third party builds that do not check all of the criteria.

To recap the criteria so far has been

  • Universal 2 (so, both Apple Silicon and Intel 64-bit builds in the .app bundle)
  • Signed by an Apple Developer certificate
  • Notarized by Apples notary service

This way,

  1. The games will run natively on both Apple Silicon and Intel 64-bit Macs (with the Apple Silicon thing being a particular strong point)
  2. The games will run after downloading them without stopping the end user from running them via Gatekeeper
  3. The code has been confirmed to be checked by Apple for malware

This is the goal as a minimum, but I’m also good with hosting or pointing to additional builds, like the build of ioquake3 that is Universal 1 (runs on PowerPC as well).

In particular, what I see and foresee happening a lot is this: a bunch of people are buying the latest Macs and all they know is they want to play games on them and they don’t know or understand anything of the logistical specifics of how Macs work post-2020. They know there’s this cool new M1 processor in them but they don’t know what that means, just that it’s cool and fast and battery efficient and all that jazz.

They have no idea what it means to have broken Intel compatibility. And to a certain extent they don’t really need to care either. If a game was running in 64-bit mode on an Intel processor on a Mac before, Rosetta 2 will let them continue to play it. For a while. Eventually Rosetta 2 is going away but it’ll be years down the line.

The other thing is I figured a bunch of people will just want an easy way to play Game X with as little hassle as possible. They don’t know what OpenGame32 is or why it will run Game X they just want to double-click on the thing and play the thing. That’s one of the primary functions of Mac Source Ports: to limit the friction of the experience of doing that.

However, I’ve decided that, especially at this juncture, the occasional compromise is warranted. That is to say: on a very select and curated basis I’m going to allow games that do not adhere to all three of the bulleted criteria above, but I’m going to make it very clear when I do.

The biggest reason is just that I think right now is a good time to highlight some impressive if imperfect (insofar as the criteria is concerned) work. I’m becoming a fixture on /r/macgaming/ which is a mid-to-lower sized Reddit community and I’m seeing all the time “what games are there to play on my M1?” and “how can I play Game X on M1″ where Game X is something on Mac Source Ports. The subreddit allows for daily self promotion and I’m… adhering to that.

But at the same time I’m thinking: there are five games right now which I could list and would be a great answer to the question “what games are there for my M1?” except they don’t hit all the criteria. What’s more important: sticking to the plan and never wavering or providing imperfect but suitable answers?

So with that, I decided what would be better for the Mac as a gaming platform would be to highlight the community work on occasion even if it doesn’t check all the boxes. I’ve added five games across three source ports.

Like I mentioned before the game Warzone 2100 is a great fit in numerous ways: it’s a 1999 computer game (1999 being something of a Golden Age for people like me – olds, in other words), it’s open source, the content is freeware now, and it has an outstanding source code project complete with professional looking website. It runs on Mac and it’s Apple Silicon native. The one and only issue is it’s not notarized, but rather Ad Hoc signed (so, someone ran the codesign utility on it but not with an Apple Developer certificate). I spoke with the developers and they had valid logistical reasons for it not being notarized (you can read about it here).

Being open source and freeware I could conceivably build my own version and host that, but these guys have done so much work I don’t want to steal any of their thunder. One of the things I’m cognizant of is if a source code project makes its own Mac build and then I make mine and siphon off downloads from them, they might look at the Mac port and say “well no one really downloads this thing so we can just drop support for it”. Quite the contrary, I’d rather drive downloads to their site if possible.

I’m still going to communicate with them and let them know of any solutions I run into, but in the meantime there’s this full, free 1999 computer game that runs on Apple Silicon, it seems like a waste not to add it. I’ve labeled it as Ad Hoc Signed so we’ll see how that goes.

In that vein, another game I get a lot of requests for is Re-Volt. This is a blink-and-you-missed-it racing game, also from 1999 (not kidding) that shipped on the PC and the Sega Dreamcast. From the outside it would just seem to be a typical kart racing game, albeit one with a cute twist (you’re racing small RC cars around full sized urban environments) but it has a devout following. How devout? They reverse engineered a source port with no existing code. The result is RVGL.

The problem was it wasn’t available digitally anywhere, and it was never released for free, so it tended to be the sort of thing where you’d get the files from *somewhere* and run it. But then GOG re-added it. Turns out there’s been some drama surrounding the game’s rights so it’s had intermittent availability.

And like Warzone 2100, it’s a deal where it’s native on Apple Silicon but it’s not signed or notarized. And unlike Warzone 2100 it would probably be a good candidate for me to rebuild and notarize, except for one thing: it’ not open source or source available. I’m not sure why but I’m seeing some reports that the authors might be concerned about getting in trouble for reverse engineering the code (after what happened to the RE3 project, it’s a valid concern) so they’re keeping it under wraps.

I’ve reached out to the authors but in the meantime I’ve gone ahead and added it with the Ad Hoc Signed warning since I’ve had so many requests to add it to the site. Plus if someone clicks the GOG link and buys it I’ll eventually receive a few pennies, which is nice.

And then there’s the OpenRA project. This one is basically the opposite situation – it’s actually signed and notarized. However, it’s not Universal 2, it doesn’t have native Apple Silicon support yet. It’s in the works and it looks like it’ll be in their next release, but in the meantime it works fine via Rosetta 2. So since it’s notarized and since Apple Silicon is in the works, I figured it would benefit the community to point out that it can play Command & ConquerCommand & Conquer: Red Alert, and Dune 2000. I had to add some scaffolding to the site’s code to handle showing the fact that it’s not Universal 2 or even 1 (no PowerPC support) and an Intel-specific icon but they’re there.

As if that wasn’t weird enough, it has a fairly novel if unusual approach to content management. Apparently at various points in time versions of Command & Conquer and Red Alert have been released as freeware. So if you don’t have the games or own them it can download a subset of data from the games to play. I think it skips video cutscenes and music for bandwidth reasons, but the other way is if you provide the game with either a pre-existing installation or an installation disc. Obviously there’s not currently a way to install it on a modern Mac (that I know of) so a disc seems like the next best thing – except of course for the lack of a disc drive on, well, every Mac these days (last model with a drive was like 2013 I think?).

But of course I had to try this and I saw that the release of the games under the title The First Decade (which itself is like 14 years old now yikes) was one of the discs that worked so I broke out the SuperDrive that I’ve carried around in my backpack for eight years and maybe used like five times and… yup, it works.

It’s like a floppy disk drive: you almost never need it but when you need it you *really* need it

The Dune 2000 port can do something similar and I’m not sure if Dune 2000 was ever released as freeware, but it’s almost definitely abandonware since it’s been out of print forever and EA likely doesn’t own the Dune license anymore anyway. So to me that’s a different situation than, say, Re-Volt. I guess one of the perks of linking to a source port like this that doesn’t include the data but can bootstrap it from sources is that the blame is elsewhere. Also this project has been around for years, and litigious EA hasn’t seen fit to put the smack down on it so it’s probably ok.

So yeah, I don’t see this becoming a habit but I decided to add five games using three source ports to the site even though they bend the rules on the criteria slightly, for the reasons I explain above.