Sunday, February 28, 2010

Game design from a gamer's perspective Pt. 4


Lighting is critical to any 3D game title. It is equally as important as the camera. While the camera lets you peer into the world, the lighting allows you to see (or not see) the world. Good lighting let's you see what you need to see. Great lighting sets a mood for the story. Setting up the proper lighting for any scene in a 3D world is critical to the mood you're trying to achieve and is one of the two major ways (the second way being music) to set the tone and mood for the game (and story). Games that have successfully used lighting properly include Bioshock, Chronicles of Riddick, Halo 3, Assassin's Creed, GTA4, F.E.A.R. and The Darkness (just to name the top games). No, Oblivion didn't make this list. While Oblivion has reasonable lighting, it's just not outstanding. Note that lighting needs to be combined with textures and shaders to complete this package. Perfectly lighting a poorly textured or shaded object doesn't do anything for your game. These two things go hand in hand... which is why texturing is next.

Proper lighting entails making sure the color of the lighting is accurate for the scene. Lights should produce a halo effect if very bright. If it can produce the film 'strings' (left and right horizontal streams), it can easily give your game a film like quality. In fact, I've not yet seen a game that's even done this. Lights on the backs of vehicles or during moving sequences should produce streams. Lighting should produce soft shadows, when possible. Lighting should always produce a shadow. Shadowless lighting is odd and makes your game look unrealistic. Also, unless you're trying to achieve a specific mood, shadows should never be 100% black. True ambient (GI - bounce) lighting always lightens up shadowed areas. So, even if your engine doesn't support GI, you can simulate it through the use of ambient lighting.

Texturing and Shading

While lighting is key to setting a tone and mood, shading and texturing brings out the realism. If you want to make a scene look photoreal, you need four things: natural lighting, high resolution textures / shaders, a high resolution mesh (or low res mesh with great looking normal maps) and natural environments. Clearly, in a video game, there's limited RAM. So, you have to optimize the game's memory footprint by taking some shortcuts. So, while you will need to take shortcuts, don't take them unless absolutely necessary. For example, don't make your mesh resolution so low that even a normal map can't fix it. Use a high enough resolution that the mesh looks good on its own. Then, add normal and displacement maps to increase the resolution and add realistic folds and creases. Combining that with great looking diffuse textures and you've got a winning combination.

Games that have successfully produced great looking human models include Mass Effect, Bioshock (at least the Big Daddy), Oblivion, Fallout 3, Heavy Rain, Drake's Fortune, The Darkness and a few others. Unfortunately, there are many more games that use low res textures, shaders and models. For the Mario's and Sonic's of the world, that's fine. But, for a human drama, don't skimp on shaders and textures.

Additionally, don't put tons of effort into your human characters by using 1024 x 1024 texture maps and then proceed to load 128 x 128 maps onto terrain surfaces. Keep consistent. Use high res maps for all surfaces or none. Don't pick your main character to make look great and then cheese out on the rest of the surfaces. Two Worlds was primo at this. High res character models, low res terrains. It looks horrible.. don't do it.


Shaders are what make your objects look like real everyday objects. It adds shine, transparencies, ambience and lots of subtle things to your characters. For example, the use of a specular map on skin surfaces is critical to making skin surfaces shine properly. Without a specular map, the skin surfaces look shiny and plastic. Again, for Mario, that's fine. For human drama, not so much. Always try to make an object look correct by using the proper levels of specularity and specular maps when possible.

Levels of Detail

Level of Detail (LOD) is commonly used in games. It saves memory for distant objects but also gives high res details up close. When possible, use it. Any console programmer likely already knows this, but if you don't, here you go. You can read up on the use of LOD at various sites including Wikipedia.

Character Models

What's to really say here. The best I can offer up is make them look good. Leave this task to your very talented character artists to design. I've rarely come upon games that have poorly designed characters. Occasionally it happens, but rarely. For example, I was a bit disappointed in the models for Crackdown. Most movie tie-in games tend to have poor character models. In many cases, the game designers choose to move the camera very far back from poor quality models. This can make the model look a lot better than it is. For level based games, a small character can work. For up-close-and-personal 3D shooters, that doesn't work so much.

Again, hire quality designers and modelers to produce your models. Texturing and shading them is, of course, a big way to make or break the model.

Graphics modes

I've been very impressed by various games that some designers have chosen to employ. For example, Halo 3 has almost an almost cartoon approach to the models, but placed in a very realistic environment. This gives the game an almost surreal quality. Master Chief looks like armor, but at the same time he looks like a cartoon. This works.

Crackdown and Borderlands, on the other hand, chose an outline system for the characters. While it looks fine for the first few minutes, the graphics quickly get in the way of the story. It's difficult to get past the outlines. If you want to use outlines in a game, use them sparingly. For example, GTA used a design outline approach to intro graphics, but not the game itself. The game itself had a much more realistic look. This also worked.

3D console games really do look best when you use the 3D system to look realistic. Trying to use a stylistic approach to 3D doesn't seem to work well with Direct3D or OpenGL. Perhaps these systems need a facelift, but the recommendation from Gamezelot is not to use outlines if possible. Although, experiment. If you come up with something that has a wow factor, maybe I'll reconsider.

Playability - Terrain and getting stuck

A big part of game design is how well the game plays. Graphics, textures and shaders affect playability very little. Playability includes such things as collision detection, how well the characters move in space and how they interact with objects in the space.

For example, Fallout 3 majorly failed in one aspect of playability. The rebar, rubble and various blocks and chunks of cement get in the way of movement. It's easy to get 'stuck'. Sometimes getting stuck means you can jump your way out. Some times getting stuck means restarting your game. It is crucial to make sure your play testers ferret out any stuck spots. If possible, don't make terrain where you get stuck anyway. It's always frustrating to walk over terrain to be blocked by some invisible thing that you have to jump over or go around. Make sure to thoroughly play test your games for this aspect of the terrain.

Collision Detection

I won't say that much here about collision detection. In short, just make sure it works properly. Bullets aiming at the player character need to impact and be felt through rumble. The collision needs to make sense. So, test and test to ensure your detection system works 100%. Then playtest it again to make sure your game testers agree.

Easter Eggs

Easter eggs are fun little romps. Whether they are an integral part of the game and story or not, you should always include some. They are fun little diversions that let you step away from the main game and just idle down for a little. It's always good to let the gamer take a break in the environment just to 'play'. By 'play', I mean wander around and look at everything, goof off and generally do nothing. Getting away from the main action for a few minutes lets you regroup for a possibly hard boss battle. Wandering off just to explore the gaming system lets you find easter eggs and these can be as little as a secret message to an in-game award. It's your choice as to what people find, but make it fun.

In-game tutorials

When a game first starts out, many game designers feel that tutorials are the only way to 'help' the gamer become accustomed to the environment. For first-time gamers, this is true. For hard core die-hard gamers, this isn't true. Having to start out a brand new game and spend the better part of an hour wading through pause after pause stopping for pop-up screens and messages is frustrating and annoying. Always give the gamer the option to skip tutorials and go right into playing the game. If the first level is designed as the tutorial, then make sure it's not important to the game and give gamers a way to skip it.

Parts: 1 | 2 | 3 | 4 | 5

No comments: