OpenGL 2.0 for games

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

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 :wink: ) 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… :wink:

Nice reply Adrian, thanks!!!
Anyone else has more comments on this?

Thanks to all

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 :smiley: if its good we want it, and can handle it, upmarket parts like GF6800’s are sold here too :stuck_out_tongue:

Originally posted by Twixn:
[…]
and also i would not exclude japan, hell no…and Australia, cmon :smiley: if its good we want it, and can handle it, upmarket parts like GF6800’s are sold here too :stuck_out_tongue:

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. :wink:

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 :stuck_out_tongue: .

relax too :cool: smilies are here for a reason

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.

@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… :slight_smile:

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

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… :slight_smile: :slight_smile:
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.

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

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.

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.

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!!! :smiley:

Hey Bruce Spinner.
How do you do?

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

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…

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…

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,

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 :slight_smile: )

Take care

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