Game Development level design TF2 Mapping

TF2 Mapping – Cow_Dustbowl, KOTC_Prefab


As a novice TF2 mapper, I spent entirely too long trying to come up with game modes that would never be conventionally popular. Perhaps the best example of this is my Cow_ and KOTC_ game modes.

Cow_ Game Mode

Cow_ is an attack/defend mode where the defending team is protecting several wooden cutouts of cows. It is possible for the level designer to determine how many cows are in each stage of a level and how many cows need to be destroyed before moving on to the next area/stage.

The cows can only be knocked over with melee weapons and the defending team can stand next to the cows to make the cows temporarily invincible (marked with a large red “cancel” or “do not enter” symbol).

There are countless problems with the mode; for instance, spies can very easily backstab the cows and the only way the defending team can prevent this is by having someone camp within the protection radius of the cow. As you can imagine, the mode lends itself to having spies on the attacking team and pyros on the defending team.

As a proof of concept, I set up two maps using the mode, cow_activate_a2 and cow_dustbowl. Activate will get its own page in the future and Dustbowl is the standard Dustbowl map with cows instead of control points.

KotC_ Game Mode

KotC stands for King of the Cow. The two teams compete to have control over the cow for the longest amount of time. The cow changes teams when it has successfully been hit by a melee attack without the other team being in the protection radius.

I created a template for this mode but never implemented it into any map.



Cow_Dustbowl on TF2Maps:

My Tumblr post about cow_dustbowl_a1:

Second Tumblr post about cow_dustbowl_a1:

A short video on Youtube of Cow_Dustbowl:

Apparently played as part of April Fools 2013 at TF2Maps

Game Development level design

Going up together? AKA btmap1_rc

Teamwork Required.

In the Days of Olde, Portal 2 did not have the Perpetual Testing Initiative, which means that making Portal 2 maps required one to go into Hammer, get things set up for Portal 2, and generally scour the “Thinking With Portals” forum for information.

While playing Portal 2, the level designer in me decided “time for me to make some puzzle-y maps!” And from there btmap1_rc was created. I decided my first released Portal 2 map before the workshop would be a co-op map because I have little to no self control when it comes to aiming high.

btmap1_rc was iterated a few times and tested entirely on my own using the Portal 2 splitscreen feature. It was also the first time I used “instances” in Hammer. Overall, the map wasn’t difficult to make or design, which is why I would go on to make a number of other Portal 2 maps. This is still the only co-op Portal 2 map that I’ve created and it was also the first; so it has a sweet spot in my brain and heart.

After the Perpetual Testing Initiative, I recreated the map as “Going up together?” I still have the original version of the map, but the Workshop version is much more accessible.

Let me know if you give the map a try! (Link to Steam Workshop below)

Puzzling things out.


Scooter on Youtube (Approved method of making it to the top level)
coopcrowd on Youtube (Slightly cheeky way of completing the map; they rated the map 8/10)
Djinndrache on Youtube (Also a valid solution)


Going up together? on Steam Portal 2 Workshop
btmap1_rc on Thinking With Portals

level design TF2 Mapping Zombie Fortress

Zombie Fortress – ZF_Industry


Zombie Fortress is a mod for Team Fortress 2 that’s been around since 2008 (Official 1.0.0 release on September 20, 2008). The earliest reference to “Zombie Fortress” I’ve found is from July 2008, where Lurk (also known as Sirot) posted about a Zombie class on the Penny-Arcade TF2 forums (honestly I’m not sure of the context).

Sirot would go on to iterate on the server mod in an effort to make the mode fun. There were some complaints from other forum members, but one issue with the mod was that we were running it on standard TF2 maps rather than a map made for Zombie Fortress. Sirot created a Blogspot website where he kept a nearly daily account of the project as it went forward.

Overview of one of the ZF_Industry variants.


On August 15, 2008, Sirot posted a map concept for ZF_Industry, pictured below.

Original map concept by Sirot

Sirot asked if anyone would make a map for the mode and I offered to try running with the rough concept above. I had some rough experience making maps for TFC and some playful maps for TF2 and figured I could make a halfway decent map that was at least partially designed with Zombie Fortress in mind.


I don’t know exactly how long I spent on zf_industry, but I can assure you it ended up being a much larger project than I anticipated. I created the Train Station, labeled “T” on the map above and set up a train to drive through the station. The Warehouse, labeled “W” on the map was placed in a lower area with multiple areas for the zombies to attack from. The Mines, labeled “M” on the map, was never created because I wasn’t confident in my abilities with displacements and never seriously tried making it.

