Have you ever looked up at a beautiful clear sky and thought ‘that’s a good skybox?’
No? Well then you haven’t been putting obscene amounts of time into the Hammer World Builder, the tool that Valve use to build all of their marvellous maps for games such as Half Life 2, Team Fortress 2, Portal and Left 4 Dead.
Thanks to Left 4 Dead this program has swallowed me whole. The Hammer World Builder is an incredibly fiddly, difficult but powerful tool that can realise most things you can imagine, if you have the technical capability to use it properly, which I don’t.
My various incompetencies with the Hammer Editor go back to my Team Fortress 2 Payload map. It was going to be great, in fact if I finish this Left 4 Dead level it could be great still. The hook, if you like, was that the cart rolled along the tracks over a transparent surface such as glass or chickenwire, and could be pushed from underneath as well as above. The map would wind its way through the two tiers, with plenty of points where those underground and those overground would have a shared battlefield. It was called pl_volcano, because you pushed the cart up and around a volcano, throwing the cart into the lava at the end to make the volcano erupt.
Wanting this to happen and actually implementing it are two very different things.
Two weeks of my life were spent trying to figure out why the cart I had placed in my Payload map was invisible. It was there, it could be pushed, it would heal friendly team members and it even made the correct clunking noises of a heavy object traversing some train tracks, you just couldn’t see it. “It’s a feature,” my friend Dante suggested. Having the object around which all of the fighting was supposed to occur appear to be completely absent from the map? That’s not a feature. That’s just broken.
So I spent many hours deleting my cart and remaking it, double checking again and again that the func_brushes were correct, that the logic gates were in place, that the track path was sufficiently above the ground but it just wouldn’t work. Eventually I do what I normally do to solve my problems and resorted to crime. I opened someone else’s map and stole their cart. A copy and paste later and my map was fixed, but I was worried. It took all that that effort to get a cart to work. How the hell was I going to make a volcano erupt?
So I retreated, discouraged. I actually went outside where there were other people, socialised, hiked across some hills, played some intruments. Those were dark days indeed.
Then suddenly, months after the game’s release Valve released the Authoring tools for Left 4 Dead. As soon as I saw the headline I knew it was time to face my fears and once again boot up Hammer.
Left 4 Dead is markedly easier to set up than Team Fortress 2. The rules of the game are less complex, you just get from point A to point B. The Director, using an autogenerating nav mesh that you can tweak to your preference, will populate the world and denote the pace of the experience. It’s incredibly smart and relatively easy to get your head around. Once the world geometry is in place much of the work is done using console commands in game. This is good and bad in equal measure. Good – typing commands into the console that can spawn tanks and trigger hordes is great fun and makes you feel like a hacker. Bad – the game is always trying to kill you.
It’s honestly quite embarrasing. I’m on a high ledge placing spawn areas for zombies, planning for the hordes to drop over the ledge onto the survivors’ heads. I’m staring at the asphalt, lining up the square area when I hear a familiar choking sound. Moments later a tongue drags me off the edge and I’m left dangling in midair, screaming. Betrayed, betrayed by my own level!
One console command later and the Smoker disappears into non existence as though it was never there in the first place. This next bit is very important, because it’s quite frankly inevitable that Left 4 Dead’s AI director will grow into a sentient being of some sort and come to rule the world. Like Skynet. Just remember, when that happens, just open the console and type ‘director_stop’. Fuck John Connor, you’re the hero now.