| DESIGN - Articles |
|
|
|
|
Theme, Atmosphere & Construction |
|
|
The last 2 posts more or less covered gameplay, what to keep in mind while creating an environment of your own. A last simple hint for all you mappers out there is to keep the layout of a map SIMPLE. Having multiple routes for a Capture the Flag game sounds fun and all, but having to choose out of 500 different paths to take is overkill. Simplicity is key.
Simplicity is key for gameplay, but not neccessarily for the visual design around your layout. Let's break it down for the record. After you complete testing your layout, and you're satisfied with it, you start designing the visual side of things, meaning, you will want to try and make the map look good. The first term you'll encounter is theme. Theme is a group name for general architectural styles. Industrial, ancient and futuristic can indicate/define how a map looks. With industrial I mean concrete, wood, lots of metal, machinery, pipes, support, steam, and so on. Ancient has a temple like setting, with lots of stone, wood and murals. Futuristic has chrome, metal, and overall, a curvy feel. Obviously, my interpretations of these various themes aren't definitions of these themes, everyone has his/her own imagination, and these are by far not the only themes. Egyptian style architecture for instance, has grown to become a theme, while it would fit under Ancient.
So first, you choose a theme for your map. This all depends on what you're thinking at that moment, and what kind of things you're interested in. Own choice, no debate about that.
|
|
Optimization |
One of the most important parts for construction is part of the entire construction process and thus needs to be treated early on. I'm talking about optimization. Even though it's already explained in the gameplay article, it needs to be said here as well. Unreal engine works with various methods to keep the rendering process as smooth as possible. In other words, to have as many frames per second (or FPS in short) as possible. Some of these techniques, like use of semi-solids, can better be done during your map's construction than by applying them when everything's done already (this is also why I'm putting optimization info fairly early in this article).
First technique to use is zoning. What it does is basically dividing your level into various zones. The effect zoning has is that when you do not see ANY part of a certain zone, it won't get rendered. That's how big maps can run smooth, only the stuff you see, gets rendered. Zoning is done by using zoneportals. These are really just Sheet brushes, that 'close off' an area from the rest of the map. These are usually placed in doorways, for instance.
The second technique is antiportals. What antiportals do is occlude (not render) anything that's fully tucked away behind them. For instance, you place a big antiportal between rooms, that are connected by a single doorway. (note that Antiportals should NEVER be visible to a player ingame, so they should be placed in additive space). The rooms are zoned, but you're looking at the doorway, which makes the other room visible, thus it gets rendered. A lot of staticmeshes have been placed in the other room, and even though you cannot see most of them, they get rendered because they're in that specific zone. The antiportal between the 2 rooms occludes these staticmeshes (or any other type of actor, even brushes). The downside to this technique is that antiportals themselves cost rendering power. They should only be placed if the amount of occluded actors cost more rendering power than the antiportal itself.
Next is zonefog. Although it's used more for atmosphere than for optimization, zonfog can help out a bit. It's usually only used for optimization in ONS levels, as these are big enough. What zonefog does is create a coloured 'fog' that gets thicker over distance, which is fully configurable. At the point and beyond where the fog reaches 100% thickness, thus resulting in non-vision, stuff gets occluded.
CullDistancing! Another technique to use, but not usable that often, CullDistancing puts a limit of distance between the actor (mostly staticmeshes) and the player. When this distance limit is passed, the actor will no longer render. This should only be used occasionally as you may imagine, seeing stuff disappear while you're still able to see them isn't a good thing.
Collision is one of the biggest optimization tricks in the book as well. You have to make sure that all the staticmeshes used in your map have the simplest collision possible. Collision is a huge rendering power consumer, so the simpler the collision, the less rendering power needed. This especially goes for staticmeshes with high amounts of polys.
|
| |
Theme |
When you've chosen a theme, you start working on it. A absolutely undeniable aspect of a theme is consistency. Consistency means that all the visual elements in a map are in harmony with each other, all the stuff in an industrial map has to look industrial, so no ancient gates in a factory like setting, and no rusty pipes in a futuristic setting. There are, of course, plenty of style variations, but make sure that every variation in your visual design is justified, make the visual elements believable. The same applies to audio in an environment. If you're wandering around in a factory, what would be the most likely sounds you'll hear? Noisy crickets, or humming machinery? Wind chimes, or hissing pipes? If you have music accompanying the environment, make sure it fits, some old tribal drumming track won't really sound well if you're standing in chemical plant.
A second, very important, thing you should always remember, is being able to distinguish areas in an environment. If you have 4 rooms with about the same size, don't make all the textures/meshes (3d models used for decoration, usually made in Maya or 3dsMax) the same. Variation is key. A pretty good way of making one area look different from the other is the variation in lighting. Use different colours (that go together), but accentuate areas with contrasting colours, and vary the use of each colour in each room differently. Even if you have implemented breathtaking details in your map, if you have multiple rooms that look almost exactly the same, the map will get old/stale/boring really fast.
The third important thing (or at least, to me) is detail. Attention to detail can be very rewarding, people will notice the difference between a tiled floor and a tiled floor with loose tiles/cracks in it, with small shrubs sticking out the soil in those cracks. This obviously doesn't mean that you have to make all your tiled floors into soil/shrub infested loose tile paradises, but you'll probably get the point. The great importance when implementing details is, again, variation. Cracks in the floor or holes in the wall? Make sure that every crack and hole looks different. Deja vu is no good. |
| |
Atmosphere |
That covers theme. The next thing you want in your map while spending time on the visuals, is atmosphere. What is atmosphere? I think atmosphere can be described best as a feeling. A good example here is Doom3. With the constant growling coming from the shadows, and the eerie silence in certain dark areas you can easily feel afraid, while nothing happens. If you have the opportunity, try playing that game in the middle of the night, when it's completely silent around you, with surround sound and no lights on. If you could observe yourself, your breathing would adapt to situations, getting heavier when things get tense/scary. THAT is atmosphere. Atmosphere is also the feeling that the place you're walking around in actually exists somewhere. The theme and surroundings would be realistic then, very convincing. How to get atmosphere? It's different for every map, but the right use of lighting, texturing, detail, audio and theme consistency can get you anywhere.
|
| |
Construction |
The last real point on the visual agenda is the construction. Make sure that the construction is architecturally justified. Don't have silly floating platforms that can obviously not float in some industrial map for instance. With every bit of construction you do, ask yourself when testing whether it feels 'real' or not. The most important part of construction is that you keep in account that the environment has to be playable afterwards, meaning performance related issues. The more details you put into your map, the more power it'll cost the game to render it all, which has direct influence on the amount of frames per second. To have an indication what would be a good amount of frames per second on your own pc, play maps that come with the game, and see how many frames per second you get in those maps. Those maps are retail maps, and retail FPS is often tested for months and months, so keeping to that is a good standard. Do keep in mind that you play retail maps that are comparable in size with your own map. Getting 40 FPS in the biggest retail maps doesn't justify 40 FPS in a 3 room map you made.
I think I'll leave it at this for now. I hope you enjoyed reading this as much as I enjoyed writing it.
|
|
|
|
|
|
|
|
|