I also created a parking garage structure to get between the zombie spawn and the Mines. Not entirely sure how I ended up with the parking garage.

ZF_Industry screenshots were posted on September 6, 2008 and the initial release candidate ZF_Industry_RC1 was released on GameBanana (Formerly RPGBanana/FPSBanana) on September 21, 2008.

ZF_Industry was the first and only map for Zombie Fortress for a little while there and I made a mistake by adding a capture point area over the entire site which meant the zombies could prevent the players from winning really easily. I remedied this by removing the control points in a ZF_Industry_CPLESS version of the map released on September 28, 2008.

1,996 downloads, 5,436 views


On September 19, 2010 (about two years after release) I found Zombie Fortress again and looked into the ZF_Industry map and found a few interesting things.

The Train God:
I stopped working on the map after the initial release, but a forum called (defunct as of 2020) continued playing my map and the Zombie Fortress game mode. Apparently the train on my map was called “The Train God” at some point and inspired a Steam Group with the name “The Order of the Train God” with 174 members.

There was also a poem on with a reference to the Train God.

The “Order of the Train God” Steam Group

Undead Garrison:
I also stumbled upon Gang Garrison 2, which is a demake of Team Fortress 2 in 2D. Apparently, some people had created a mod called “Undead Garrison” which was basically Zombie Fortress in the demake. I can’t vouch for how far the Undead Garrison mod went, but I do know that someone recreated ZF_Industry in 2D for the mod and that someone else looked at it for long enough to remind the original creator that there’s hills in the background of ZF_Industry.

Undead Garrison version of ZF_Industry without hills.
Undead Garrison version of ZF_Industry after the creator was reminded by someone else that there are supposed to be hills in the background.

On March 8, 2010, a remake of ZF_Industry called ZF_Industry_v2_1b2 was posted on RPGBanana/GameBanana by Kontata54. Someone (probably the uploader) decompiled my map and made some adjustments to it, including: a secret room that can explode, the map now takes place at night, and there’s additional details added throughout.

The creator of this remake did not contact me, but he at least did reference that I was the one who made the original in his post.

ZF_Industry_v2_1b2 (nighttime!)

Here’s a short video of the map “in a nutshell” showing the secret room and the explosion.

Short Story:
The remake of the map inspired someone to write a short horror story about it. The story features some screenshots from the map and references specific features of the map. It’s wild.

Image by USMValor from here

Statistics (Updated 12-10-2020):

Teamwork.TF is a website that aggregates and summarizes information collected from TF2 servers. The following is some fun facts about peak players and when the map was last seen as of December 2020.

ZF_Industry_RC1: 3 concurrent players on 26-Jun-2017, last seen on 2018-12-10 (happy anniversary!)
ZF_Industry_RC1_cpless: 30 concurrent players on 11-Jun-2017, last seen on 2020-12-09 (???)
ZF_Industry_RC1_cpless_MAG: 28 concurrent players on 04-Nov-2017, last seen on 2019-06-28 (I attest to not actually knowing where this came from and it apparently is only being played in Asia)
ZF_Industry_V2_1B2: 30 concurrent players on 10-May-2017, last seen on 2020-12-10 (???)
ZF_Industry_V2_1B4: 24 concurrent players on 06-May-2019, last seen on 2020-03-01

“Final” Words:

I released ZF_Industry back in 2008 and did some brief research to see how it was doing back in 2010. A lot of this information comes from the initial search. Zombie Fortress has grown in popularity, but TF2 as a whole has decreased in popularity over the last 12 years. I’m still amazed that anyone played a map I made and *waves arm at all of the above*.

It warms my heart to have released something that had a surprising impact on the TF2 community.

If you have any stories about Zombie Fortress or screenshots or YouTube videos that I haven’t found in my search, please let me know and I might add a link to it here. I’ve got archived copies of old websites and screenshots and videos living on my external hard drive to look back on in another 10 years.

level design Mapbase

Mapbase – “Fears and Phobias”


Map Labs (@MapLabsComps) held the Test Tube #11 Halloween Horror 3 Bone Room, mapping competition from October 11th-19th, 2020 with the themes of “Halloween Horror” and “One Room.”

I had not made anything with Hammer since 2016, so I went about setting up Mapbase and gave Hammer a spin. After a few days of poking at Hammer to confirm I still knew how to draw brushes, add textures, and had a vague understanding of entities and input/outputs, I started coming up with map ideas.


