One thing that is definitely nice about console game development is that if your game works on your console, it's going to work on all the other ones.
Meanwhile, in the PC arena, the grass isn't just less green, it's weedy and full of mole holes.
At Stardock we stayed with the whole 2D sprite thing probably longer than we should have. And reviews of our games would tend to be "There's a great game under these 'dated graphics'." And oh we know where you are...the ninjas are on the way..
But the nice thing about 2D graphics is that they worked on everyone's machines. The video driver writers really can't screw up blitting a sprite. So while games like The Corporate Machine, Galactic Civilizations, etc. had "dated' graphics they pretty much worked on any machine.
After Galactic Civilizations, we decided to bite the bullet and move to 3D. 3D is MUCH nicer to code with btw. You can do things with it that not only look nicer but take a lot less time. Zooming, for instance, with very nice scaling of things as you zoom in and out is much easier with a 3D engine for instance even if the game is largely 2D in its presentation.
And for Galactic Civilizations II, we will need that 3D engine because of the ability to design your own ships from scratch and we'll want to make the end result look very seamless which is *easier* with the 3D engine.
But this stuff comes with a drawback. You're pretty much at the mercy of video card driver writers to get it right.
With 2D, it's pretty much always right because, well, if they mess that up, then Windows itself won't likely work right. But with 3D, it depends on what features get used. Example: did the driver writer implement a software T&L feature (like they're supposed to).
So what happens is the game goes out and suddenly you have people with these older budget video cards screaming bloody murder because they game won't work.
And it's that kind of thing that helps drive people to the console. Because THEY are right. The game SHOULD work on these machines.
As a developer, I find this very frustrating. Who's fault is it? Is it the developer's? We ran the game through our compatibility lab that includes machines as old as Pentium Pros with TNT cards (and the game worked on that) to various laptops. No problems. But maybe we should have worked harder?
Our assumption was that DirectX 9 took care of this stuff. It certainly claims that's the case. If the video card doesn't support some feature (like my TNT 1 card certainly doesn't support most of these features) then it's supposed to be emulated in software.
But then we find out that the video driver writers have to support this stuff. Well how does that work? If the video card came out 3 years ago (long before DirectX 9) are the driver makes expected to keep updating it? On the other hand, to use the TNT card again, that's a 7 year old card and it runs fine and I don't even have recent video drivers on it. It's running on a Win2K box with who knows what on there.
So it it the video card manufacturer's problem? In our case, the only problem we've seen are with those older Intel 82whatever chipsets. Not the newer ones (because we tested on those and it worked fine). What I found maddening is a visit to Intel's website has a long list of common games that won't work on them like Rise of Nations. Come on, how can Intel ignore that? Rise of Nations not working on their 3 year old chipset?
But customers don't *care* (nor should they) about whose fault it is. All they know is that they plunked down there $20 to $50 (depending on the game) and that it doesn't work.
And this doesn't count the people who have to upgrade to a given Service Pack or update to the latest driver to get the game to work.
I don't know what the solution to that is. I definitely have a greater appreciation now for what PC game developers go through. I can't imagine the pain that Id must have gone through.
In our case, we're going to make it a mission to work on any cards that don't support the APIs. And then we're going to document what we had to do. Because it's ridiculous.
As a consumer, it seems to me that as long as I install DirectX 9 on my machine the game..should..work.
"