Thursday, March 06, 2008

Running Half-Life 2 natively on Mac OS X

I run Half-Life 2 natively on Mac OS X yesterday evening, in the same configuration I run it on Mac: 1280x1024 resolution, 8x anisotropic filtering, High Dynamic Range bloom rendering, all graphic settings set to "High". It run like charm. I'm impressed. Half-Life 2 was the only reason until today to keep a Windows XP partition on my Mac, and use Boot Camp. But it was inconvenient, the rebooting, even if I did it about once a week on a sunday afternoon for few hours of gameplay.

The magic behind this is called CrossOver Gaming.

Yesterday, I got an e-mail from Codeweavers where they announced CrossOver Gaming Beta. For those unfamiliar, CrossOver is a Wine-based Win32 API compatibility layer for Mac and Linux, allowing Windows application binaries to run natively under these operating systems on machines with x86 CPU architecture. I did test drive CrossOver earlier (that's why I was on their e-mail list), but it left me unexcited, not by its own fault, but really because I had no need for any Windows applications at the time.

I was intrigued by the CrossOver Gaming product though, as it does answer a need I have, namely playing a game I own without needing a reboot (VMWare fusion doesn't run Half-Life 2). Or needing a Windows license. The difference between "regular" CrossOver and CrossOver Gaming is that Gaming will see more frequent releases, will be more bleeding edge, basically less conservative as to what goes into it and frequently updated to accommodate game compatibility problems. You won't necessarily want that from a software that you use to run, say, your Windows-only accounting package, but for games, this model makes perfect sense.

Well, it works pretty much as advertised on the box. It knows of a bunch of "supported" applications, one of them being Steam (and all games available through it). It will install a surrogate HTML library (lacking Internet Explorer, right, there's no Microsoft-shipped mshtml.dll in the system) that allows Steam's built-in store browser to work, then download and install MSXML redistributables and Steam itself. Steam then launched, I logged into my account, downloaded Half-Life 2: Episode One, crossed fingers, and launched it.

It runs just as it did under Windows, and I think I couldn't say anything more praiseworthy about this CrossOver product, even in its beta. I'm totally buying this when it comes out.

I'll briefly mention that there is another player in this space, Transgaming, but unlike Codeweavers, they forked off Wine and aren't donating code back upstream to Wine, so if you need to choose, it seems as if supporting Codeweavers seems like a better option from the moral point of view, as Codeweavers do donate back to Wine. Also, Transgaming's Cedega product doesn't allow users running unaltered Windows games on Mac, only on Linux. They don't offer Cedega for Mac; they have Cider, but that's not a runtime but rather a library that developers need to link against to produce Mac-runnable versions of their games written against the Win32 API. So in reality, CrossOver is the only solution for running a Windows game natively under Mac OS X. Fortunately, it seems to be a good one.


ellisgeek said...

Ehh.. Valve JUST ported the source engine to mac and they are giving away portal for FREE. so if you own HL2 it shouldn't be that hard to get hl2 on mac by moding your portal files... Maby?

angad singh said...

i was wondering the same thing, why didn't they just make half life 2 games associated with steam accounts also playable when they've made my portal playable on the mac? it's the same engine isn't it? i have the orange box..and for every game besides portal it says ' is not availaible on your current platform"


but im installing portal right least one game :) let's hope the rest of the games on my steam account that use the source engine get a n 'install' button next to them soon :-P

Attila Szegedi said...

Well, angad, that's only the engine. And even within that, various games are bound to various versions of the engine. The engine in the original Half-Life 2 has much less features than the one in, say, Half-Life 2 Episode 2: character shadows and HDR come to mind, but I'm sure there are plenty others. Portal's engine is either even newer, or the same, as HL2E2.

I believe every individual game also has lots of game-specific code, it's not just platform-independent assets outside of the engine, so porting the engine itself is unfortunately not sufficient. Knowing Valve though, those guys are geeks enough that I can imagine they'll retroactively port Half-Life 2 games to Mac.

But even if they do it, they need time for that. They got ready with the Portal, so they released it. I'm happier this way than if they held back Steam for Mac and Portal just because they're still working on a HL2 port :-)

BTW, Torchlight - another new Mac+PC release on Steam - is also a great game. It is very similar to Diablo II, lots of people who created it actually worked on Diablo II before. If you're fan of dungeon crawlers, go for it. I'm thoroughly enjoying its Mac+PC availability: my kids play it on their Windows XP PC, and I play it on my Mac. However, if it weren't released for Mac, I doubt I would have purchased it.

Attila Szegedi said...

So, Angad, I guess you're happy now - all Orange Box elements now run on Mac, except Team Fortress, and that's too coming next week.

blaine said...

HL2DM isn't out for mac yet, which is unfortunate, since thats the only one I play anymore out of the Orange Box (quick play for 20 minutes, instead of getting hooked into a storyline)

Hopefully soon. My windows machine just sits under my desk, other than the little I play HL2DM, like once every 2 months.