I’ve been a massive fan of Valve’s Team Fortress 2 for around five years now. Due to this, I know the layout of the King of the Hill maps better than the back of my own hand, and can reel off the benefits of a whole range of weapons from memory.
I might as well make use of that, right?
So, I decided to design and develop my own map for TF2. I have read into the basics of designing maps for the game, and sketched out rough ideas for a King of the Hill map that plays with different heights in my notebook. However, I soon realised that I had no experience with the engine itself.
I downloaded Hammer Editor, and immediately began working through the “Your First Map” guide from the Valve Developer Community. From this exercise, I learnt a whole lot, such as that every map is essentially a room that should never leak into the Void, the importance of knowing your entity types, and that it was easier than I dared imagine.
At the end of it, I was the proud owner of an orange box that could run within TF2.
I needed to go a little further down the rabbit hole if I was to create something people actually wanted to play, however.
I continued my Hammer education with an extremely informative video tutorial series. At first, it was all the basics that I had learnt from the guide, but then it got to the really exciting stuff.
Like the fact you could take the top off of the box.
It’s safe to say I have never been that excited about a skybox before.
I ploughed through the videos, and made extensive notes as I went to ensure that I had an easy reference for when I undoubtedly returned to mapping in the engine.
It got to a stage where I was confidently manipulating brushes, applying textures, and placing entities. Then, it was time to create team spawn rooms to ensure that RED and BLU would spawn in safe locations where the other team couldn’t get them.
It all looked fine in the editor.
However, in-game RED could not trigger their spawn room doors to open. Stranger still, BLU could open one of RED’s doors using the trigger for one of their own doors.
At this point, I was extremely thankful that I’d been noting everything down, as it was a case of scanning through the process to pinpoint what could have gone wrong. As I discovered, I had mixed up some of the outputs to the door, which meant it believed it was still working for the opposing team’s trigger volume.
After correcting this, I had successfully implemented two fully functional spawn rooms with supply cabinets to replenish health and ammo, and barriers to prevent the enemy team entering.
I was pretty proud of myself for figuring out my first bug in Hammer Engine, but there was still quite a bit to learn before I would have the full skillset required to start whiteboxing my own map.
Continuing on with the tutorials, I successfully implemented the gameplay logic necessary for an Arena map. It was a lot more straightforward than I thought it would be, as most of the core parts of the logic are already set up. It was simply a case of having the control point swap to the appropriate texture when a team captured it, setting up the floating indicator, and having all the spawn room doors open at the beginning of the round.
I did encounter another small-ish bug.
The capture point would never unlock during testing. Meaning, effectively, there was no way of winning the round. So, there was no game.
After a bit of poking around Hammer, I discovered an easy fix to my detrimental problem. If I set the capture point unlock time in the main Arena logic controller to a shorter time duration, then I would have a point that would unlock after 12 seconds, and could be captured by either team.
Phew, another problem solved!
Now, to move onto the gamemode I wished to work within: King of the Hill.
It was quite a bit more complicated, with a lot more logic to wrap my head around. As well as setting up the point so that it could be captured by either team, I had to include outputs to control each team’s objective timer, and spawn waves to make sure it took the team who were holding the point longer to spawn than those fighting to capture it.
I think it’ll take a bit more practice to really ingrain such a process into my memory, but I have the theory down for it.
The end result was a fully functional KotH map. The two teams can fight for ownership of the control point, and repeatedly win it off one another until one of their timers runs out to declare them the victor.
I now have the knowhow to put together a King of the Hill map for Team Fortress 2 using Hammer Editor, as well as nine A4 pages of notes to boost my confidence further.
The next step will be to whitebox the level that I have sketched out, and begin to playtest it with various classes to see how it holds up to their varied abilities and weapons. I’m predicting that it will be a very extensive tweaking process to account for everything from rocket jumping to sniping!
I also have accumulated quite a bit of reading about designing for the game too, so that’ll be keeping me busy in my free time!