Tuesday, February 28, 2006

The Mark Has Been Made

My friend Davy, in today's musing regarding the new Mac mini, mentioned something that I somehow overlooked in today's announcement that the Mac mini will now be powered by Intel Core Solo or Core Duo processors (depending on configuration): Apple stripped out the shitty ATI Radeon that was in the prior model, replacing it with an even worse Intel GMA950 graphics processor.

The GMA950 sports 64 megabytes of RAM, which is shared with the onboard memory (in classic integrated-video fashion), which basically strips 64 megabytes from the paltry 512 megs that the mini ships with. Granted, most people who buy a mini would never know, and those who know better wouldn't buy a computer with less than a gigabyte of RAM anyway, but it's integrated video, which is shit. Davy, in his wisdom, points to the summary page of a review of the GMA950, which shows it in a graphical shootout with an Nvidia GeForce 6200 (the lowest-end 6xxx series Nvidia card you can find), and the review says the GMA950 is shit. I prefer the game-benchmark tests page (complete with nifty graphs), which upholds that theory, as we see that the GMA950 is virtually incapable of running anything more complicated than Microsoft Flight Simulator.

I side with Davy in saying, "How dare you, Apple? How dare you throw a Core Duo processor into a computer and yet make it even less capable of running World of Warcraft (one of the few good games available for the Mac) than my G4 iBook? This is to say that the current Mac mini shows that Apple is actively stifling game development for the platform.

Which brings me to a quote from Davy's closing paragraph, and I shall follow that up, as I see it as something of a challenge:
And it’s shit like this that will ensure that Macs will never be a truly viable gaming platform – Tom can explain why in much more detail about many more reasons –
Apple's move to the Intel processor was initially hailed by the technically uneducated as a step toward a golden age of development of games for the Macintosh; as though Blizzards and Bungies and Cyans would sprint out of the woodwork and would soon produce games for the Mac, whose reviews could only be described in words like splendorificous or stuponfucious, as words that could be found in any dictionary simply would not do the job of accurately detailing the awe these games inspired in the reviewers.

Then reality set in. Going from an IBM G5 chip to an Intel chip would not solve anything. The real reason why game development for the Macintosh will never reach the aforementioned golden age is because of one thing: The DirectX API. If you're coding a game for a Windows box, chances are you're using DirectX for something, even if you've eschewed Direct3D for OpenGL (which can be run on the Mac), you're probably still using DirectPlay for networking, and DirectInput for ... well, input.

Essentially, DirectX encapsulates all of the low-level stuff that you'd just as soon not do, such as teaching the computer how to render a polygon, run a sound file, parse input from the keyboard or mouse, and talk to the internet. It's all there in DirectX, which makes using it considerably more time- and cost-efficient, but makes portability next to impossible, because it's not available for the Mac. Essentially, you have to strip out all of the DirectX stuff, replace it with widgets of code on the Mac, crank everything through, debug, re-crank it, debug some more... and this step requires people who understand how to use Apple's Xcode (included with OS X), which is a happy little development environment, but it doesn't look anything like Microsoft's Visual Studio (costs you an arm, a leg, and choice of kidney).

Essentially, the only thing that is made easier by the move to an Intel processor is anything that's written in assembly code, which resembles English even less than Perl. In terms of efficiency, assembly code is as good as it gets, but it's completely processor-dependent, which means it's totally unportable. I think the last time anyone wrote an entire program in assembly code, it was probably for the Altair. The amount of assembly code that's done in virtually any program these days is probably in the area of fractions of a percent, if that, and that part would only get done at the end of the development cycle.

If that's not enough, Apple's market-share still doesn't represent a large enough base for a publisher to tack on another few coders to tackle the Mac side of things. Three guys out of college with good skills at programming a Mac would probably make a combined total of somewhere around $200,000 a year. When you consider the amount of time it takes to make a game (now measured in years, rather than months) and the number of boxes the publisher would have to sell to recoup just that cost, it's no surprise that very few companies do internal development for the Mac at all, leaving the work of doing Mac ports to companies like Aspyr and MacSoft (which is now owned by Microsoft, of all people).

Essentially, it's just assumed that anyone who's serious about computer games already owns a PC, or would buy one, given a killer-app. I see no reason why this should change in the next couple of years.

By the way, in Apple's favor, the GMA in the GMA950 moniker stands for Graphics Media Processor. Now, while it may blow ass as graphics go, it's decent enough for high-def throughput, which puts the Mac mini one step closer to being a DVR, or at least a general living-room media-hub.

AIM: therbmcc71

No comments: