Named Game of the Year by over 50 publications, Valve's d├ębut title blends action and adventure with award-winning technology to create a frighteningly realistic world where players must think to survive. Also includes an exciting multiplayer mode that allows you to play against friends and enemies around the world.

Post tutorial RSS Proper Half-Life mapping: The Essentials, Leaks, and Beginner's Guide

Just got your hammer and you think you can follow the basic glass and sky tutorials? Wrong. What I'm going to do is ram mapping etiquette into your skulls, so if you want your 'fy_csde_l337_assaultworld_2k' to work, Read this.

Posted by on - Basic Mapping/Technical

[page=Your Basic Essentials]

This is for Hammer Editor 3.4, not the version included in steam. Although some of this can be applied to Hammer 3.5


Hopefully by this point, you have Zoner's Half-Life tools setup in your hammer. If not, get it now.

Note : Brushes are the name for the blocks you make in Hammer, I don't know why, but they just are.

After setting up your Hammer with a fine tutorial such as this one You will see a load of stuff all over your screen. So before we proceed, here is an overview of your hammer interface:

Tutorial Image
[page=Common Mapping Problems]
**This section is open to changes

Common errors:

This is a quick rundown of common errors, there are alot more, but these are some that I tend to encounter often.

Sometimes when you go to compile your wonderful awp map your machine will spurt an error back at you like, 'Exceeded MAX_MAP_CLIPNODES' Which means 'You have too many brush faces' (btw, you can fix this by deleting your massive high poly brush groups or drawing clip brushes over it which I'll explain about later.)

For information on all the compile errors you will face, use Tommy of Escondido's website:

So to avoid these problems heed my basic advice:

High-Poly guide:
Tutorial ImageHalf-Life has an aging Quake based engine, meaning that even though your computer can render next years power demanding games, the engine can only handle graphics of it's own era.
Let me use a metaphor for this: lets say your massive map is a really fat man, and the half-life engine is a door, and outside that door is a reasonable Frame rendering space. The fat man won't fit through the door because the engine can't handle rendering all your map. Therefore it will lag like a little bitch. So use low poly brushes.

Vertex manipulation:
Tutorial ImageVertex manipulation is finicky but you'll get used to it. The brush MUST stay an outward shaped object. Sometimes you can't use a single brush to pull off something like an arch, so use multiple brushes.

Texture size
Absolutely, positively, never go under 0.50 or go over 5.00 in texture scale more than once because this will cause compile and ingame errors. So try to stay in this range as much as possible.

The Hitlar Cube
If there are seperate ways to make a sky, this is definatly the WRONG way. You should never, ever make a hitlar cube. Basically, a Hitlar Cube is a giant hollow brush that surrounds your map. This will steal from your texture memory and will render useless brushfaces that are not necessary for your map. This is also an exploit in a round based mod like Counter-Strike, a player could go underneath the map and delay the round, pissing off everyone else.
This is a Hitlar cube:
Tutorial Image
If you plan to be a successful mapper, you must make original, creative maps. There are some people who churn out innovative multiplayer maps like the infamous NIPPER who has made 160+ maps for various Half-Life mods especially Counter-Strike. Everyone who plays CS regularily has played one of his maps (he_glass, de_westwood, de_tot, as_moria, helms_deep, Panic_room, ow_cc, de_crazytank, gijoe_cars, cs_paintball, clue_s, the list goes on.) So if you plan to make a map, the last thing the world needs is another 'iceworld' clone.

The following is an excerpt from

***For included links in the below excerpt, you will have to visit the provided link above.

Top Ten N00b Problems (and solutions) (Volmarias)

Courtesy of, written by Jeff 'Yesukai' Prichard. Wholeheartedly endorsed by me.

"Wow. Can you believe I've actually been hanging around these forums for over a year now? And you know what? The same questions that came up a year ago are still coming up today. Seems like these are some of the most common questions that n00bs ask:p

#10: The Compile That Time Forgot
Is your compile process taking a very long time? Well, could be an error, or it could just be hard at work. The compile process uses a lot of heavy math, and it's not uncommon for some maps to take hours. If it's been running an excessively long time, like 24 hours have past and it's still not done, you might have an error. The most common error would be a leak or an invalid brush. To check for the latter, hit Alt+P with your map open in Hammer to bring up the Check For Problems dialog. Use this article for information on leaks. By the way, if you had a leak, and "fixed" it by placing the map in a giant box, your compile time will sky-rocket because RAD has to compute the outside of your map as well. Look at the above article for better ways to take care of a leak.

#09: Hint Brushes.
Hint brushes are handy dandy little things that let you define where vis leafs are split. If this is all Greek to you, there are several articles available that can help explain things. Counter-Map has a hint brush tutorial by Relic25, and David 'TitaNiuM' Nixon has also written a fine hint brush article, here at the Collective.

#08: What are r_speeds?
R_speeds are a measure of how fast the engine is rendering the game, and how much it's having to render. They are named for the console variable that you set to see them: r_speeds. Set r_speeds to 1 to see them. In English, type r_speeds 1 at the console. If you can't access the console, see this article for instructions. You will see some numbers in the top left of your screen.
The first one from the left will have "fps" after it. This is your frames per second, or how many times the engine is drawing the game to your screen every second. The higher this number, the better.
The second number is the texture load time. If this number is high, you are probably getting bad FPS.
The third number from the left is your w_poly. This is how many world polygons the game is displaying right now. This includes world brushes and brush based entities. The lower this number, the better. Your FPS will be higher (better) if this number is lower.
The last number is your e_polys; this is how many polygons you have from point based entities, or models like monster or weapons.

W_polys should be kept below 800, which is the maximum that software mode can render. For muliplayer maps, try to keep it under 600, just for the sake of playability. For an overview of common ways to reduce your r_speeds, see this article.

#07: My (insert rotating entity here) is drunk!
If a rotating entity is flying off into space like a botched NASA mission, you need an ORIGIN brush. An ORIGIN brush is a brush completely covered in the ORIGIN texture, the center of which gives a point for your brush to rotate around. So, when you have your brush ready to "tie to entity", make sure you have an ORIGIN brush included in it where you want it to rotate around. This article on rotating entities will provide more detailed information and examples.

#06: Can you join my mod?
Everyone wants to make a mod. Everyone wants their little piece of the pie. And that is the problem. EVERYONE does. So you are going to have a lot of trouble finding people. Not to mention that people who do want to work with someone else's idea also want to make sure their work gets recognized. If your mod doesn't look really good, it's even harder. Consider joining an already established mod. If you truly have a unique and viable idea and you want to advertise for people, have at least a basic website available to show them. You should have information on what the mod is about (its story), what you hope to accomplish (technically speaking), and ideally, some works in progress such as maps or models.
One last thing - an organized mod has a much greater chance of success. Robin Walker, part of the team behind Team Fortress and Team Fortress Classic, wrote a nice article on mod making right here with plenty of advice on this topic.

#05: Where do I get textures?
Here are some great sites to download lots of textures from:
JCH headquarters - Lots of resources for HL, including textures.
Wadfather - The original texture supersite.
Texture Studio - Seems to have a lot of floor textures.
The Texture Forest - Unreal site with nice high res textures.
Texture Universe - Tutorials and textures, all in nice high res Unreal.
Undulation - Yet another Unreal site with lots of textures.
The Big House - A great site with TONS of textures, including the Evil wads.
Relic 25 - The website of NS's texture artist, complete with a wad of NS textures from before they were NS textures.
HFX - A quake 3 site with lots of textures and tutorials.
Simland - Quake 3 again, this time with quite a few packages.

And to convert the textures over to WADs for Half-Life, use Wally.

#04: My Map Will Not Show Up In HL (or MAP NOT FOUND)
You either have a compile problem or your putting the map in the wrong directory. In Hammer, go Tools->Options->Game Configurations and make sure the "place map in this directory before running game" field is set to Half-Life/valve/maps (for normal halflife) or Half-Life//maps (for a mod). If it is, then look in whichever directory you saved you map for a

.log file. Open this file in a text editor and look for an error. Common errors and how to fix them can be found here.

#03: No Lights.
First of all, this may be a dumb question, but did you place any lights in your map? If not, add some light entities. Is your map free of leaks? If not, fix them like explained in this article. Finally, one of the most common causes of lights not showing up is a bug in old versions of Worldcraft where it only records parameters that you have viewed/changed, so a light that you haven't examined is really non-existent, even though you added the entity. Select your light, right click it, and click the "brightness" parameter. There, now it should show up. (This bug was present in Worldcraft 2.x. It was fixed as of Worldcraft 3.3 and is not present in the Hammer version of the editor.)

#02: How Do I Make The Blue See Through?
When making a ladder, grate, fence, etc, the blue areas are supposed to disappear... yet they don't. Here is what you do: tie the brush you want to have transparent-blue to a func_wall. Then change the render mode to solid and the render amount to 255. Voila. Done. For more information on this and other forms of transparency, check out this article.

#01: Compile Problem.
Check in the directory you saved your map for a mapname.log file. Open this file up in notepad, then look for any errors. This page has a lot of common ones. Alternatively, for a list of practically every error known to man (and fixes), click here. If don't find it there, search the VERC forums for the error, or simply google it. If all else fails, post your compile log (that file you found) in the forums with a descriptive title to your post and someone is bound to know what to do about it."

[page=Leaks lolol]
And of course, what map error table would not be complete without the dreaded
A leak will cripple your map. and depending how complex your map is, it will vary in difficulty in finding the leak. Here is a leak description from the Handy Vandel's Almanac:

Map Leaks: Avoiding, Finding, Fixing

Each time you compile a map, examine the results of the compile process in the process window.

If you find LEAK LEAK LEAK LEAK ... your map leaks!

This means the compiler has found a "hole" in your map.

Some leaks are worse than others ... some you won't notice while playing the game ... other leaks will slow the game ... big holes will cause display problems -- and heaven help the player who falls through a hole, into the void - !

You should always checks for leaks -- and when you find them, you should always fix them. (This is "a must" in the Handy Vandal school of mapping.)

Better yet -- by rigorously observing leak-free level design practices, you can avoid leaks altogether.


* Hole in the Hull - a map is like a spaceship in the void ... the hull must be perfectly seamless ... all the brushes which form the hull must fit together "just so" ... the World is inside the ship, the Void is outside ... if the World can see the Void ... LEAK LEAK LEAK LEAK ...

* Entity in the Void - all entities must be inside the World -- if one or more entities fall partly or entirely into the Void ... LEAK LEAK LEAK LEAK

How to fix a leak:
I've tried many tactics to find and fix leaks. Here is a tactic that is guaranteed to find it but may take a long time:


In this map, there is a leak. Well, sh*t. Where do you start?

Tutorial Image

First, I draw a huge brush that covers half the map, When I compile it, It gives me an error notifying me of the leak. That means that the uncovered half of the map has the error. So I go back into hammer and cover the other half of the map.

Tutorial Image

I compile again, but this time it compiles with no error. So I go back into hammer and I half that block

Tutorial Image

I compile the map and It gives me a Leak error. So with that, I place that brush over the half that was left uncovered.

Tutorial Image

And from here I continue shrinking the massive block from this tactic until I get to the point where the leak is contained in a single room. I'd either search the room myself or continuing the gradual 'blocking' technique until the leak is completely isolated.

And that's how I do it. Of all the techniques I've tried, this one has worked the best for me. Happy hunting.


And that concludes my nubcaek's guide to mapping. I wish you all good luck on your future map projects and whatnot. XD kbai

Pr0stSh0cKeR Author

this tutorial is gay.

Reply Good karma-4 votes

Most of your tutorial is copied stuff from other peoples tutorials.

Reply Good karma Bad karma+3 votes
Pr0stSh0cKeR Author

Because obviously I'd waste my time making a tutorial of other people's stolen crap and not my own musings and techniques.

Reply Good karma+2 votes

ok ok so I make a map just a basic room with an info_player_start right?
I compile and run and I get a message from half life that map "watever" not found on server... am I doing somthing wrong or what. if any one knows how to fix this plezz tell meh.

Reply Good karma Bad karma+1 vote

go to the folder where you saved the .bsp file and put it into the maps folder of half-life is that a idea?

Reply Good karma Bad karma+1 vote

thx for anti-leak tutorial I'l try :)

Reply Good karma Bad karma+1 vote

This comment is currently awaiting admin approval, join now to view.


Can't imagine how people used to deal with leaks without pointfiles.

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Profile
Windows, Mac, Linux, PS2
Send Message
Release date
Game watch
Related Games
Half-Life First Person Shooter
Related Engines
GoldSrc Commercial
Related Groups
Sierra Entertainment
Sierra Entertainment Developer & Publisher
Valve Developer & Publisher