New Member
✔️ HL Verified
💻 Oldtimer
Oct 27, 2002
Best answers
~Introduction - This thread will be a tutorial on how to map! It will cover everything you will need to map! You can go from never mapped before, to a mapper in no time!

1. Essential Programs and Options
2. The Valve Hammer Tools Overview
3. Incredible Terrain - 3 Ways
4. Groups
5. Textures and Texture Blending
6. Entities
7. Compiling
8. Testing Your Map the Right Way
9. Mapping Lingo, Baffle Your Friends!

1. Essential Programs and Options
Well, you will need the following programs to map and compile maps. There are many replacements for the items listed below, but I recommend them as they are what I use.

A. Valve Hammer Editor 3.4 -To actually map the maps.

B. Zoner's Half-Life Compiling Tools - This is a custom build. I prefer this one. This is what actually compile your map. I will explain this in the Compiling section.

C. Nem's Batch Compiler -This is the interface you use to compile the map. I shall explain why not to use the one that comes with Hammer later.

Now when you load up Hammer for the first time, it will ask you to set several options. You can use the tutorial that comes with Valve Hammer because I don't feel it is necessary to explain it myself.

2. Valve Hammer Tools' Overview

A. The first tool is the Arrow Tool. You can select Entities and Brushes with it. Select it again to change how you manipulate the Brush. You can keep selecting it to change the way the manipulation of the Brush occours.
B. The zoom tool is self-explainitory.
C. The third tool is the Camera tool. Select it. You can select things in 3D view. You can move the camera around as well. Primary mouse click will rotate the screen. Secondary mouse click will move it around in a strafe. Hold shift and it moves in and out.
D. Fourth is the Entity tool. I will get to this in the Entity section.
E. The Block Tool. Select it. Go to the black griding and drag out a block. Hit enter to create the block. In the bottm right corner, you can change what you drag out. Under the "Objects" Tab, go down to cylinder. You can now only drag out cylinders. You can change the amout of sides it has in the little catagory under it. You can then change it back to Block.
F. The 6th tool is the Texture Application Tool. Each side of a block is called a face. Blocks are called brushes. Click on the Texture Application Tool. In 3D view, click side a face. Then, a little menu appears. You can edit the texture. You can edit the size, the shift, and what texture is on that face. A larger texture size will increase FPS. In ESF, I recommend a constant texture size of 2.0. But, do not raise the size too high or the quality will go down in ashes. You can also rotate texture.
G. Next is Texture Replacement Tool. Go up to top right corner and go to browse. Select any different texture. Then, select a block and hit the 7th tool down. It will replace the current textures on the currently selected block. If you edited the texture with the previous tool, it will have the same changed made to it.
H. The next tool is the Decal Tool. Go up and select another texture again. Then in 3d mode, select the Decal Tool. Click on a side of the block. It will put a small copy of the texture on it. If the side is big enough, it will not cover the whole side. This is useful for adding name textures.
I. Next is the clip tool. Select your block. Select the clip tool. Click on your block in 2D mode. A white dot will appear. Click on another part of the block. A thick white line will connect the two dots, and one side of the block will become outlined in red and one in white. The red part will be deleted when you hit Enter. Now, do a different drag over your block, starting over. This time do not hit enter when you have a white part and a red part. Instead, hit the Clip Tool again. It changes sides of which is deleted and which is saved. Now, click the Clip Tool again and both sides become white. This will slice block in half without deleting any part.
J. Next is the Vertex Manipulation Tool. This is for more advanced users because it tends to cause many errors. You must learn to properly do this without causing errors. A useful trick to find errors in your map, not all but many, is to hit CTRL+P to bring up a little menu with errors. Sometime the Fix button doesn't work. Be careful. I will show you to use the Vertex Manipulation Tool in the Incredible Terrain section.
K. The last tool is the Path Tool. This is for scripting monster sequences paths. You really don't need to know it unless you are going to make single player map. If you want to learn to use it, go find a tutorial at The SnarkPit.

3. Incredible Terrain!

There are a few ways to make great looking terrain.

A. The "Triangle Technique"

I. Vertex Manipulation
II. Select, Click, and Drag

B. The "Block Technique"

I. Select, Click, and Drag with Rows

A. The "Triangle Technique"

