IntroductionI'm going to go against the grain here and embarrass my fellow bit-tech staffers – I love my Macbook. In fact, since I recently acquired my Macbook Pro after an accident involving some rather delicious green tea, I've fallen even more in love.
Now, I'm not here to preach about the love of Macs, because I happen to be a firm believer in the idea that all of the major operating systems have their place. I do my office work on Windows, run Linux servers, and live my daily life on a Mac.
The problem has always been in gaming – the area is almost entirely dominated by Windows. I'm not going to whine about the developers leaving the rest of us in the cold or any of that hooplah – let's be realistic here. Windows dominates the market and honestly DirectX (for all its quirks) is arguably one of the best APIs in the whole history of computing, let alone gaming.
Of course, since DirectX is exclusively Windows-based, it's left Mac and Linux users out in the cold for quite some time. Releases lag by months if not years before a Mac port is created, and that's if one is ever even seen. Updates are rare and bugs linger for ages. Sure, there are some great games coded natively for OSX or Linux as Glider wrote about previously, but most commercial titles are just not there.
Enter Wine, an ages-old project to get Windows software running on non-windows machines. The Wine project now has several offshoots, which in the gaming side come in the form of Cider (at the architectural level from the makers of Cedega) and a very highly-tweaked Wine (at the virtualization level) which remains open source.
This is where we've sat for years – a couple open source projects trying to scrape together enough funding and open source love to make a difference. And it's where the company Codeweavers comes into play – a "funding bridge" between open source and corporations.
Codeweavers sells its software commercially, which is based on very carefully tailored packages of Wine that it calls "Crossover." But rather than become a big company making money off an open project, Codeweavers exists as little more than a professional conduit – the developers are some of the best and brightest of the Wine community for years, and so your money goes 100 percent back into the Wine community. Businesses and individuals that buy the company's Crossover software are actually donating to the Wine project, and in return get support and assistance with getting their needed programs to run.
The company has had some great success with Crossover, enough so that it could begin devoting part of its resources to fund solidly game research. Wine as it stands right now has some problems with its ability to handle gaming, particularly in the DirectX API and the .NET 2.0 Framework – you can bet that Microsoft isn't exactly chomping at the bit to help, either. So, with some actual funding in hand, Codeweavers began to work on the project that is now known as Crossover Games – the product we'll be reviewing today.
Why Crossover Games?Crossover Games is not a new concept by any means, but it is the first product to actually promise some real meaty gaming on Mac and Linux. In particular, the company boasts support for Valve's Half Life 2 and Team Fortress 2, as well as several MMOs such as World of Warcraft, Guild Wars and Eve Online.
Now, the first thing that an astute cross-platform gamer will notice is that one of the biggest names on this list (WoW) is already cross-platform. So...whoopie? You can run some games that are already on the Mac natively! However, in days on days of testing various games (It's a hard job, I finally understand what Joe feels!) I can say that it actually runs quite a lot of software, including but not limited to Call of Duty 2, Prey and many (maaaaaannnyyyy) others.
Purchasing Crossover Games is quite easy – just zip on over to the Codeweavers website and grab your copy of a free 30-day trial for either Mac or Linux. Once that expires, it's going to set you back $39.95 USD or £25.99 GBP which can be paid via Paypal. This means that for once the Brits don't appear to get completely shafted on pricing!
Today we'll be looking specifically at the Mac version of the software, though I'll take a look at Linux later this month just to see if it's functioning as well. As my trial had recently expired, I'm using a retail copy – purchasing will not only net you an actual working system for more than a month, but also unlimited updates and support for a year – even for incremental builds and subversion releases. If you like to tinker or help out, these will let you play with the absolute bleeding edge and be one of the first voices heard if there's a bug or feature request.
Installation is as easy as any Mac user would expect – open up the .dmg file and drag it into your applications directory. Pretty neat, huh? From this point forward, any Windows-based .exe file or DVD will be recognized and you can choose for it to run them automatically, prompt you for what to do or ignore them completely. I set mine to ask politely...I'm not a fan of things thinking for me.
Looking under the hoodNow that we have the basic program installed, it's time to actually understand what it's doing. After all, Crossover is not really an emulator, nor is it a Virtualization solution like VMware or Parallels. It sits somewhere in between not running Windows at all and running a full copy inside of a virtual computer.
Crossover Games (and the underlying Wine installation) is actually much like an API – it takes the procedure calls from the machine instructions given by the program and "translates" them from Windows language to Mac language before they get executed. It's almost like an API for the APIs – translating things like DirectX commands into OpenGL the same way DirectX translates commands for the hardware.
To do this, Crossover uses Wine's "Bottle" approach, which it doesn't really go into great detail on – so, I'll spend a minute with you on it. Rather than create a whole virtual partition that is "formatted" and installed with an entire OS (and thus wasting a ton of space), Crossover uses a little "bottle" to hold just the program you install in it and that program's specific needs. So, if one program needs the .NET Framework 1.1, Crossover will automatically install it for you in that bottle.
The good news is, each of these bottles takes around a whopping 50 megabytes (yep, that's it) above your software install. That means you're not really wasting space on a whole Windows installation just to run a game or two. You can have as many or as few bottles as you'd like – Codeweavers recommends that you install each piece of software in its own bottle just to avoid accidentally screwing up one thing by installing another. With such little overhead between bottles, this isn't a bad idea, though I've yet to actually experience a crash. It certainly does make uninstalling easier, which I'll get into in a bit.
Each bottle has its own "C:\" drive, which is fully accessible in your GUI or CLI. If you'd like to quickly locate it, you can click on "Configure -> Manage Bottles -> Advanced" and you'll see an option to open the drive. This way, you can manually add patches, no-CD fixes and edit game configuration files. It’s incredibly easy, and incredibly handy.
Installing gamesNow that we have an idea of how bottles work, let's get started actually creating and filing one. Installing games is not quite as simple as installing the base software, but it's close.
To start off, there are two types of installations in Crossover Games – Supported and Unsupported. Supported games are the ones that are guaranteed to work pretty much flawlessly, like Half Life 2 or Battlefield 2. For these, you can just choose the install from the basic menu and follow the on-screen prompts. For Steam games or things like Guild Wars, I highly recommend just downloading the installer from online – it will ensure you have the latest version.
Steam's install couldn't be simpler, and it's what many people will use this for right out of the gate. It grabs the download from the website, asks you for a couple quick install instructions, and gets to work. Installation of the full Steam package and Half-life 2 by download took me a bit under an hour, most of that being spent in download time from the Steam network.
From my understanding, the guys at Valve helped Codeweavers get the products compatible, and it shows. Installation is no harder than on Windows and all of the normal Steam functions are operational. You can browse games, download new games and updates and play single- or multi-player with no headaches at all.
Playing gamesPlaying games in Crossover Games is oddly intuitive. Simply click on the "Programs" menu in your menu bar and you'll be greeted with a list of all available programs in all existing bottles. Click your program and watch it run!
Unfortunately, this is partially where the pavement of an objective review starts to change to the dirt road of a subjective observation. See, there's very little actual method to test frame rates inside of the games. Things like FRAPS (at least to my knowledge) don't really work, and it's hard to trust the in-game rates because it's not a sure thing that the report is accurate. Is it measuring the actual output, or the output it thinks it is giving because of the middleware?
What I can offer is an honest opinion from an avid gamer about whether things are running slowly. The test system is as follows:
MacBook Pro 15.4"
- CPU: Core 2 Duo 2.4 GHz;
- GPU: Nvidia GeForce 8600M GT 256MB;
- RAM: 2 GB Corsair 667Mhz DDR2;
- HDD: Seagate Momentus 7200.2 160GB.
As you can see, I'm not running Apple's top-of-the-line MacBook Pro. As a mid-range laptop, it should give you an idea of what you could expect from anything that isn't an Intel-integrated system that's running Linux or OSX.
Supported gamesI fired up my copies of Half Life 2: Episode 2, Guild Wars, Call of Duty 2, Prey and Team Fortress 2. All of the games ran with no issues out of the same bottle, and actually every one of them performed very well. I noticed no slowdown compared to playing on my full desktop which sports much more admirable specifications.
The one thing that you will definitely notice is a bit of a load time for the executable to begin its magic. Loads are considerably increased compared to an equivalent Windows installation, and there's not really any good indicator that it's doing much at all. This can be quite misleading when you think nothing is happening but the system as a whole is behaving quite sluggishly.
Games actually do something better in Crossover Games than most do in normal Windows – they can run as a windowed mode instead of full-screen. Because of the high-end virtualization technology present in Intel processors and the excellent multitasking of 'Nix based operating systems, it's easy to play a game at three quarter size and do work around the edges.
So, these all run great. But what if you want to play something other than Half Life 2 or Guild Wars?
Unsupported gamesUnsupported games are a broad topic on Crossover Games...mostly because there are so damn many. Anything that is not specifically listed and advertised is considered 'unsupported.' Does that mean they don't work? Absolutely not.
However, caveat emptor. Several games actually don't work, and that's putting it lightly. What I'm quite surprised about are the games that do work – and I'd dare say that the list is bigger than those that work in Vista!
Functional games are pretty much anything that's been made from 2005 or earlier. These engines are all using stable code and standard API calls from DirectX 9.0c or previous. Pretty much anything that runs DirectX 8.0 or older runs with no issues, even many Windows 95/98 games that did not play well with XP or Vista without serious tweaking.
"New games" really depend on the engine – anything based on the Source or Doom 3 engine seem to run without a hitch. Games with their own high-end engines are quite hit-or-miss - Bioshock did not run at all, while Neverwinter Nights 2 did not run due to a possibly fixable problem with the .NET Framework 2.0. I've not had the opportunity to actually fix that problem, but it is indeed reportedly fixable.
This seems to be one of the biggest problems – tinkering still exists, which one does not expect to pay top dollar to still need to do. Unreal Tournament 3 didn't run, but it was again tantalizingly close – Crossover Games seems to install optionals like the Ageia engine into the "Default" bottle, whether or not that is the bottle which you're installing your software in.
Making the decisionOne of the hardest things to review about Codeweavers' implementation is the whole idea of a retail cost. For starters, we're talking about software that is genuinely open source, and there is the possible moral question of whether anyone should duly profit from it.
On the other hand, these are the same coders that have been driving Wine for ages and the money is going directly to the further development of games support. It's an unrealistic belief to hold developers responsible for developing for 95 percent of all computers simply because we fall in the five percent minority – so the idea of a company being funded to help us run software better is simply a blessing.
Let's be honest – how many people truly donate to open source projects? Even most of the penguin-clad zealots would have to put their hands down. When the money isn't flowing, people can't spend their full time on a project – and if all you can count on is the occasional charity of a few impressed people, the talented coders shouldn't be expected to donate much more. Codeweavers allows a direct injection into one of the biggest weaknesses of both Linux and Mac, and I hardly believe that isn't worth paying for.
Crossover Games is in its infancy, and even that infancy is pretty damn impressive. However, we're talking $40 USD for software that really fits a niche at present. Though the wholehearted support from companies like Valve is both impressive and promising, we're still lacking the love of major developers and publishers like Epic and Electronic Arts. The growing library available on Steam is a great starting point for a multi-OS assault on the Microsoft stranglehold of gaming – but would it ever be seen?
Because of that, Crossover Games is in a precarious position – one that we as gamers need to look at closely. Piracy is an often justified behaviour nowadays, and it's probably even easier when you recognise that the base this software is built on is completely open source. Then, there's the idea of paying for something that will take time to grow into the all-around answer. Probably half of what you will look for out of this program isn't there – yet.
On the other side of the coin, it's a chance to actually stand up for support of both the developers and the OS of your choice. With time and funding, Codeweavers could evolve Crossover Games into the same fantastic and excellently supported program that it did to its initial Crossover project. Real gaming on Mac and Linux would be nothing more than $40 or twenty-five quid away for a fully featured solution, and the Wine code will reap the benefits for those who are willing to DIY their own solutions for free. Every change that Codeweavers puts into the Wine source goes right back into the GNU open license, so the benefits are pretty far-reaching.
ConclusionSo, bottom line...is it worth it?
The answer is, that depends. It depends on your moral stance, it depends on your needs right now and it depends on what you are willing to wait for. If you believe in supporting open source, supporting cross-platform gaming or have a love (like I do) for older games or things that don't require the absolute bleeding edge of technology, then the answer is an easy "yes." A simple $40 investment has allowed me to bring so many great games onto the computer that goes everywhere with me...and it will just get better over time.
For anyone else, it's not going to be the same equation. The compatibility list from Codeweavers will tell you pretty much everything you need to know – if your app is on this list at all (even just Honorable Mention), chances are it works. If not, it's probably in your best interests to just keep an eye on it – when the "turning point" game for you shows up, you can jump in with both feet.
In the end, I think that Crossover Games is a great start to an even greater goal. If you go into it expecting for everything to work flawlessly without thought, you may be disappointed. If you are looking for a program that already offers some neat functionality and is geared to offer a whole lot more, you'll be extremely excited at the prospect that Crossover Games offers.