Do you really need shaders?
by Ryan Armstrong · in General Discussion · 11/19/2002 (1:12 am) · 40 replies
Ok I am just posting this in response to all of the people out there who seem to need shaders, DOT3, Melv's great fxFannyPack etc and post a lot about this rather then just focusing on making their game now, and worrying about competing with Unreal 2 and DOom 3 later.
Download this movie, it's all taken from Tribes 2 (you know, that little game that used the same engine as Torque) and then tell me that you can;t make a sweet awe-inspiring game with just some good old fashioned hard work, and excellent artwork. No shaders or bumpmapping here folks, just a great game at it's best:
Great Tribes 2 Movie
Download this movie, it's all taken from Tribes 2 (you know, that little game that used the same engine as Torque) and then tell me that you can;t make a sweet awe-inspiring game with just some good old fashioned hard work, and excellent artwork. No shaders or bumpmapping here folks, just a great game at it's best:
Great Tribes 2 Movie
About the author
#22
Exactly.
A lot of people seem to think that having the lastest buzz-word features in their game will automatically make it look awesome. That's not so.
To be honest, I look at doom3 and I think "yeah?". Sure it looks fancy, nice dynamic lighting, nice bumpmapping, but take away that, and you have quake, halflife, doom2.
Now looking at SoulReaver:Legacy of Kain (which I've been playing for the first time recently). That doesn't have any of the latest buzzwords, it's models are very low poly, yet it still looks amazing, and impresses me far more than Doom3.
I'd say, put your time into making your game look great without shaders, then if you can make it look even better with shaders (and all the latest crap), go for it. But crappy art with shaders doesn't make good art.
11/29/2002 (2:41 pm)
Quote:garbage in -> garbage out
Exactly.
A lot of people seem to think that having the lastest buzz-word features in their game will automatically make it look awesome. That's not so.
To be honest, I look at doom3 and I think "yeah?". Sure it looks fancy, nice dynamic lighting, nice bumpmapping, but take away that, and you have quake, halflife, doom2.
Now looking at SoulReaver:Legacy of Kain (which I've been playing for the first time recently). That doesn't have any of the latest buzzwords, it's models are very low poly, yet it still looks amazing, and impresses me far more than Doom3.
I'd say, put your time into making your game look great without shaders, then if you can make it look even better with shaders (and all the latest crap), go for it. But crappy art with shaders doesn't make good art.
#23
I know it's a subjective thing but I mean comon.. realtime dynamic lighting. (!!)
11/29/2002 (3:28 pm)
You better take off the beer goggles if you think Soul Reaver looks better than Doom3.I know it's a subjective thing but I mean comon.. realtime dynamic lighting. (!!)
#24
So, no beer googles here, just read what he said :)
11/29/2002 (3:36 pm)
Anthony: He never talked about looks! What? Do you think a game is made of cool graphics? He means soul reaver amazes him more... the GAME! Because it's a real game, Doom 3 is just eye candy... but the gameplay? It's dull, as any other iD game. I liked soul reaver to an extent... but of course it's a far better game than Doom 3 or Quake 3 or whatever engine iD releases.So, no beer googles here, just read what he said :)
#25
HMMMMM.....
11/29/2002 (3:51 pm)
Hmm..Quote:Now looking at SoulReaver:Legacy of Kain (which I've been playing for the first time recently). That doesn't have any of the latest buzzwords, it's models are very low poly, yet it still looks amazing, and impresses me far more than Doom3.
HMMMMM.....
#26
I could release a game with 100,000 polys per character.
I could use 30 dynamic lights.
I could use directx 9 spec.
I could decide I didn't need to bother with optimisation, as the bastard should have a better computer anyway.
But noone would be able to run it, it's useless. It's not impressive, because while it looks good, I should think it fucking would at the specs it would take to run it.
Soul Reaver looks *damn* fine and it runs speedy as hell, even on older machines (even the older machines that were around at the time it was made)
Making a game look good while keeping specs low enough to be actually usable on older machines is a real art. One which far too many developers neglect, now there are lots of fancy effects they decide their game *has* to have for it to compete.
So yes, Soul Reaver does impress me more than Doom3 graphically. Despite the specs it can run on, it looks damn fine. They used the technology they had at their disposal to the absolute maximum. Ok, it has shadow mapping with only partial dynamic lighting. Ok, it's pretty low poly. Ok, it doesn't use the latest bumbmapping technologies. But it still looks amazing. Trot down to your local second hand game shop, and pick it up (for about
11/29/2002 (5:28 pm)
It impresses me more both as a game, and graphically.I could release a game with 100,000 polys per character.
I could use 30 dynamic lights.
I could use directx 9 spec.
I could decide I didn't need to bother with optimisation, as the bastard should have a better computer anyway.
But noone would be able to run it, it's useless. It's not impressive, because while it looks good, I should think it fucking would at the specs it would take to run it.
Soul Reaver looks *damn* fine and it runs speedy as hell, even on older machines (even the older machines that were around at the time it was made)
Making a game look good while keeping specs low enough to be actually usable on older machines is a real art. One which far too many developers neglect, now there are lots of fancy effects they decide their game *has* to have for it to compete.
So yes, Soul Reaver does impress me more than Doom3 graphically. Despite the specs it can run on, it looks damn fine. They used the technology they had at their disposal to the absolute maximum. Ok, it has shadow mapping with only partial dynamic lighting. Ok, it's pretty low poly. Ok, it doesn't use the latest bumbmapping technologies. But it still looks amazing. Trot down to your local second hand game shop, and pick it up (for about
#27
This is not too great of a system requirement. A line has to be drawn somewhere. And considering it's going to be state of the art when its released, I think that is great.
I think most people forget that most advanced graphics features are meant to be able to downgrade gracefully. And allow older computers to run the game (but not as nicely).
What really scares me about this community is it's inability to acknowledge the truth.
11/29/2002 (5:45 pm)
Last time I checked DOOM3 was targeted at GeForce 256 users.This is not too great of a system requirement. A line has to be drawn somewhere. And considering it's going to be state of the art when its released, I think that is great.
I think most people forget that most advanced graphics features are meant to be able to downgrade gracefully. And allow older computers to run the game (but not as nicely).
What really scares me about this community is it's inability to acknowledge the truth.
#28
You are the one who doesn't want to face the truth, graphics don't make a game, if you are an intelligent guy you'll make a great game and sell lots... if you only focus on eye candy... then you aren't a smart guy really.
Want shaders? then learn and code them yourself!
End of the discussion, no one owes you shaders or anything like that.... you just want the easy way huh?
11/29/2002 (5:53 pm)
You are being a dick anthony, on this and on the other thread.You are the one who doesn't want to face the truth, graphics don't make a game, if you are an intelligent guy you'll make a great game and sell lots... if you only focus on eye candy... then you aren't a smart guy really.
Want shaders? then learn and code them yourself!
End of the discussion, no one owes you shaders or anything like that.... you just want the easy way huh?
#29
I never said I could implement it AND I am doing without until it is freely available. In fact, I explicitly said these things.
No one said graphics make the game, but better graphics can improve the market visibility of your game.
Better graphics also make for neater screenshots.
But no, you're right.
Shaders = bad
I've never begged for them anyway, I haven't seen a huge need in my game. In fact, right now learning how to use them would take away from my dev time.
You need to wake up and get your facts straight.
11/29/2002 (6:05 pm)
I WANT shader technology if I can get it.I never said I could implement it AND I am doing without until it is freely available. In fact, I explicitly said these things.
No one said graphics make the game, but better graphics can improve the market visibility of your game.
Better graphics also make for neater screenshots.
But no, you're right.
Shaders = bad
I've never begged for them anyway, I haven't seen a huge need in my game. In fact, right now learning how to use them would take away from my dev time.
You need to wake up and get your facts straight.
#30
Anthony, noone here believes shaders are a bad thing.
Personally, I'm just very cautious of getting caught up in the "graphics make the game" hype. Which is exactly what I believe Doom3 has been caught by.
Yes, I'm sure it can downgrade its features for older cards (though I bet you geforce 256 is bullshit, at ~1FPS perhaps, even with its lowest settings) but what's left once you've downgraded? Once you've cast off everything that the game is marketed on, you're left with another same old same old FPS. That is my point.
Also, this community does fully acknowledge the "truth". That is, we know graphical technology is progressing at an amazing rate, and we realise torque should keep abreast of it. Not must, but should. Purely to give people the option to use such technology.
But we also acknowledge another truth, that many other "indies" don't.....
We're indies.
It's that simple. Many people seriously believe they can pull off an MMORPG with pixelshaders, fully dynamic lighting, etc, etc. They also convince themselves they need this, to ever get published. Many people are so obsessed with staying abreast with graphics technology, they forget that their gameplay has to be up to scratch too.
Being the underdog, indies will never be able to keep up with corporate game developers. So why try? Make your gameplay the strongpoint, not the graphics. We don't have the huge marketing spin machine they do. So selling a game on graphics isn't effective. If we sell on gameplay, it may make fewer initial sale. But word spreads about great games with ok graphics. Word doesn't spread about games with great graphics and terrible gameplay.
11/29/2002 (6:49 pm)
I can't speak for other people, so consider all the below IMO.Anthony, noone here believes shaders are a bad thing.
Personally, I'm just very cautious of getting caught up in the "graphics make the game" hype. Which is exactly what I believe Doom3 has been caught by.
Yes, I'm sure it can downgrade its features for older cards (though I bet you geforce 256 is bullshit, at ~1FPS perhaps, even with its lowest settings) but what's left once you've downgraded? Once you've cast off everything that the game is marketed on, you're left with another same old same old FPS. That is my point.
Also, this community does fully acknowledge the "truth". That is, we know graphical technology is progressing at an amazing rate, and we realise torque should keep abreast of it. Not must, but should. Purely to give people the option to use such technology.
But we also acknowledge another truth, that many other "indies" don't.....
We're indies.
It's that simple. Many people seriously believe they can pull off an MMORPG with pixelshaders, fully dynamic lighting, etc, etc. They also convince themselves they need this, to ever get published. Many people are so obsessed with staying abreast with graphics technology, they forget that their gameplay has to be up to scratch too.
Being the underdog, indies will never be able to keep up with corporate game developers. So why try? Make your gameplay the strongpoint, not the graphics. We don't have the huge marketing spin machine they do. So selling a game on graphics isn't effective. If we sell on gameplay, it may make fewer initial sale. But word spreads about great games with ok graphics. Word doesn't spread about games with great graphics and terrible gameplay.
#31
Second: I'm a hobbyist graphics programmer. I really enjoy programming game code as well, but my #1 hobby activity is implementing computer graphics.
I'd love to get a game completed, but frankly, I don't mind working on graphics technologies for their own sake as well. I think some people around here would do well to remember that a lot of people hanging around here aren't indies at all...
We're hobbyists...
And we'll code whatever features make us happy, and those may or may not have anything to do with shipping a game.
11/29/2002 (7:17 pm)
First: You know what? I really like FPS games. I don't mind that they aren't particularly innovative, just as I don't mind that the typical hollywood movie isn't very innovative. Different != good.Second: I'm a hobbyist graphics programmer. I really enjoy programming game code as well, but my #1 hobby activity is implementing computer graphics.
I'd love to get a game completed, but frankly, I don't mind working on graphics technologies for their own sake as well. I think some people around here would do well to remember that a lot of people hanging around here aren't indies at all...
We're hobbyists...
And we'll code whatever features make us happy, and those may or may not have anything to do with shipping a game.
#32
I found in this thread what I was trying to say, in a post by GG associate Phil Carlisle:
You see, it's not about eye candy. I'm still far from those who did and modified this engine. I was just asking if someone else, mainly the ones ahead of me, thinks that shader support would be a great refactoring in TGE render code. I didn't asked anyone to do this for me, I just wanted to hear some pros and cons.
My project is still in the design phase. Whe're producing some art and a demo just to try the engine, know it better and make the best design decisions we can, nothing final.
I'm not experienced in C++ and graphics programming, but I'm an experienced programmer anyway. When we get to the point, if we need to go beyond TGE rendering, instead of cementing modifications inside the engine code we will choose a more elegant (and macho!)solution and try to implement at least some texture shader support.
My posts are just to get some feedback about how big is the problem I'm dealing with. If the cost is too high for us, ok, we give up on it. It's all about if we NEED IT (a game design decision), and how much effort it costs. The latter is what I'm trying to measure here.
11/29/2002 (7:46 pm)
Andru, I totally agree. I will just try to get back to my point. I found in this thread what I was trying to say, in a post by GG associate Phil Carlisle:
Quote:Whilst I'm not exactly sure that hardware shaders will or will not be supported in the near future, I AM convinced that a shader based architecture is the most flexible solution and one that's been proven as a good method of organising a render engine.
You see, it's not about eye candy. I'm still far from those who did and modified this engine. I was just asking if someone else, mainly the ones ahead of me, thinks that shader support would be a great refactoring in TGE render code. I didn't asked anyone to do this for me, I just wanted to hear some pros and cons.
My project is still in the design phase. Whe're producing some art and a demo just to try the engine, know it better and make the best design decisions we can, nothing final.
I'm not experienced in C++ and graphics programming, but I'm an experienced programmer anyway. When we get to the point, if we need to go beyond TGE rendering, instead of cementing modifications inside the engine code we will choose a more elegant (and macho!)solution and try to implement at least some texture shader support.
My posts are just to get some feedback about how big is the problem I'm dealing with. If the cost is too high for us, ok, we give up on it. It's all about if we NEED IT (a game design decision), and how much effort it costs. The latter is what I'm trying to measure here.
#33
All of you guys are correct to a point. I don't think anyone here is blatantly incorrect. Every piece of technology has it's place with the exception of perhaps the Sinclair C5 and oven chips.
It's putting the 'advancements' into perspective that is the difficult problem. Most arguments in philosophy come about where you have grey areas where both parties are correct to some degree.
Now, without comparing advanced graphical capabilities to philosophy, If you feel you need stuff in your game then do it, don't try to convince others. If you don't then don't implement it.
In the end, if your game sells, then you could say it's because of it's amazing graphics. If it doesn't then you could say that it's because your graphics weren't amazing enough. You'll never really know unless you do market research.
In the end though, you'll come to a point of equilibrium where you'll want to add in graphics up to a point where you feel you'll get a net-gain back. That point is difficult to nail-down and I suspect will always elude game developers everywhere.
I'm sure the basis of this thread was discussed here.
- Melv.
11/30/2002 (3:34 am)
... and the merry-go-round goes 'round and 'round ...All of you guys are correct to a point. I don't think anyone here is blatantly incorrect. Every piece of technology has it's place with the exception of perhaps the Sinclair C5 and oven chips.
It's putting the 'advancements' into perspective that is the difficult problem. Most arguments in philosophy come about where you have grey areas where both parties are correct to some degree.
Now, without comparing advanced graphical capabilities to philosophy, If you feel you need stuff in your game then do it, don't try to convince others. If you don't then don't implement it.
In the end, if your game sells, then you could say it's because of it's amazing graphics. If it doesn't then you could say that it's because your graphics weren't amazing enough. You'll never really know unless you do market research.
In the end though, you'll come to a point of equilibrium where you'll want to add in graphics up to a point where you feel you'll get a net-gain back. That point is difficult to nail-down and I suspect will always elude game developers everywhere.
I'm sure the basis of this thread was discussed here.
- Melv.
#34
Basically, all what Andru said is great. Great post Andru.
11/30/2002 (4:49 am)
Anthony, no one ever said shaders are a bad thing! I love shaders, I've implemented them myself in a couple of projects, same with bumpmapping, etc. and I'm working on getting them into torque... but the point of this was that graphics don't make a game.. I surely enjoy graphics, I love doing cool graphics, etc... but my main goal is to finish the game and make it fun.Basically, all what Andru said is great. Great post Andru.
#35
I posted about it in my .plan, here.
Since posting that plan, I've gotten this stuff to work with a 2-3% decrease in performance over the 'fixed' shading, and I still have a few more optimizations to do.
For maximum performance, there are parts of the Torque that need refactoring (Sorting by shader/texture globally instead of by interior object would be nice in particular.)
Overall, though, I didn't have to make any particularly sweeping changes. Most of the intellectual efforts went into new code (eg. For parsing, intelligently spreading shader passes across texture units, etc.)
11/30/2002 (5:46 am)
Adib, I've been working on adding a high level shading language (NOT hardware vertex or fragment programs) to Torque. I've been using Quake 3's shading language as a model.I posted about it in my .plan, here.
Since posting that plan, I've gotten this stuff to work with a 2-3% decrease in performance over the 'fixed' shading, and I still have a few more optimizations to do.
For maximum performance, there are parts of the Torque that need refactoring (Sorting by shader/texture globally instead of by interior object would be nice in particular.)
Overall, though, I didn't have to make any particularly sweeping changes. Most of the intellectual efforts went into new code (eg. For parsing, intelligently spreading shader passes across texture units, etc.)
#37
Just think that would give nicer interiors (a pretty big win immediately).
Phil.
11/30/2002 (5:00 pm)
I'd still like to see someone take a look at paul nettle's (fluid studios) radiosity code he released and incorporating that as an alternative lighting solution for interiours in torque.Just think that would give nicer interiors (a pretty big win immediately).
Phil.
#38
Mark, so you could add texture shaders without mess to much the engine's original code. Good news! That was the 'cost' I was referring to. The cost of making a large change to someone else's code that's already working.
As we close version 1.0 of our design document this week, me and the team will know what graphics improvement will be needed (if any) and what would be added as a plus. This discussion is important to this evaluation, that's community!
Phil, do you have a link to it?
11/30/2002 (7:58 pm)
Well, not every graphics improvement thread is pointless, after all... Mark, so you could add texture shaders without mess to much the engine's original code. Good news! That was the 'cost' I was referring to. The cost of making a large change to someone else's code that's already working.
As we close version 1.0 of our design document this week, me and the team will know what graphics improvement will be needed (if any) and what would be added as a plus. This discussion is important to this evaluation, that's community!
Phil, do you have a link to it?
#39
such a big deal for such a small implementation..
Ill post the resource as soon as im finished.
Almost there. Shooting for the end of dec '03
11/23/2003 (2:07 am)
Wow- a lil too aggressive arent we guys..such a big deal for such a small implementation..
Ill post the resource as soon as im finished.
Almost there. Shooting for the end of dec '03
#40
11/23/2003 (10:29 am)
Silly Adam... second post today replying to a year old thread.
Torque Owner Adib Murad
Correct me if I'm wrong: shaders exist to make the rendering pipeline scriptable, 'cleaning' the engine. Instead of putting the effects I need all inside the engine code, I write them in Cg (or GL2 or whatever) scripts. The engine would have a clean and generic rendering pipeline, and the effects would be up to me. If Torque had shader support, Brian Ramage wouldn't have to rewrite the interior's code to add his bumpmaps, for example.
If my readings worth something, a rendering pipeline with shaders support is a more flexible design to an engine, isn't it?
Did I misunderstood something? If not, I don't see how a 3 days of programming would replace 1 hour of 'photoshopping'. If a good texture does the job, great! If I must add more, I can do a shader.
I don't think even big-budget companies would do this exchange you said. They are even more concerned about throwing resources/money away. What do you think?
Oh, and please don't think I'm not one of these forum kiddies, that keeps tossing graphic buzzwords and does nothing. Since the happy day I decided to by Torque, I've been learning a lot. Hope I can contribute as soon as possible, instead of just keep bugging you all.