- Jan 8, 2011
- 397
- 393
This is going to be a list of basic mapping/Hammer guidelines that I think everyone should know about. Hopefully it'll be a good resource for new mappers. If anybody else has tips or corrections, let me know.
- Don't start a map without a sketch of (at least) the key sections of the layout.
If you try to make your map layout entirely on the fly, you will almost certainly run into issues with scale and balancing, and you'll probably also get very, very mixed up. Without a proper plan, it's hard to keep track of your routes, and your map can get very cluttered as a result. That being said, sometimes room to improvise can be a good thing, so don't take this to mean that everything should be totally planned out with perfect precision.
- Start by blocking out your map in dev textures.
When I first started to map, I had this notion that maps were made in full detail from the very beginning. That's not the case; instead, maps go through 3 building phases: alpha, beta, and RC. As you first build your map, you're working on the alpha phase. This means that you should not be making details! Instead, you should "block out" the map by building everything with dev textures. This makes it easier to change sections of the map later, when testing reveals flaws in the layout.
- Optimize your map as you build it.
For a new mapper, optimization can be confusing. For now, it's best to just know the basics. First, build every new brush with the nodraw texture. Then, apply textures to the faces of the brush that will be visible. This helps reduce your compile times, as it makes sure that the lighting engine doesn't have to render a bunch of pure black faces, which aren't being hit by any light. Second, use func_details to keep your visleafs under control. Also keep hint brushes in mind. They allow you to manually split visleafs.
- There's an efficient way to seal your map!
To compile a map correctly, it has to be entirely sealed off from the outside void. The more complex your map gets, the more difficult this becomes. Fortunately, you have a few tools at your hands to help out. If you have a compile that fails because of a leak, the compiler will generate a pointfile that shows you where the leak is. You can then load this file in Hammer and seal the leak up with a nodraw brush. Remember that func_details cannot seal a map! You do not have to do a full compile to get pointfiles. It is much quicker to compile using these settings (no VVIS, no VRAD, don't start the game on completion). It will still generate a pointfile, but without all the other useless compiling.
- Don't use the carve tool!
Carving is never recommended, for a variety of reasons. It cuts brushes inefficiently, and has a nasty habit of creating microbrushes. It's best to just use the clip tool instead.
- Don't use the 1-unit grid; use at least the 8-unit grid.
In Hammer, you can change the size of the 2D grid with the [ and ] keys. I made the mistake of mapping at the 1-unit grid, because I thought the greater accuracy would be a help. However, it is much faster and easier to map at a larger grid size, such as 8 or 16. Only use the 1-unit grid for things like aligning props, or very fine details.
- Wooden walls should be 16 units thick, concrete should be 32.
This is more of a general guideline than a rule set in stone, but it's still a good thing to keep in mind. 16 units should generally be the thinnest any wall can get (though you can make thinner ones if you use a playerclip to make them act like they're 16 thick).
- Wall corners should look like this (unless you don't want them to).
When two walls intersect at any angle, you should clip them at half that angle and put the clipped ends together. For example, the walls in the screenshot above join at a 90 degree angle, so I cut them at a 45 degree angle and push those cut ends together. This helps with texture alignment and map sealing. You don't have to, though. There's a discussion in the comments of this thread as to whether or not this is really an important thing.
- Download the ABS resource pack!
It's really helpful, just read the thread and download it.
Last edited by a moderator: