Graphics: Common Myths
- "You don't need good graphics for a good game."
Last I checked playing a game blind was pretty damn hard! "Good" and "realistic" are two different words. Good graphics are graphics that let a player know what's going on. Graphics give the player information about the game so they can make proper decisions and understand what's going on.
Imagine trying to...- Play an FPS without a health meter or aiming crosshair/reticule, and having the camera not magically point where the gun points.
- Play a level of Super Mario Bros where the powerups and enemies are represented with the same graphic, and the sky and ground are almost the same shade of color.
Watch out for that pit you can barely see!
- Play an FPS without a health meter or aiming crosshair/reticule, and having the camera not magically point where the gun points.
- "This game looks childish, it must be easy to run."
Lack of realism does not mean a lack of visual complexity. While GPUs have increased in complexity over time, the two big killers of framerate are still polycount and shader complexity.
- Polycount refers to polygons (or in gaming, triangles specifically), which are the little pieces of geometry that 3D models (players, enemies, items, the world itself) are made of. The more on-screen at once, the more work the GPU has to do. If you've ever played a game that had a noticeable speed drop when a ton of enemies went on-screen at once, that was likely too many polygons to render in a speedy fashion.
Smoother and more detailed shapes generally require many more polygons than rougher, more basic shapes....
However, it's entirely possible for a game to still use basic shapes, but include tons of them for a high polycount compared to other games. Take terrain for an example. This first image is an example of the kind of terrain you might see in an open-world RPG type of game. Notice the number and density of the triangular polygons.
Now compare it to Minecraft, and you can see that although Minecraft uses simple shapes for the terrain, it's much more "detailed" as far as the polycount is concerned.
This translates to a lot more work the GPU has to do to render each frame, since it has many times more polygons/faces (two triangles per face of a square) to take into account.
- Shaders are generally post-processing effects used to change the final form of a rendered image right before it's displayed to you. The left image is with no shaders, the right image is with shaders, and there's lots of differences.
Shaders are often used to add glow effects, DoF blurring, motion blur, they can tint parts of the screen or a whole screen different colors depending on the lighting, add fast anti-aliasing, and more. Shaders are very useful and used in almost every modern 3D/FPS game today, but too many complex shaders can bog down a GPU while only adding post-processing effects, so a game doesn't have to be realistic to have heavy shader effects.
The above video shows Minecraft, a decidedly-unrealistic game, with injected Shaders. This made the game so heavy that I had to record in SD and still got FPS numbers bordering 15 on the low-end... but nobody would mistake that video for a real recording.
- Polycount refers to polygons (or in gaming, triangles specifically), which are the little pieces of geometry that 3D models (players, enemies, items, the world itself) are made of. The more on-screen at once, the more work the GPU has to do. If you've ever played a game that had a noticeable speed drop when a ton of enemies went on-screen at once, that was likely too many polygons to render in a speedy fashion.
- "It's easier to make CoDShitClones and other 'real graphics' games than fantasy ones."
In practice, fantasy creations are easier to get right than realistic ones due to an offshot of The Uncanny Valley. The more familiar players are with an object, the more likely they are to notice small imperfections. For an example, let's make the same modification to two separate objects.
- First, let's take the Cactuar enemy from the Final Fantasy series, and greatly increase the size of the eyes.
No emotional response? It still looks like a cactuar.
- Now, let's do the same thing with something we're intimately familiar with: a human face.
Creepy.
When making realistic imagery, detail is much more important as even the smallest differences from the original (differences that wouldn't even be noticed with fantasy art) can be mentally amplified and jarring to a player, sometimes to the point of breaking immersion. - First, let's take the Cactuar enemy from the Final Fantasy series, and greatly increase the size of the eyes.
5/2/2013 - Changed the shader screenshot to a better one I took highlighting more differences. Local reflections, bloom, FXAA, etc.