PDA

View Full Version : OpenGL 2.0 for games



Bruce Sinner
10-10-2004, 08:19 AM
Hi ppl,

Whats the main advantages of OpenGL 2.0 for game development? I'm making a research of this subject and if someone can help me i'll be most pleased.

Thanks
Bruce

AdrianD
10-10-2004, 11:34 AM
my opinion:

pros:
- only one codepath. no special codepaths for NV_vp/ARB_vp VBO/VAR/VAO and stuff.
- nice features like texture access in vp's or branching in vps/fs.
- nice shader-model which allows to link different programm pieces into a new shader.

contra:
- when you decide to use openGL2.0 for your game development, you are restricted to the newest and future HW only(actually only the GF6 series and 3dlabs hardware is capable to support the full opengl2.0 featureset).
but most customers who are buying games don't have allways the newest hardware.(and many of the guys, who spend all their money on the newest hardware, don't have money for original software left! let's be honest: most games are sold in the 4-6 weeks until it's cracked and released...)
most "normal" users buy a PC and maybe upgrade it one or two times after one or two years.
so when you also plan to SELL your game, you are forced to support "older" hardware like GF2/GF4/GFFX/ATI98000... and you can't use a single opengl2.0 only path anymore, and you end up coding 2 rendering engines...

only professionals or really rich kids can afford the newest graphics HW... all others simpy think, that the PC they brought last year, should be still good enough for todays games.
(and actually they are right...) and besides, ppl who are willing to pay a lot of money for games, have a console(PS2/GC/XBOX) anyway...

- if you plan to sell your game in other countries than USA/GB or germany things gets even whorser.
you have to go further back into time. ie.something about 500Mhz/TNT2-level when you plan to sell your games in spain, italy, east europe or asia (remember: asia is continent and a little bit bigger than japan ;) ) you may meet publishers/distributors who simply don't want to order your game, because they say they can't sell it.

- as far i remember, either NVIDIA or ATI (=industry leaders) offer an openGL2.0 implementation in their drivers...
they support only GLSL in it's first specification.(openGL2.0-additions to glsl are not included in the newest official driver versions)
and it will took a while until it gets stable.(ie.my current ATI-glsl-drivers tend to crash, instead of switching to software emulation, when exceeding the hardware-limits.. or when i am using a standard-glsl-function which isn't supported by the hardware)

finally, a general suggestion about game development:
don't make some hardware-features the unique selling point of your product. especially when it is a game.
instead of spending time implementing new graphic features, spend more time on the gameplay...
nice graphicsfeatures are maybe an eye-catcher, but only the gameplay keeps the gamers playing/buying the game...
just think: why should you pay 40-60 EUR just for a graphics demo ? you want some more fun than 10min watchiching all features, when you buy a game - you want play!
most game coders(including me) tend to forget this... ;)

Bruce Sinner
10-10-2004, 01:01 PM
Nice reply Adrian, thanks!!!
Anyone else has more comments on this?

Thanks to all

Twixn
10-11-2004, 12:04 AM
well the only other main limitation i see is that its non windows (not its fault of course, its microsoft's for not reasing >1.1), but thats not really a prob as everything is still avaliable through extensions, but loading etc can be a pain...and also, u hav a much wider scope than just USA, GB and Germany, the main difference is that parts are more expensive in 1st world countries :rolleyes: and also i would not exclude japan, hell no...and Australia, cmon :D if its good we want it, and can handle it, upmarket parts like GF6800's are sold here too :p

AdrianD
10-11-2004, 02:35 AM
Originally posted by Twixn:
[...]
and also i would not exclude japan, hell no...and Australia, cmon :D if its good we want it, and can handle it, upmarket parts like GF6800's are sold here too :p i didn't excluded japan from asia. i just tried to point out that asia is a huge continent with lots of markets/countires besides the japanese market.
i also didn't say that the newest HW is sold only in a few countires. what i said, was that there are countries, where not many ppl can afford to buy the newest hardware. ofcourse there will be in every country in this wolrd some guys around who have always the newest HW, but that's not the point.
the question is:
are there enough of this guys around to form a market ?
(and do they have some money left for games ?)

btw. don't feel upset, just because i didn't mention your continent. i also didn't mention most american countires (2 continents), the whole african continent and the middleeast. i just used some examples. it was not ment as a list of all countires where games can be sold...
i simply tried to share my expiriences from my last project. i never said that this is a good thing. i tried to point out what is going on, outside our coder-caves/cubicles... you know, the so called "real world" where you have to sell your products to real ppl. ;)

Twixn
10-11-2004, 03:48 AM
naaah, its just a point, i meant that there is a huge market and the way u said it to begin with gave the impression that it was only a select few countries. Another point is that (im just assuming here, but its still valid to other people) bruce's project has only just begun, by the time its released that kind of hardware may be standard. Anyway, dont think u'v upset me, patriotism isn't really involved here, just point making :p .

relax too :cool: smilies are here for a reason