Initial Concept:
My initial concept for the competition was going to have the player in a large room that required the player to look at specific objects/entities to change the look of the room. Each corner of the room would have a puzzle that directed the player to stand in a specific space and look at a specific object. The areas between the corners of the room would be filled with strange objects that turned to follow the player. They would slowly make their way towards the player to give a sense of dread while trying to solve the “look at this object” puzzles.

The primary issue with this idea is that it requires me to come up with several puzzles, detail several areas, and there was no way for me to easily create an object that traveled towards the player. I found out that there was no way to travel towards the player after about a day and a half and went back to the drawing board.

Final Concept:

During a screening of Crimson Peak, I daydreamed about other concepts and finally did a quick search for common fears and phobias. Equipped with a list of 20 phobias, I evaluated which ones would theoretically be possible in Hammer with the limited resources of the HL2/HL2:Episodes assets.

The 10 phobias I was trying to incorporate into the map:

  • Hippopotomonstrosesquippedaliophobia (fear of long words)
  • Hemophobia (fear of blood)
  • Necrophobia (fear of dead things)
  • Trypophobia (fear of holes)
  • Astraphobia (fear of thunder and lightning)
  • Agoraphobia (fear of open spaces)
  • Nyctophobia (fear of darkness)
  • Claustrophobia (fear of tight/crowded spaces)
  • Acrophobia (fear of heights)
  • Thanatophobia (fear of death)

I planned on linking the concepts together in a large single room; guiding the player from one area/fear to the next via small text messages in the distance.

Final Product:

The “Fears and Phobias” map ended up spanning a total of 5 fears/phobias and was submitted to the MapLabs contest on October 18, 2020. According to Steam, it took me roughly 21 hours total, including setting up MapBase and getting my bearings in Hammer again. Some of this time is also me accidentally leaving Hammer open, so it’s likely closer to 10-12 hours spent actually working on the map. The link to play the map and the rest of the contest is/will be posted below. I recommend playing it before continuing to read, as I will be giving away everything.

The level starts with the camera zooming in on the crowbar and a brief title sequence with a vague flickering lighting. The intent is for the player to take the crowbar, but it’s technically optional. The purpose of the crowbar is for the player to feel like they will need to fight off some enemies (they won’t actually have to).

Title Sequence

After grabbing the crowbar, the player sees: “There’s no coming back here. / It’s time to face some fears. / What are you afraid of?” which is flare text to make the player think about what scares them and also let them know that they won’t be able to pick up the crowbar again.

The player at this point will notice that the only direction to go is down; a short fall where the landing area is shrouded in darkness. The player doesn’t have a flashlight or anything at this point, so it’s a bit of a leap of faith. The words “1. Nyctophobia – Fear of Darkness” appear on the screen right before the player steps over the edge.

Fear 1 – Nyctophobia

Once in the darkness, the player is met with two headcrabs who may or may not notice the player. This serves as a jump-scare and implies that the dark isn’t safe; the player will need the crowbar (but they won’t). The words “Come here.” display nearby.

Once the player reaches the words; they words hop to another part of the map. As the player wanders in almost complete darkness, they are met with groans from headcrab zombies and the ambient noises from Ravenholm.

After the player reaches the third “Come here.” message, the lights turn on and it’s revealed that the player is in a large warehouse and was in no danger the whole time. The player picks up an SMG and is greeted with an elevator.

When the player has gotten onto the elevator, the words “2. Hippopotomonstrosesquippedaliophobia” appear on the screen followed by a brief pause, then “A Fear of Long Words.” This is a brief joke; as the player is supposed to think the long word has something to do with elevators.

The elevator stops short of the platform it appears to be aiming for; sparks fly from the track. The words “(save recommended)” appear, because I wasn’t confident on how to set up auto-saving and the title/dark sequence is a bit long if you die a lot at the next part. As the player looks for a way to get up to the platform; they will notice a headcrab zombie torso on top of some explosive barrels. The hope is that they will try to shoot the explosive barrels.

Fear 2 – Hippopotomonstrosesquippedaliophobia

If the player shoots at the barrels or tries to step off the elevator, they are greeted with an invisible floor. I ended up using the “fog” texture and setting it to “not rendered” to get the effect I wanted of blocking bullets but also creating brief smoke clouds.

If the player walks onto this invisible floor, the words “3. Acrophobia – Fear of Heights” appears, as the player floats high above the rest of the level. The player navigates an invisible maze, three stories in the air, by firing a gun at the invisible floor. SMG ammo is provided at regular intervals so it’s more of a patience thing rather than guessing where to go and keeping track of ammo left. The words “Watch your step.” appear in the distance at a ventilation shaft as a brief joke and to give the player a goal to aim for.

