User:Kizzycocoa/tutorials/what makes a good map: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(created page (so regardless, it is still here))
 
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{stub}}
mapping can be very complex at times. but the most important question is the one above.
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?
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.
there are very, very simple ways to do so, and also, many complex ways to achieve this level of detail


==The Idea==
==The Plot==


every map needs an idea. something to back it up. half life and left 4 dead both have unspoken backstories.
every map should have a plot. something to back it up. half life and left 4 dead both have unspoken backstories and a main plot.


half life tells the story of a scientist having a very bad day at work.
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.
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.
be it a mod, a map or a simple sketched plan, it is always better with a form of plot.


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.
hidden plots are also a good way to make the playing experience authentic. rat man dens, old decorated houses and small alcoves where people once were. the best game to find examples is half life 2. generally on the coast level, as the map is much bigger than other maps in the game.
 
however, too much story is also a problem. a good average limit is 2 main plots, and 5 hidden plots.


==planning==
==planning==


now you have your idea, you can now make the layout of the map.
now you have your plot, you can now make the layout of the map.


generally, a quick sketch of your map is good enough.
generally, a quick sketch of your map is ideal. that way, it gets slightly easier to visualise what your map will look like.
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.
if you make a sketch, try to plot where the zombie are going to be, where the energy ball launchers are, what the course is, etc. basically, the bare bones of the map.


once you plan it, it will be a lot easier to make. and you can fill in the little details later
if you'd prefer, you could just dive into the map, but planning usually helps a great deal.


==the map==
==the map==


the map itself must be optimized before anything.
the first step is to create the bare layout of the map. an untextured layout is fine, but due to the yellow in the nodraw being a solid colour, it can be hard to see corners etc. in the 3D view. I generally use a metal wall texture, as it splits up the map into easy-to-measure units.


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.
once you create the bare map, try to create as much decoration as possible. remember to make any details into a "func_detail" entity. nothing messes up compile more than, say, a cylinder that isn't a func_detail. the portal file will get split up a lot if details aren't turned into func_detail entities. the portal file makes zones of what to render. as the way source creates the file, it follows along the sides of the cylinder until it meets a wall or when intersecting with other splits. so if you have a cylinder, it will go along each side until it meets a split.
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.
another fundamental problem is enclosing the whole main map with a skybox. this is the wrong thing to do. with skyboxes, only enclose parts that will see it.
 
leaks also mess up the map a lot. the lighting will be erratic, causing intenser dark areas to litter the map.


==textures==
==textures==


these are VERY important! don't think they aren't!
textures really bring the map to life. the textures obviously show where you are, and when positioned right, will create the right atmosphere for your map.
texture alignment is the absolute necessity to a good map. it makes it look professional, and is much easier on the eyes.
first off, the idioticly simple. if you're making a building, try to make it look like a building too. to have a rock ceiling and snow on the floor in an apartment block, and mean for it to actually be the ceiling/floor will not give the right atmosphere at all, and you are heading down the flamey road of no return. it would look extremely odd, and will make the user's opinion of your map plummet.
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.
 
texture alignment is the absolute necessity to a good map. simple texture alignments makes the map look professional, and gives it a nice finish.
when reviewed, this is usually picked up in maps.
 
to align textures is very simple. it's practically slider-based now, and the newest version of source can keep a hold of numbers like 0.125, and those with more than 2 numbers in decimals. all this can be seen in the texture browser. simply change the numbers by clicking the up and down arrows next to them, and try the textures as aligned as possible.
 
of course, the less menial way to align textures such as hallway textures is to click the top/bottom/left/right buttons. if the brush doesn't extend past the floor, then it should automatically align.
 
{{note|insert scaling sentence in next update and update ALL text below this message}}


==details==
==details==
Line 94: Line 104:


==See Also==
==See Also==
*[[How To Develop A Map That Works]]
*[[How to Develop a Map That Works]]
[[Category:Level Design]]
[[Category:Theory]]

Latest revision as of 10:27, 13 August 2023

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, and also, many complex ways to achieve this level of detail

The Plot

every map should have a plot. something to back it up. half life and left 4 dead both have unspoken backstories and a main plot.

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 a mod, a map or a simple sketched plan, it is always better with a form of plot.

hidden plots are also a good way to make the playing experience authentic. rat man dens, old decorated houses and small alcoves where people once were. the best game to find examples is half life 2. generally on the coast level, as the map is much bigger than other maps in the game.

however, too much story is also a problem. a good average limit is 2 main plots, and 5 hidden plots.

planning

now you have your plot, you can now make the layout of the map.

generally, a quick sketch of your map is ideal. that way, it gets slightly easier to visualise what your map will look like. if you make a sketch, try to plot where the zombie are going to be, where the energy ball launchers are, what the course is, etc. basically, the bare bones of the map.

if you'd prefer, you could just dive into the map, but planning usually helps a great deal.

the map

the first step is to create the bare layout of the map. an untextured layout is fine, but due to the yellow in the nodraw being a solid colour, it can be hard to see corners etc. in the 3D view. I generally use a metal wall texture, as it splits up the map into easy-to-measure units.

once you create the bare map, try to create as much decoration as possible. remember to make any details into a "func_detail" entity. nothing messes up compile more than, say, a cylinder that isn't a func_detail. the portal file will get split up a lot if details aren't turned into func_detail entities. the portal file makes zones of what to render. as the way source creates the file, it follows along the sides of the cylinder until it meets a wall or when intersecting with other splits. so if you have a cylinder, it will go along each side until it meets a split.

another fundamental problem is enclosing the whole main map with a skybox. this is the wrong thing to do. with skyboxes, only enclose parts that will see it.

leaks also mess up the map a lot. the lighting will be erratic, causing intenser dark areas to litter the map.

textures

textures really bring the map to life. the textures obviously show where you are, and when positioned right, will create the right atmosphere for your map. first off, the idioticly simple. if you're making a building, try to make it look like a building too. to have a rock ceiling and snow on the floor in an apartment block, and mean for it to actually be the ceiling/floor will not give the right atmosphere at all, and you are heading down the flamey road of no return. it would look extremely odd, and will make the user's opinion of your map plummet.

texture alignment is the absolute necessity to a good map. simple texture alignments makes the map look professional, and gives it a nice finish. when reviewed, this is usually picked up in maps.

to align textures is very simple. it's practically slider-based now, and the newest version of source can keep a hold of numbers like 0.125, and those with more than 2 numbers in decimals. all this can be seen in the texture browser. simply change the numbers by clicking the up and down arrows next to them, and try the textures as aligned as possible.

of course, the less menial way to align textures such as hallway textures is to click the top/bottom/left/right buttons. if the brush doesn't extend past the floor, then it should automatically align.

Note.pngNote:insert scaling sentence in next update and update ALL text below this message

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: 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