Csiki
10-11-2004, 05:09 AM
Originally posted by AdrianD:
my opinion:
ie.something about 500Mhz/TNT2-level when you plan to sell your games in spain, italy, east europe or asia
As you think. :mad:
Most of us have older hardver but not such bad.
I think a player buy new (middle cathegory) PC in about every 2-3 years.
500MHz/TNT2 level: I don't even know how old should be such configuration...
I bougth my hardver 2 years ago (AthlonXP1800+, Gef4200, the best PC was in that time XP2200+/Gef4600).
Somebody from Hungary.

AdrianD
10-11-2004, 06:29 AM
@Csiki:
sorry, but this was the reason why i had to make a special-low-end version of my last game to get it sold in eastern europe. i also thought, a minimal config of 1GHZ/GF2 would be sufficient...but it wasn't.
it was very disapointing for me to hear this 500mhz/tnt2 thing from the eastern distributors. i really thought this kind of systems are obsolete.

but never mind, do what you want.
for myself, i do not plan to support such lowend systems anymore.(i allready tried it)
if you allready have a publisher, and he is happy with only-high-end-HW-support:
go on coding, and don't worry about what i said.
if not, just be prepared... :)

Bruce Sinner
10-11-2004, 07:08 AM
Adrian,

I agree with most of what you've said except for the TNT2 thing. As somebody said, my project is about to begin, its 2004, I cant think of supporting old crap HW like TNT2 anymore. Most of the market games from today expect at least a GF4 MX 400 or better to run. Such new games as Doom3, Farcry, HL2 wont expect anything lower than a GFX !!! Who has a TNT2 yet (my wife has one!!!) probably dont expect to run top quality or newer games anymore, just the old games from the past. If I waste my time trying to support these old cards, maybe I wont get it at all and maybe I take risk to ruin my game code trying.

Publishers maybe the problem? Yeah, maybe. But I prefer to say 'no' and look for another one, than to get nuts trying to support a TNT2.

Microsoft says: "WinXP needs at least 256 mb of RAM for a better experience" and ppl go and buy it, an architet who needs to use AutoCAD, goes and buys a better computer so he can use the software, KDE ppl says: "at least a powerful machine is necessary to run KDE 3.3" and ppl go and buy it. Why it would be different with games? If you answer me, "games are not essencial for a life", i wouldnt accept this answer, if ppl want that game, if ppl really want to play it, they would buy the hW, the game or whatever else needed. The main point is "how to make my game interesting to others?".

Well of course that OGL 2.0 for now is too new and too unsupported yet. But if expect to release a game in 1 or 2 years, maybe its time to start considering its main advantages cuz in that time, it probably will become industry standard.

Thanks ppl, nice discussion here.

Regards,
Bruce

AdrianD
10-11-2004, 07:50 AM
ofcourse i know that in 2 years nobody will talk about a crappy old tnt2 (they are doing this now, not in 2 years!) but they will still keep asking for the gf4/gfFX users.

as i said before: for myself i do not plan to support such old stuff like a tnt2 anymore, and i do not sign any contract, which forces me to support it.

to be honest, i allready started creating a new engine, based fully on openGL2.0 only. because i like the way the shaders are created... :) :)
but i still think, in 1-2 years, there will be a lot of older HW than a gf68000 and you may be forced to write at least an opengl1.5-compatible version/codepath.

Bruce Sinner
10-11-2004, 08:11 AM
Originally posted by AdrianD:
but i still think, in 1-2 years, there will be a lot of older HW than a gf68000 and you may be forced to write at least an opengl1.5-compatible version/codepath.In that I fully agree with you. Nowadays we still ahve to support 1.2, 1.3...The same will apply in 2 years.

[]s
Bruce

krio
10-11-2004, 08:18 AM
there is such thing as culture shock.
if lets say new technologies will pop up once a week and the thing you bought last week gets twice worser then the new stuff....
even if the price of it is cheap as hell.
we'll get a culture shock.
that is one of the factors wich helds down the techno progress.
actually, i am 100% sure that nvidia\ati have new technologies for more than 5 years to the future for selling. The problem is that any stuff that worths > $200 is bought maximum twice a year: on xmass and before summer hollidays. And they aren't after the techno progress - they are after the money. That is why we have yearly conferences, not monthly etc, etc. I'm against such money politics. After all, _what you did_ tells who you are, not the _ammount of money_ you have. Money should be not the target of your actions, but the resources for your actions.

martiņo
10-11-2004, 11:40 AM
OpenGL 2.0 is not the question, it's the answer.

- Today's cards above GFFX or radeon 9600 support a decent GLSL. Yes you can't use loops in the fragment shader and other ps3 features, but there are lots of things you can do without that, still using GLSL, and you can do everything you can do with ARB assembly, that is never going to be updated.

- If you are going to start developing your game today I don't think it's a good idea to make it thinking on yesterday's cards, because when you finish your developement no one is going to have them.

- As far as I know there is no real OpenGL 2.0 drivers yet, but until that you can use OpenGL 1.5 and the ARB extensions that were promoted to the core in OpenGL 2.0, and this should be almost the same.

- You can easyly load versions above 1.1 on windows using intel's GLsdk, that can be found there: http://oss.sgi.com/projects/ogl-sample/sdk.html
(now supports up to opengl 1.5 and extensions)

