Forums » General

next update?

«12
Oct 06, 2003 fenix link
I really don't understand the almost militant support for a very small percentage of the "computing" world... And Arolte, have you ever looked at the average quality between most DirectX benchmarks/games, as opposed to OpenGL? DX is usually MUCH higher quality, as well as having less artifacts and bugs. I'll use the PC version of Unreal Tournament as an example. Running under DirectX, I get about 200fps average running at 1600x1200. Now that's stable, with no crashes, lockups, or visible artifacts. OpenGL on the other hand, runs anywhere from 150-400fps, at the same resolution. OpenGL crashes rarely, but more than DX, has a considerable amount of anomalies, or artifacts, and the whole visual quality of the game suffers. And BTW, what do Madonion's 3DMark X, Aquamark, and almost every mainline benchmarking application use? That's right....DirectX... Now, I'm not saying that GL is a pathetic API with no future either. Look at DoomIII, that is ONLY GL, as well as the entire QIII engine, RTCW, Q3, Q3A. SOFII, etc.... Those have all been exclusive GL titles...But if I had a dollar for every time Quake or SOF have crashed on me, I'd buy Guild.....
Oct 06, 2003 ctishman link
...and that's a major problem.

OpenGL is officially twelve years old now. Yes, it's been updated, but think about that: My graphics API is older than my little brother. It's time for an update to OpenGL, perhaps a complete rewrite. Problem is, it's not gonna happen because OpenGL 2.0's been mostly vaporware since the dot-com bust.
I work in a creative industry that doesn't pay much beyond minimum wage and I can't afford to have two computers. We Mac people defend the small percentage because it's all we've got.
Oct 06, 2003 fenix link
Wow. A nice, helpful post..:D

I was expecting a few napalm bombs from the Mac world...
Oct 06, 2003 Magus link
/napalm /Fenix

Done.
Oct 06, 2003 incarnate link
Carmack is a bit of a masochist. He writes seperate engine drivers optimized for every video card out there. We really don't have the time or resources to do something like that (nor, apparently, does Valve). Yes, you can theoretically achieve everything with either DX or OpenGL, and OpenGL is cross platform, but that's really only the broad strokes and fails to demonstrate the real issues. Next generation OpenGL will probably address all the problems I'm talking about, but as things stand right now, it can be pretty annoying. I've talked about all of this before, and if anyone feels so inclined, they can go back in the archives and read about all the extension problems we've had.

I somewhat doubt there's anything inherently faster about either API. Speed differences generally aren't about the APIs themselves, they're about driver optimization and the platforms that are the most important to the vendors. DirectX and Windows are the most important to the videocard manufacturers, are the most heavily "tested" by game developers, and get the most attention. Other drivers tend to not be so much of a priority, especially drivers for what manufacturers consider "niche" platforms like Linux (and, to a lesser degree, OS X). On those platforms, the vendors pay the most attention to the big players (Carmack / iD), but since the number of other developers is exponentially less than on Windows.. the few people like us, who also try and make use of the latest features, tend to discover a lot of bugs.

Anyway, this whole discussion is sort of inane. If Arolte thinks OpenGL is Best Choice For Realtime Graphics, then he should feel free to make games with it. Until he does so, however, he should refrain from uninformed commentary on the subject.

Note, I never claimed that OpenGL was inherently worse in quality or any such thing. Just that it can be a vendor-specific developmental nightmare. You aren't writing for "OpenGL" anymore, you're trying for *ATI*'s OpenGL, or *Nvidia's* OpenGL, or Matrox's OpenGL.. or whatever.. each of which support some things but not others, and all do things differently, and are sometimes poorly documented, untested and/or completely broken.

Anyway, we support the two APIs because, at one point in time, there was *no* way to use the new videocard features in anything other than DX, and we wanted to make use of them. Now it's possible to do everything in OpenGL, it just sucks and takes more time to do. At some point it may become possible, and be Fun! If that happens, who knows, we might drop DX. There is no concern about the use of DirectX constituting any conspiracy-theory-esque Microsoftian leverage on us.

