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

Game Development Unreal Engine 4

UE4 – The Maskening


During the COVID-19 pandemic of 2020, Allen Pan created a launcher that launches masks onto people’s faces. Around this time, I was experimenting with Unreal Engine 4 and decided the scope of my project was too large.

A Discord server I’m on linked to the Reddit post and highlighted one of the comments:


It occurred to me that this would be a “quick” project to approximate in UE4, so I asked the team if it would be better as an FPS or third-person. Karva said “The only problem is that once this is all over the game would be out of date” and “third person so you can customize your mask.” I came up with the cringeworthy phrase: “maskrotransactions.”

I knew I wouldn’t get to any sort of mask customization, but I started up a new UE4 project with the Third Person Template and got to adding some basic functionality for a Tower Defense game.


Basic customer pathfinding/following

After getting basic pathfinding into the game, I created path through some rectangles that would eventually be shelves inside a store. I realized I’d need the AI to do a bit of crowd control, since there were potentially going to be a lot of customers so I used the “Detour Crowd AI Controller” which has some embedded functionality for avoiding other objects. A list of YouTube tutorials that came in handy are at the bottom of this post.

After getting AI pathfinding to work, I wanted to incorporate the mask launching. I followed a few tutorials related to adding a weapon to third person and found it was a bit more involved than expected (as is everything). I did a quick mask model using primitive objects in Asset Forge and threw it onto the default mannequin for the player model, then copied that onto the customer models.

I used Joe Wintergreen’s debug lines tutorial to emulate bullet trails so you could vaguely tell where you were shooting since there was no crosshair and the mask launcher was literally a cylinder in the mannequin’s arms.

When the mask is applied to a customer, I adjust the visibility on the mask and apply a blue hue to the customer’s material so it’s easier to tell at a distance.

Launching masks onto customers

I posted the gif on Twitter and Allen Pan (the guy who made the original video) commented on it. I am admittedly not an artist, so I went onto the UE4 Marketplace and found a few grocery store/convenience store looking assets and made some very minor edits.

My computer/UE4 has a weird error where I had to turn off screenspace reflections otherwise there were some pretty horrendous reflections off the pavement.

Screenspace reflections turned on is bad for me

“Final” Product:

The Maskening was certainly an interesting side project and ended up taking a lot more time than I thought it would. As of November 4, 2020, the map loads with 2 maskless customers who pick a random route through the store. There’s a trigger you can step on to spawn additional enemies and you’ve got 50 masks in your launcher. The words “Wave 1 of 10” display at the top and there’s no functionality there.

Maskening two rude customers that decided to come out without masks

Will I ever work on this again? Probably not! But it was fun and challenging in ways I wasn’t expecting.


Basic Pathfinding and Detour Crowd AI Controller:
UE4 Detour Crowd AI Controller Tutorial by Gustavo Reis
Detour Crowd AI Controller : Unreal Engine 4 Game Engine by Peter L. Newton
UE4 Quick Tutorial – Ai Waypoints by LemonFrost Games
Unreal Engine 4 Tutorial – AI – Part 4 Patrolling NPC by Ryan Laley Games
Unreal Engine 4 Tutorial – AI – Part 5 Patrolling NPC Continued by Ryan Laley Games

Firing and adding masks to customers:
UE4 tute: Drawing debug lines with constructionscript by Joe Wintergreen
UE4 Third Person Shooter Game Project SetUp Part 1 by SG Unreal Creation
UE4 TPS Game Add Weapon and Equip Weapon Part 3 by SG Unreal Creation
Animation Assets – #2 Unreal Engine 4 Animation Essentials Tutorial Series by DevSquad

UI Widgets:
UE4 / Unreal Engine 4 UMG / Widgets – #01 Custom UMG by Dev Enabled

Screenspace Reflections Issue:

Unreal Engine Forum Topic by BrokenTripod