- By the way, I live in spain, I have a GFFX5600 card, and most of the people I know that has a computer has a better card than me.

Bruce Sinner
10-11-2004, 03:31 PM
Originally posted by martiņo:
- By the way, I live in spain, I have a GFFX5600 card, and most of the people I know that has a computer has a better card than me.I live in Brazil, have the same card and that's true for me too. Many friends already has a FX5700 (not LE!) and FX5900. Dont know anyone with a GF6800 yet, but thats only matter of time. Small time. Well, the other friends have at least a GF4 MX440. Only my wife have a TNT2 as I know. And she doesnt play games!!! :D

Dol AI with 3D Bone system
10-12-2004, 02:16 AM
Hey Bruce Spinner.
How do you do?

I want to know about the bandwidth speed of GF4MX440 GPU. Please help me...

Jis
10-12-2004, 02:34 AM
Think about the futur...
2.0 will be the reference in years to come.
You can see the shader benefits on the unreal engine (unreal 3 released probably in 2006) and on other engines like the stalker one. There is a choice to be made :
- you are coding a very ambitious engine and so don't write for the low implementations(because the quality will be too poor in comparison with the original)
- you are coding something common, so that the technology used is not very important(in quantity and quality) and in this way, implementations will be easy to make, because of the low changes needed.

I want to add that with the actual high tech engines(on pc and consoles(x box) ), the shaders are very impressive and the missing low-end implementation is rapidly forgotten because you ave a good reason to do that...

Dol AI with 3D Bone system
10-12-2004, 02:40 AM
Why the GF4MX440 does not completed rendering the scene with 4,879,260 Triangles/Scene?

and I use CULLING FACES 18,235,767 Triangles/Scene?

Why? Help me please...

Bruce Sinner
10-12-2004, 05:05 AM
Dear Mr. "Dol AI with 3D Bone system":

Your questions ARE COMPLETELY OFF-TOPIC.

I will not be answering them, please start a new thread. Don't mess with the actual one.

Thanks,

RAMman
10-12-2004, 08:16 AM
We are also seeing more and more MMO games these days, and I think we will see even more in the future. Using OpenGL 2.0 will give you nice shader abilities, and you can ship your game to other platforms too (Linux and Mac, and so on).
That could be important as more and more people start to use Linux these days (And they are prob. never gonna finish longhorn in Seattle anyways :) )

Take care

zed
10-12-2004, 11:09 AM
it was very disapointing for me to hear this 500mhz/tnt2 thing from the eastern distributors. i really thought this kind of systems are obsolete.of course the question begs, if the person cant afford the 50bucks to buy a new gffx5200 how are they gonna afford the 45bucks to buy doom3 or whatever

Obli
10-14-2004, 05:38 AM
I am a bit disappointed by GL2. It's very different from what 3dlabs initially proposed.
Did you hear about the internal performance counter? Or the multiple rendering threads in the same context? Fine they were rumors but they came from rather qualified sources.

Let alone the uber buffers. They worked hard on them just to drop them. Difficult extension they were but I still don't believe they were SO difficult.

When I consider latest NV chips are just catching up with P10 (wich was released before NV30) and ATi chips are even more behind in functionality, I begin to fear this is a marketing move.

I really like ARB_npot and I love to have GLSL in core, while I heard VP/FPs are still faster.

About the hardware issue, it's not so bad.
There are very few TNT2 still running here in north-east Italy. Most of the time you can count at least on NV15+ functionality and performance.
The actual state of art seems to be 3000+ processors with GF4MX video cards (or integrated graphics) however. What a delight. Yes, everyone still thinks a PC has only a single processor.

jwatte
10-14-2004, 05:45 PM
The TNT2 is happily no longer important in the market.

However, the Intel Extreme is still going strong, and it's not that much better than a TNT2. In fact, in some ways, it's worse -- while it has 4 texture units, it uses unified framebuffer/texturing memory which competes on bandwidth with the CPU, and it has only a single pixel pipeline. This is true for Intel Extreme 1 and 2 -- the 915G, aka Intel Extreme 3, has 4 pixel pipes, and supports pixel shader 2.0 functionality, but still is a shared-memory device.

To target a game that I'd sell two years from now, I'd buy the cheapest machine possible from Dell's consumer site (www.dell4me.com) today, and make that The Minimum Spec. My goal would be to make the game run well on this machine (with minimal features -- single diffuse map plus light mapping; single directional vertex light; etc). This is likely something like a 1.6 GHz Celeron with Intel Extreme, and 256 MB of DDR266 memory. Then, a year from now (a year before I actually released the game), I'd go back to the same site, and buy the highest end machine they sold at the time, and make sure the game looks great on that machine, while running at least at the frame rate of the cheapest machine.

Then, by the time you release, you have two configurations: simple-and-fast, and pretty-and-still-fast. The people with the ultra-latest graphics cards at release, probably won't get the super-latest features, but they'll get good frame rates and can probably crank up the resolution.

In this context, remember that the ATI Radeon 9700 Pro is over two years old now! Meanwhile, Intel Extreme is still going strong. It's a crazy world.