Do Videogames Need More Graphical Grit?
Thanks to GamerDad for its editorial discussing whether some recent videogames, such as Metal Gear Solid: The Twin Snakes, look "too sterile and perfect" . The author explains: "The animation is fine but the world Snake runs through is too sharp edged. There's no dirt and grime in the graphics because they're perfect versions of what was seen in the original game. Somehow, these better graphics have detracted somewhat from my opinion of the newer game." He continues: "DOOM 3, for as great as it looks, suffers from a lack of grit in still shots. I'm hoping the final game will not have the plastic look of the current pictures. Even the highly polished Quake III Arena didn't come across as being plastic to me." Do other gamers share this perception of graphical sterility in some recent games?
The ability to cheaply do reflection mapping means anything glossy now gets a perfectly focused reflection mapped on it, which looks cool for about 5 minutes, then starts to grate.
Reflections are rarely perfect. What a lot of these new games need to take the edge off is a blurred reflection.
Here's a test render I did a while back comparing hard & soft reflections: Chrome_Soft_test.jpg
Much like chrome was a craze back in the early days of pre-rendered CGI, these hard reflections in real-time graphics are about to jump the shark.
What were you expecting?
...something I said almost 4 years ago. In fact, that comment was about 3dfx technology that began to address this exact problem right before nVidia bought them and killed it. All most people care about is framerates, polygons per second, and fill rates. When is the blood going to run down the wall when you shoot somebody? when are we going to have soft edges? Texture and bump maps don't help when you get to the intersection of two surfaces, and it's the biggest thing standing in the way of a believable scene in a 3d engine.
That looks terrible. Sure I can't give you an example of something that is signifigantly better, but dirty textures don't fix that plastic feeling. What brick wall have you ever seen with a perfectly straight edge like that? What wall has ever gotten all pixelated when you get close in real life?
I think we have the technology nescicary to handle the data that would be required at the speeds that would be required, but nobody is focusing on things like smoothly increasing the resolution of a texture as it gets closer to the camera, or making it so that the edge of an object isn't a perfectly straight line, or simple curve. We could probably even work it such that an object changes from a large flat texture mapped surface to a complex object when you get close enough to know the difference with todays hardware. That's the kind of stuff that I want to see. Any engine writers out there listening?
Something else that bothers me is intersections of objects. They're all too perfect. Look at those railings in the screenshot you linked? The connections aren't mechanically believable. Sure, it would take the guy creating the scene way longer to have complex intersections, but it would add so much more realism. What I've seen of Doom 3 looks like the people there care about this kind of thing, so there's some hope, but I don't think that many developers have the same patience when it comes to setting release dates.
I've been saying this for years to my friends, it's really hard to imagine you're in a real world if you keep seeing the same panel in the wall, or (worse) the same panel representing a wall (think Doom). It does make it easier to spot that one panel that is slightly off, indicating you need to blast it with a rocket or, or find a switch somewhere, but in real life every panel would be slightly different than the next. Even look at your cube walls, there are subtle differences between each one that let you sort of find "cloud pictures" (or try your ceiling tile).
I don't really have a solution, as the advances in lighting and level design, not to mention the increased amount of art that can be packed into a CD nowadays have taken care of all my ideas, apart from having an artist draw every single wall uniquely to start out with (ridiculously time consuming). Well, maybe have something like Diablo's random level generator, where a key is stored that is used to generate consistent (within the game) dungeons, but basically uses the same elements. Use it to modify certain parts of the panel, like maybe a few pixel wide micro-scratches or discolorations that you really only notice on a subconcious level.
Oh, and I'm sure someone's mentioned this already, but stop making everything look like plastic! Even plastic doesn't gleam like that, as there's dirt that settles on it (and settles in an uneven way). Materials might actually have whatever index of refraction your physics engine is set to, but if there's 50% dust, or 25% wear, that part isn't going to gleam like it was just polished yesterday. And I don't think sewers get polished very often.
Now that I'm rolling, do game publishers only work in brand-new office buildings? For those of you who are in a building a few years old, look down at the ground next time you walk around (no, not just to avoid eye contact, but actually pay attention to the ground). Notice how the carpet/tile is more worn in high-traffic areas? How next to the water cooler it's a little bit darker, due to splatter over the years? How the edges of wide hallways look like they were installed yesterday? How there are always marks on the walls in stairwells? And how even door handles start to show wear after a few years? It's the little things that we see but don't process that really make things look real - the wrinkles in people's faces. We just need "wrinkles" in our textures.
Kurdt
I'm not anti-social. Just pro-technology.