Check out Half-Life Re-imagined competition results!
Check out Skewing textures in Hammer, our newest tutorial!
Welcome, Jongmeister, our newest member!


Site Stuff






Feeling Blue

What's your favourite shade of blue?














1 mins

Instant Mix

4 mins


5 mins


8 mins


13 mins


18 mins


21 mins



A gaming and technology blog by TWHL admins Penguinboy and Ant. A music blog by TWHL users Ant and Hugh.


Page: [1]

Tutorials > Half-Life > Beginner > Introduction


By atom (More from this user)
1st November, 2002
star star star star star (3 votes)


The purpose of this tutorial is to introduce you to some of the basic concepts you'll need to understand in order to begin mapping. Most of the time you are just expected to know what entities, FGDs and BSPs are, but when you first open a map editor (hey, what's a map?), things can look really confusing.

Hopefully after reading this quick tutorial, you'll be able to understand what's going on in the editor, and the basics of how it works. We're dealing with WorldCraft here, but the priciples are the same throughout all versions.

WorldCraft, for those of you who don't remember, was the name of Valve's level editor before it was renamed to Hammer, which happened at version 3.4. This tutorial has been updated to reflect any changes from hereon. My additions have been italicised. - Ant

What's in a map?

Quite a lot actually, but we'll just look at some of the basic prinicples here. 3D first-person shooters have always relied upon some form of 3 dimensional construction for the player to move around in. A playable Half Life map contains this information in compiled form, and is known as a BSP (which stands for Binary Space Partition, but the name isn't important here). To create such a map, we would obviously need to work in three dimensions.

Thus, Hammer, and (generally speaking) every other 3D editor, gives you three basic views to work in, usually with a 3D view to help you - it can be difficult to see what's going on in the map when you have to see each object from three completely different angles.

The 2D views in WorldCraft are: top (x/y), front (y/z) and side (x/z). It is often possible to work in just two views, but for more complicated construction you will need all three.

Maps are made up of two main things: brushes and entities. Brushes can also be called solids. Entities can be either point- or brush-based. Solid brushes are the structural things in a map: walls, stairs, terrain etc. Entities are the 'active' things in a map: they light it up, they give it sound and movement, they create monsters and control them. There are different skills involved in both halves of map making, so some people will prefer fiddling with entities, while others will enjoy solid construction. But you need to understand both in order to create a good map.

The map as it is in WorldCraft cannot be used by Half-Life. First, it has to be compiled. This is a complex process involving various programs that combine the brushes, entities, light, textures and other information into a single .bsp file for use in the game. The compilers (BSP, CSG (Constructive Solid Geometry), RAD (RADiosity) and VIS (VISibility)) are included with WorldCraft, but it's a good idea to download Zoner's Half-Life Tools (ZHLT) to replace them. Zoner's compilers are faster and more advanced. WorldCraft needs to be told where to find the compile programs (see Tools > Options > Build Programs).

Compiled .bsp files cannot be used directly in WorldCraft, although they can be (semi-successfully) decompiled into .map format by a decompiler program.

A note on this however: currently, the decompilers avaliable on the Internet don't exactly do a great job of converting a BSP into an editable file. You're guarenteed to get brush problems. As well as this, decompiling maps is generally a practice that's frowned upon by the community, as it leads to (and it has happened) theft of hard work.

WorldCraft works in two formats: RMF (Rich Map Format) and MAP. There are other formats apart from WorldCraft's .rmf and the compiled .bsp. While ost map editors will have their own proprietary format, .map, is relatively generic (which is why editable maps are often distributed in this format rather than only .rmf). In fact, you can load a .map directly into Notepad and edit it from there! However, WorldCraft has stuff like 'vis groups' which can only be stored in its .rmf format, so use that whenever possible.


WorldCraft is the editor of choice when it comes to Half-Life, although there are others that can be used. It's relatively simple to set up and use, and most Half-Life mapping tutorials on the web work with it. However, it's all a bit daunting at first, and getting the application ready to build maps is the first hurdle to overcome. But, although the Help file has lost some of its beginner's stuff in the later versions of WorldCraft, it does still have a useful setup guide. Go to Help > Help Topics, and on the title page that appears you'll see a link to Setup Guide. Follow that, and you should be all ready to go.

Now, if you're a Steam user, the tutorial in that help file will be utterly useless to you. Luckily, we have an excellent guide in setting up Hammer for the Steam version of Half-Life, which you can find here.

Editor Files

Various files are included with WorldCraft that are crucial to mapping. As already mensioned, a set of default compilers are found in WorldCraft's main folder, but there is also an FGD (Forge Game Data) file and a lights.rad file.

FGD: halflife.fgd is a kind of intermediary between the editor and the game engine. It stores information about available entities, their properties and flags, and how they look in WorldCraft.
lights.rad: This file stores information about 'texture lights'. It lists the names of textures that act as lights, along with their colours and brightnesses. .rad files are used only by the compile tools, not the editor.


Since mods are now more popular than the original game, you might want to know how to make maps for them. You will need a separate 'game configuration' for each mod (read the Setup Guide for details), and a separate FGD (have a look in the TWHL's glossary for a description), which you should be able to find on the web. Then you can simply choose which configuration you would like to work in for each map you create.

To make a map for use in Half-Life's original deathmatch, on the other hand, you just need to use info_player_deathmatch as your player start position (and place more than one of them). With one or more of these present in a map, the map will be visible in the maps list when you create a multiplayer game.

Modifications of the game often only have a few extra entities to get used to, or some changes in the way existing entities work. For example, to create Terrorist spawn points in Counter-Strike, use the info_player_deathmatch, while info_player acts as the Counter-Terrorist spawn point.

That's about all there is to it. Remember, experimentation is the key, but if you ever get stuck, you know where to point your browser! Also, remember to check out TWHL's glossary for more in-depth explanations of many of the terms used in this tutorial.


avatar Ningen says: star star star star 6th July 2008, 05:22 AM
The links are invalid, but nice tut, thanks!
avatar bigbrother1998 says: 17th January 2010, 10:51 AM
too confusing i quit
avatar Cd5ssmffan says: star star star star star 28th May 2016, 21:11 PM
if you quit you will never get anywhere in life
avatar SourceMapper says: star star star star 1st January 2017, 05:44 AM
^^ Replying to a 6yearold comment? Wow
avatar Cd5ssmffan says: 23rd May 2017, 22:35 PM
giving up is the easiest thing in the world to do. but to hold everything together when everyone would expect you to give up takes real balls
You must be logged in to comment.