When the player reaches the ventilation shaft and steps inside, the words “4. Claustrophobia – Fear of Tight Spaces” appear on the screen, followed by “(save recommended).” There’s technically no way for the player to actually die at the next part, so the save is meant to instill a feeling that the player could make an incorrect decision.

Fear 4 – Claustrophobia

As the player reaches the end of the shaft, they see an odd “caution” striped piece of metal on the left and two floating text messages on the right: “Option 1” and “Option 2” at branching shafts. Technically it doesn’t matter which the player chooses because the result is the same; giving the player the option is intended to imply that the player can get this “wrong” and die and have to start over.

Once the player makes a decision and starts down the shaft, the player is greeted with the words “Don’t look back now.” If they decide to turn back, they will notice the “caution” striped piece of metal has started moving towards them, following them down the shaft, which is obviously unpleasant.

If the player looks straight ahead and continues at their slow pace down the shaft, they may notice that the walls of the shaft are tapered in a way that seems like the walls are closing in. This effect may be too subtle but it caused a bunch of issues while I was making it. The effect is achieved by using player clips to constrain the player to the center of the screen and then using func_illusionary brushes that the player’s collision box can clip into. This lets me shrink the vent down to a space of about 16×16, even though the player can only fit in a space of 33×37.

As the player reaches a dead end in the shaft, the words “5. Thanatophobia – Fear of Death” appears. If they turn around, they should have at least 5 seconds or so to see the metal piece slowly approaching them to, presumably, crush them to death. When the metal piece gets close enough, a crushing sound plays and the screen goes black.

The words “The End” appear over the black screen and the player is done with the map.


Halloween Horror 3 was posted on October 30, 2020 and “Fears and Phobias” scored 19th place out of 23 entries (not including the bonus entries) with an average score of 25.667. So that means I was in the Top 20!



ModDB Link to Halloween Horror 3

level design TF2 Mapping

TF2 Mapping – MVM_Redbrier

MVM_Redbrier was initially posted about on August 26, 2012 and eventually was uploaded to as a Beta 3 version on January 29, 2016 and the file has been downloaded 232 times. The map has also been uploaded to the TF2 Workshop where it currently has 478 subscribers. These numbers were gathered on 2020-09-27.

A Japanese blog rated a number of custom TF2 maps and MVM_Redbrier was the hardest; with only a ~1/8.5 win-rate. I didn’t intend to make the map as difficult as it was; but I’m happy to see it’s not a 0% win-rate. According to the stats page on “Sushi Server,” MVM_Redbrier was played 2,001 times with 110 wins for a ~5% completion rate.

This map started as a remake of the Meet the Medic video but it quickly morphed into its own map which supports 2 tanks at the same time. The population file is a bit rough because I was mostly winging it and comparing health values between the different bots. The map started as mvm_hospital, then became mvm_ward around 2012-08-23 before switching to “Redbrier.”

The name “Redbrier” is derived from “The Greenbrier,” a luxury resort in West Virginia that opened in 1913. The resort is also home to “Project Greek Island,” which is a massive underground bunker. I previously looked up the floor plan and bunker plan to try to design the interior set piece, but it was easier to place a few of the large rocket props inside rather than try to emulate anything from screenshots of the actual location. I changed the word “Green” to “Red” since the RED team defends in TF2 and the rest is history.

The map features 2 separate locations for tanks and enemy drops, which means it’s easy for the enemy to get behind you in the forward area. Once inside the base, there are still two separate routes with a number of shortcuts for the players to take to transfer from one route to the other. The 6th wave is generally taken to be the hardest due to the fast giant scout bots. The 7th is more of a matter of DPS.

The map consists mostly of standard props, though I did create a custom texture of a pile of robot parts which can be seen in the 4th image in the gallery (many of these images courtesy, a Russian gaming community).

If you decide to play this map or upload a video to YouTube or elsewhere, please let me know!

TheReplayScout on YouTube created a playlist beating all 7 waves in 2014:
XoblinhasGamers on YouTube played the map with 10 people in 2013:

User “goosmurf” on the FacePunch forums says: “Probably my favourite of the community made maps so far. What I like about this is that the two bot spawns are reasonably far apart so it’s not too easy to choke them.”

This is the only MVM map that I released to the public. According to backups, there might be a B5 version, but I’ll look into that at a later date.

There’s apparently a “mvm_redbrier_b3_666_calamatic_r” version of the map which probably changes the population but I haven’t been able to download and test a copy of this.

Tumblr search for “Redbrier”