Trenchbroom Half-Life Setup

I’ve had an itch lately to make a map for Quake or Half-Life so after a bit of research discovered Trenchbroom which does both. It seems to be highly regarded amongst Quake mappers and has ‘experimental’ support for Half-Life. After an hour of research I couldn’t find an easy article to set it up for Half-Life so went down the rabbit hole enough to figure it out.

After more research people seemed convinced Trenchbroom was fine for Half-Life mapping but Trenchbroom does say Half-Life support is experimental so I was a bit suspicious.

The first port of call was checking out how you’d setup Hammer (the original Half-Life map editor) so this excellent site came up quickly for general GoldSrc (name of the Half-Life engine) modding and mapping goodness. All beginners guides say you should use Vluzacn’s ZHLT to build your maps. Looking up ZHLT started to ring some bells from the last time I tried to do Half-Life mapping (when I was a young person). You pass your designed map to a series of tools to “compile” it into an actual game map. These are…

Looking into Trenchbroom you’ll find similarish tools pre-filled in for Quake, so a bit of fiddling around and I made it work using this.

Here we export the map (in case we haven’t saved it), run the tools above with some parameters that point to the exported map and copy the files into Half-Life’s valve/maps folder (would do different folders for mods).

Next, we setup the Engine simply telling it how to find hl.exe

The game also needs to know what map we want to run (although you can run it via the console) so we use +map XXX and -dev (just enables dev mode).

The texture WADS can be added at the bottom right in the ‘Texture Collections’ area. You’ll find the WAD files in the Half-Life directory (you’ll want at least halflife.wad). A prompt will ask how you want to link the WAD, I went with Absolute but do whatever works for your setup.

Couple of issues

Models do not appear in the editor (e.g. you’d expect a scientist model instead of a green box ideally). Not a big deal.

The properties for entities are not correct and/or auto-populated. I had to manually had Brightness, Appearance and Quadratic. The pre-populated _light value was wrong, so I changed it to 255. You’ll need to dig out the properties you need and add them manually when dealing with entities.

Ultimately, I really like Trenchbroom and will spend some time learning it.