Difference between revisions of "What makes a good level?"

From Valve Developer Community
Jump to: navigation, search
(Undo revisions by Kizzycocoa (Talk) Not up to Wiki standards)
Line 1: Line 1:
{{stub}}
+
The answer to that question can both fill volumes, and be answered in a single line: A good level is a fun level.  Victor Hugo wrote "If a writer wrote merely for his time, I would have to break my pen and throw it away."  That is to say, don't design just for the simple sake of designing a level. Rather, design a level to be used.  Give the level purpose, motion, and character, and it will be a good level.  All aspects of design will contribute to that, and must be balanced against each other.  In the end, people are going to judge the level on whether or not they liked playing it.
mapping can be very complex at times. but the most important question is the one above.
 
 
 
what makes an official VALVe map so good? how can I achieve that level of perfection?
 
 
 
there are very, very simple ways to do so.
 
 
 
==The Idea==
 
  
every map needs an idea. something to back it up. half life and left 4 dead both have unspoken backstories.
+
''"A building is alive, like a man. Its integrity is to follow its own truth, its one single theme, and to serve its own single purpose. A man doesn't borrow pieces of his body. A building doesn't borrow hunks of its soul. Its maker gives it the soul, and every wall, window and stairway to express it."'' - (Roark) Ayn Rand, The Fountainhead
 
 
half life tells the story of a scientist having a very bad day at work.
 
left 4 dead tells the story of survivors, trying to escape the zombie hoards that have overrun where they are.
 
 
 
be it an addon, a mod, a map or a simple sketched plan, it is worth nothing unless it has an idea to back it up.
 
 
 
also, don't use too many ideas at once. don't mould the map to suit the ideas. mould the ideas to suit the map. ideas can always be used in later maps.
 
 
 
==planning==
 
 
 
now you have your idea, you can now make the layout of the map.
 
 
 
generally, a quick sketch of your map is good enough.
 
in this sketch, plot where the zombie are going to be, where the energy ball launchers are, what the course is, and all those parts of the map. the vitals, if you will.
 
 
 
once you plan it, it will be a lot easier to make. and you can fill in the little details later
 
 
 
==the map==
 
 
 
the map itself must be optimized before anything.
 
 
 
nothing messes up compile more than, say, a cylinder that isn't a func_detail. it really messes up performance in game, which will make the map worse.
 
another fundamental problem is enclosing the whole main map with a skybox. this is the wrong thing to do. no matter what you make.
 
 
 
also, a leak will mess up the game a lot too. the lighting will be odd, splashes of intense black will litter the map.
 
 
 
==textures==
 
 
 
these are VERY important! don't think they aren't!
 
texture alignment is the absolute necessity to a good map. it makes it look professional, and is much easier on the eyes.
 
this is most picked up in maps. and it's such an easy thing to do! you've practically got sliders in the form of the arrows above the texture transformation buttons.
 
 
 
==details==
 
 
 
details are a huge boost for games. take half life two. so much detail has been put into the start. the carriages, the ropes, the workable vending machine, the litter etc. it probably took them over a week to get all these little details perfect, and it is well worth it. otherwise, the train station just wouldn't be real. it would feel vacant.
 
 
 
==sound==
 
 
 
sound is also fairly important.
 
 
 
for example, if you put in a soundscape. just put a trigger_soundscape into the map where the player will be, and add an env_soundscape_triggerable (with the right soundscape attached). the ambiance will be a lot more atmospheric than hearing absolute silence. even in silent moments, such as a haunted house. if you add a sound of wind or faint wailing, the atmospheric effect is greatly increased.
 
 
 
==overlays==
 
 
 
they are very important. add a few posters, leaves on the floor, cracks in bricks, all of these enhance your map that little bit more.
 
 
 
==3D skyboxes==
 
 
 
if your map is fully enclosed, such as a portal map, feel free to skip this part.
 
3D skyboxes are a very nice touch. it's a shame they aren't used more.
 
 
 
to make a skybox, simply make sure the co-ordinates 0, 0, 0 (the center of the grid) are in a place the map is (so it isn't in "the void").
 
place a sky_camera at 0, 0, 0.
 
copy the IMPORTANT parts of the map and the sky camera. important such as the edges near the skybox boundries, or big buildings.
 
 
 
paste them in the new map. at this point, forget the boundaries of the map, or the size.
 
 
 
make the entire area full-size. mountains, brushwork etc.
 
DO NOT add entities.
 
 
 
then size it down 1/16th of it's size. go to "transform", "scale" and type 0.0625 for the X, Y and Z values.
 
 
 
==lighting==
 
 
 
probably the hardest thing to perfect. lighting is very important for atmosphere. (as I am not good at lighting myself yet, I will leave this to someone else to fill in)
 
 
 
==map protection==
 
 
 
after all the hard work you've made, protecting it is important. especially from Vmex.
 
(taken from Vmex's site)
 
 
 
''Q. I'm a map author. How do I stop someone decompiling my map with VMEX?
 
 
 
A. There are several ways (in order of increasing security):
 
Add a property key "no_decomp" with value "1" to any entity. (You will need to turn off smart edit to do this).
 
Use a texture called "tools/locked" on any non-culled face in the map. (This is not a real texture, so you will have to make a custom one.) You may hide the texture in a sealed room, but it can't be on any culled face on the map (facing towards the void).
 
Use this small prefab: [http://www.bagthorpe.org/bob/cofrdrbob/files/protector.zip protector.zip]. Add it anywhere in the map, but don't rotate or scale it. If you retexture it, make sure all faces and all brushes have the same texture. Don't use the texture "tools/toolsinvisible", but "tools/toolsnodraw" is fine.
 
 
 
If VMEX detects any or all of these present in a map, it will refuse to decompile it. Note that a sufficiently wiley user can fairly easily alter your .bsp file to remove the first two methods (and thus allow the map to be decompiled), but they would need extensive knowledge of the .bsp format to remove the third, so this is the most secure.''
 
 
 
==final preparations==
 
 
 
once finished, use a program to embed custom content in. this will help protect them a little bit (but they can still be extracted by knowledgable mappers). pakrat is probably the best program to use. after all this, you have now got your finished map.
 
  
 
==See Also==
 
==See Also==
Line 97: Line 7:
 
[[Category:Level Design]]
 
[[Category:Level Design]]
 
[[Category:Theory]]
 
[[Category:Theory]]
 +
 +
{{stub}}

Revision as of 21:15, 25 November 2009

The answer to that question can both fill volumes, and be answered in a single line: A good level is a fun level. Victor Hugo wrote "If a writer wrote merely for his time, I would have to break my pen and throw it away." That is to say, don't design just for the simple sake of designing a level. Rather, design a level to be used. Give the level purpose, motion, and character, and it will be a good level. All aspects of design will contribute to that, and must be balanced against each other. In the end, people are going to judge the level on whether or not they liked playing it.

"A building is alive, like a man. Its integrity is to follow its own truth, its one single theme, and to serve its own single purpose. A man doesn't borrow pieces of his body. A building doesn't borrow hunks of its soul. Its maker gives it the soul, and every wall, window and stairway to express it." - (Roark) Ayn Rand, The Fountainhead

See Also