For the moment, DX gets the newest features and OpenGL plays catch-up. This isn't entirely us, either. Keep in mind that many of the means of accessing new shader technology were only very recently introduced into the drivers on the Mac (mid this year). We're pushing the envelope pretty well as it is, I think.
Oct 06, 2003 incarnate link
It's also noteworthy to point out that, at present, we do a lot of shader prototyping. It makes a lot more sense to just write a shader once, and test it on DirectX.. As opposed to writing 2 or 3 different vendor-specific shaders on OpenGL. Especially if you have to rewrite it, tweak it, or otherwise fix it several times.
Oct 06, 2003 Icarus link
I think Guild are doing a damn good job being able to keep the gfx engine working on all 3 platforms at all. I suppose thats where the custom reference drivers help! If i was in Guilds position it would have crossed my mind to ditch Mac and Linux altogether, afterall what percentage of the computer gaming market do these platforms make up 2%? So everyone bitching should STFU and be grateful they are supporting us (Linux & Mac users) at all. Its certainly not doing the devs any favours, and most certainly must be slowing down development having to support these minorities..
Oct 06, 2003 Magus link
I can't speak for Linux, but I know that although only 2-5% of the world's total computers use a Mac OS, the amount of Macs in personal computers (what most people use for gaming) has been reported as high as 15%.
Oct 06, 2003 crazydeb8r link
ok, you guys missed my point, in sheer volume of users, windows is the most profitable platform to code for. Now I agree with the ATI comment, but my point was you can't blame them for developing windows first.
Oct 06, 2003 Arolte link
Hooo hoo hoo!

>Anyway, this whole discussion is sort of inane. If Arolte thinks OpenGL
>is Best Choice For Realtime Graphics, then he should feel free to make
>games with it. Until he does so, however, he should refrain from
>uninformed commentary on the subject.

My first two posts were more of a joke than anything else. Thus the smileys and/or the dumb /me comments. But nowhere did I state that one was visually better than the other. In fact I stated that the two are nearly visually identical for most games. I just questioned whether making the game OpenGL exclusive and focusing on OpenGL only would've perhaps made development run along a little faster, due to its compatibility among platforms. Sure, it may be hard to code in OpenGL, but at least you won't have to juggle between two separate APIs at once.

And hey I'm no developer. But I've actually spoken to and read about developers who have explicitly stated that OpenGL is easier to code in. Obviously there's a bit of disagreement here with what I've heard and with what you're experiencing, Incarnate. Nevertheless I think it all depends on what you've learned as a programmer and what APIs you've had most experience with during your education. So I guess it all comes down to personal experience.

Anyway, if you can manage two separate APIs until the end for a simultaneous platform release, with the same graphical features, I've gotta say I'll be very impressed and thankful for your extra work on it. More powah to ya, brutha!

*thumps chest*

And just the fact that you even bothered porting the rendering engine to OpenGL is really enough to earn thanks. From a Mac elitist a--h*le, I offer you my biggest thanks!

=)
Oct 06, 2003 ctishman link
Indeed. Thanks guys for your continued support of our platform of choice.

<Mac Elitist A***hole>I'd buy you a tall steaming glass of Mac Coffee, but we're too good to pander to you cross-platform types.</Mac Elitist A***hole>
Oct 06, 2003 Arolte link
Heehee. The term I adopted was from Penny Arcade. Gotta love their work!
Oct 06, 2003 incarnate link
What I dislike is the API topic being framed as some sort of religious Mac vs Windows battle. I'm a very stalwart multiplatform supporter, and I have very little patience with inane overzealous platform conflicts. I understand where people are coming from. The best we can do is support platforms the best way we know for all the factors involved, which is what we're currently doing.

Anyway, both APIs are clearly viable. OpenGL might be superior if not for the shader extension issue. For those people who don't use pixel shaders and vertex shaders, it may be perfect.
Keeping up two APIs is a hassle, but in a game industry sold on graphical Glitz, DirectX support was deemed a necessity. If a situation evolves where a single API could do just as well, we may take that route. For the moment, we don't.

I think there's been enough discourse on this for the moment, so I'm going to go ahead and lock this thread.