I. To make good looking terrain with Vertex Manipulation (from now on, I will to refer to it as "VM"), you use the VM Tool. Select the VM Tool and go into 3D view. Click on a brush and the brush will go clear and points will appear. You can click and drag points to change the shape of the Brush. But, be warned. There are many limitations of VM. Hit CTRL+P to check problems. Usually, you can only drag the point up and down and not a milimeter to the side or else it will cause an error. Now, to start making good terrain, make a cube and clip it into two triangles like I showed you before. Once you have two triangles that form a cube. Then, select the two triangles and hold shift and drag them up right next to the previous one. This will create a copy. Keep doing this until you have a the clipped cubes in a 6 by 6 fashion. Go into 3D mode, go to VM Tool. Raise and lower the points to create valleys, hills, and lakes!

II. This method will require you to make a clipped cube section that is 6 by 6 fashion once again. Select a triangle. Go into a 2D view where the triangle is laying flat on its back. Click on the triangle and you will notice the white handle bars change. It will be a little circular dot that when you click and drag it, it will rotate the brush. This is not what you want so click the triangle once again. You will notice that now the white handle bars change. Clicking and dragging, you will notice it lifts one side up and leaves the other where it was. This is what you want. Keep working it and you can make hills, lakes, and sharp rocks! This method is just as effective as VM and has the same short comings as VM. This means stetched textures if a triangle to really steap. The difference is that this method is a little slower but will definatly not give you any errors.

B. The "Block Technique"

I. This method will be extremely faster than the previous two techniques. The downsides are as follows: possibilty of stetched textures, repeatitive patterns, limited terrains variations. The good side is that it can be made incredibly faster than the previous two techniques, and it tends to not reduce FPS as much as the previous techniques. Make a block and duplicate it until you have another 6 by 6 grid. Do not clip this into triangles. Go into a side view. Select the first row, click it twice more to change the way it is manipulated. Raise it up some. Go to the next row and repeat. Make the random yet smooth. Go into a different 2D view and repeat. Now you will have some nice bumpy terrain. It can get repeatitive.

4. Groups

There are 3 different types of grouping that you must know to map effectively. When you group brushes, they will all be linked. How they are linked is the difference between them.

Regular Grouping: Select mutliple brushes, then right click on them. Go down to "Group". Now, when you select anyone of the brushes in the group, the whole group will be selected. To ungroup them select the group, right click and go down to "Ungroup".

VIS Grouping: Select multiple blushes again. Right click on selected group and go to properties. Go to "VIS Group". Hit the "Edit Group" button. Then, in the new menu that came up, hit "New Group". Choose a name and color for that group. Then hit "Close". A new group will appear in the VIS Group tab. Select that new group and close the menu. Now, a menu on the right side of Valve Hammer says "Vis Groups:". Under there, your new group you created will appear. Deselect your current brushes. Go to the menu, select your group name, and go to "Mark". This will highlight the brushes in the group.

Auto-Entity Grouping: When you tie multiple brushes to one entity (if you do not know how to do this, I will get to it in the Entity section), the brushes will all be grouped like it was grouped regularly. To ungroup, you must select the ground and right click and go down to "Move to World". This will delete the entity that was tied to it as well.

5. Textures and Texture Blending

Say you have some terrain, you have a cliffe texture next to a grass texture. It doesn't look too good when they are right next to each other. If you remember in some maps, the mapper has a nice shift from rock to grass. This is how it is done. Make a 6 by 6 section of blocks again. Use the Texture Application Tool to make the center block a grass texture. The outter blocks should be a rock. Make sure these are ESF textures. The ESF textures are located in the ESF.wad in your ESF directory. Find the texture that has grass and rock on it. Apply it to the outside blocks. You will need to allign it using the Texture Edit Tool. On the corners, rotate the texture by 45 degrees each turn. Once you finish aligning it, you will notice that some extra part appeared on the top areas, looking very nasty (if not, make your blocks a bit bigger). To fix this, select the blocks, and use the clip tool. Do not delete the blocks, just slice them. Now, change textures to the rock. Apply the rock texture to the outside clipped blocks. Now, you will have some nice grass with texture blended rock on the outside.

6. Entities

You cannot compile your map until you have added the proper entities! There are two types of entities.

Point Based: Point based entities are required to start your game! This take up a single point and can just be added anywhere inside your map.

Brush Based: This is when you tie an entity to a brush. For a detailed explaination of these entities, go to The SnarkPit. To tie an entity to a brush, select the brush and right click on it. Go down to "Tie to Entity".

Note: All Info_Player_Start, Info_Good_Start, and Info_Evil_Start entities must not be inside any brush. If they are when the player spawns, he will be stuck in the map!

Info_Player_Start: Not essential for ESF. If you add one of these to your map, it won't matter which team a player belongs to. Any player can spawn here. This shouldn't really be used for ESF though. It is essential for most other modifications and default Half-Life.

Info_Player_Deathmatch: Now, this is essential for ESF. Well, you can compile without it, but you will not see your map in the "Create Game" menu when you make a server.

Info_Good_Start: This is essential as well. This is where the good team will spawn.

Info_Evil_Start: Ditto.

Item_SensuBeanBag: Not essential. This is where sensu beans will spawn.

Item_Dragonball: Not essential. This is where Dragonballs will spawn. If you add these, you MUST have atleast 7 for the balls to spawn. More than 7 is recommended, so the balls don't spawn in the same place all the time.

Fog: This is an ESF entity which is non-essential as well. It will place a fog in your map. Play with the options for best results.

ENV_Model: Using this entity, you can add ESF Pine/Palm trees. For the name of the model use either, "Palm.mdl" or "Pine.mdl".

Light: This will put in a light as if it was from a flashlight or streetlight.

Light_Enviroment: This will entity is like light from the Sun. First, select the entity. Go into 3D view. Add it into the skybox (to add a skybox, check the MEGA-THREAD OF MAPPING). The entity will be half in the box and half out of the box. THIS IS WHAT YOU WANT.

NOTE: All light entities MUST be activated by going into its properties. You do not need to change a thing.

7. Compiling

Using Nem's Batch Compiler (refered to as NBC from now on :D) is much better than the one that comes with Valve Hammer.

1) Since Hammer doesn't need to be open, you can have more memory for the compile or use your computer for other things.

2) You won't need to know any parameters.

3) You won't accidently mispell it causing a whole important function to not run (like VIS, VIS is what lights your map).

Opening NBC for your first time, you must set the options. Go to "Options" and then to "Setup". Click on the "Paths" tab. Select each one and set them to the corresponding Zoner's Tools that you downloaded. Set the destination and then exit out of the menu.

On the NBC's main screen on the right hand side, it says "Stages". Check "CSG", "VIS", "RAD", and "BSP". I do not recommend checking HL.

Now, go to the "CSG" tab. This is where you must set the proper Hull files. There is a sticky in the Mapping section, so you can download it. Set the location and check the little box next to "Hull File". If you used a WAD that was not included in ESF, check the "WAD Include" box (anyone of them) and then hit the "..." button and set the location of the WAD. This will take the textures you used in that WAD and automaticly put them into the .BSP so you will not have to give the person the WAD you used.

From now, I shall separate it into a good compile (takes longer and higher FPS) and a bad compiler (much faster but bad FPS and poor lighting).

Good compile:

In VIS: Check Full.

In RAD: Check Extra, Sparse, Dump Light Patches, Bounce (set to 8 ), Smooth (set to 50), Coring.

NOTE:You can save this setting by going to "File" and save preset as. You can load this preset later on, so you will not have to change it everytime.

Bad compile:

In VIS: Check Fast

In RAD: Check Sparse, Incremental, Bounce (set to 4 or so)

8. Testing Your Map The Right Way

Load up your map. In console, type the following:

developer 1
r_speeds 1

Close the console now. You will be shown several numbers at the top of your screen. First is your FPS (frames per second). Next is MS (Miliseconds), this is your lag. Next is WPoly (World Polygons). This is what matters most. This is how many faces you are seeing currently.

Under 400 - Too low, go and add more detail

400-800 - That is a bit low and good.

800-1200 - This is what you should shoot for. You will have good detail without causing FPS loss.

1200-1600 - Getting a bit high, but it is still okay. You won't get much FPS loss, if any.

Above 1600 - Too much. You will get a lot of FPS loss and can cause regular lag.

Next is EPoly (Entity Polygons). This is cause by entities and models. It will not matter how much you have as long as you do not go too much higher than maybe 4000.

9. Mapping Lingo

Brush: Any block of any shape.
Entity: Not seen. Rendered invisible ingame.
WPoly: World Polygons
EPoly: Entity Polygons
FPS: Frames Per Second
RMF: A map format used for storing maps.
MAP: A map format used for storing maps and compiling them.
VIS: Visibilty Index Set. Lights your map.
BSP: Binary Space Partition. How your final maps are stored.
CSG: Constructive Solid Geometry. Builds your map.
NetVIS: Network Visibilty Index Set. Used for multiple computers to compile.
RAD: Radiosity. Fixes up the lighting.

The rest you have already learned.

If you have anything to add or if I have made some mistake, please Private Message me, and I will be happy to fix or add it. For great tutorials, go to The SnarkPit! Now get mapping!

Thank you,
The Sinister Minister
Retired Forum Staff
💻 Oldtimer
Nov 25, 2001
Best answers
Added to the Mega Thread, thanks for this chunk of useful info, Optional, your contribution is greatly appreciated ;)

Users who are viewing this thread