Creating a map

Team Fortress 2 currently has 112 official (community + Valve-made) maps but this is not nearly enough! Some maps are played more than others, and you don't see the fun in them anymore. Sadly, since 2017, only Halloween maps are added in the game as part of Scream Fortress updates (and who knows for how long Scream Fortress will be an official thing).

But this doesn’t mean you should give up already and move on with your life, forgetting about your dreams of playing your own self-made map with friends and people from all around the world! Don’t let your dreams be dreams! You can start mapping today. Don't stress about getting your map into Team Fortress 2 and add your name to the long list of contributors to Creators.TF!

So how do you create a map? A large portion of Valve’s games are made in a game engine called Source. It basically powers all the games they released between 2004 and 2013 (Half-Life 2, Portal, Left 4 Dead 2, Team Fortress 2, and Counter-Strike: Global Offensive, among others).
To create maps for a Source game, Valve and the community use a software called Hammer. Only available for Microsoft Windows, Hammer is shipped with Team Fortress 2 when you download the game. To access it, go to Steam, right-click on Team Fortress 2 Manage Browse Local Files. Open the bin folder and launch Hammer.

But stop! Hammer, as is, is an ancient software (© 1996-2005 Valve Corporation) that doesn’t go well with the latest Windows. If you open it right now, you’ll be teleported back to the Windows 98 era, and the editor will randomly crash at times. Fortunately, the community came up with a solution called Slammin’ Hammer. It’s a drop-in replacement that makes your life easier with the software. You can download it here. Follow the instructions on the page to install it. While we’re at it, download this patch for vrad, the software used by Hammer to render lighting on your map, that makes it perform faster, since it uses more cores and threads of your CPU. Meanwhile, you should check UEAKCrash video about changing some settings inside hammer to make it more comfortable to use here.

A sketch of Gorge's layout drawn by a Valve employee. (Source: Valve Archive)

Now that Hammer is all set, what should you do? Well, start mapping! What’s that? You don’t know how to do that? Oh yeah, right. UEAKCrash made a series of tutorials some years ago that will help you get used to TF2’s Hammer. You can watch it here.
Beware that A Boojum’s Snark Mapping Resource Pack presented in that series is outdated (no update since 2014) and lacks essential resources from later TF2 updates. Use Puddy’s Small Mapping Resource Pack instead.

Finally, the Valve Developer Community wiki has lots of resources about Team Fortress 2 Level Creation.

If you have any issues with Hammer, you should find a solution on Google,,, and if nothing satisfies you, ask on #hammer on our Discord server.

A screenshot of Badwater during its development, around 2008. (Source: Valve Archive)

Don’t get big ideas for your first map. It should be a testing ground before moving on to your first real map. When you feel you’re used to the way Hammer works, it’s time to get started on your map.
Close Hammer, you don’t need that opened right now. Before you start creating anything, decide which game mode your map will be first: King of the Hill, Payload, Capture the Flag, Control Point, Player Destruction, Robot Destruction? As a beginner, you should go with King of the Hill, as it is the easiest game mode to make and the fastest to play.
Now, what will be the theme of your map? Will it be in a swamp (e.g Sawmill), in space (e.g Asteroid), in the Badlands (e.g Fastlane), in a facility (e.g Turbine)…?

Lay down on paper (or whatever suits you) how your map will look like. Just the basic layout. Where BLU and RED will spawn, where is the capture point and how you access it. You’ll see about the extra stuff (areas that the player can’t normally access, props to make the place less empty…) when you’ll get the basic layout set up in Hammer. Getting a good layout can be tedious at times, so you should look how other maps are made by playing them (look at Sawmill, Synthetic, Prodcut for good examples).

Why are we talking about laying down your layout on paper? Because Valve does that.

When your ideas are sorted out and you’re satisfied with the basic layout, it’s time to open Hammer. Use dev textures while the basic layout is not done. Don’t get into complex things like making roofs or whatever you want in your map. Valve does this, too.

Team Fortress 2 has a lot of assets to offer you, from props to wall textures, to signs telling you that we don’t care about your safety. But sometimes, the massive amount of stock content is not enough. That’s where custom content comes in. is full of content packs, it probably has what you need. But beware! You should look out if the creator asks for specific things before adding their content into your map.

Usually, crediting the creators is fine. Sometimes, the creator will ask you to not use their content for profit, meaning that you can’t get money from the map (you wouldn’t have on anyway), and you have to ask permission if the map gets added in Team Fortress 2 (this is really important if your map is a Halloween map, as it has more chances to be included in Scream Fortress).

Since the Gun Mettle update in 2015, Valve doesn’t buy the rights to your map, meaning that the assets used in your map won’t be included in the game. Rather, they just take your map from the Workshop and add Stamps in the Mann Co. Store so that players can directly pay you. The assets used in Borneo, Snowplow, Suijin, the Invasion update, basically every community-map added in the game since 2015 aren’t in the game files. You’ll have to find them on the internet. If they’re not available (like Invasion assets), you can’t use them at all.

GCFScape is used to browse Team Fortress 2's assets that are compressed in .vpk files. You can extract what's in there.

CompilePal makes compilation easier as the GUI is more friendly. You can use it only to pack custom assets and .nav files in your .bsp as well, more on that in Releasing a map.

VTFEdit is a MUST when it comes to making custom textures, be it walls, overlays, whatever you need in your map. Provide a .png or a .tga (the latter is better as it is uncompressed and used by Valve), it'll output a .vtf and if you ask for it, a .vmt.

Crowbar is a tool to decompile/compile models. This is a must if you have created your own models or modified existing ones (look out if you have the right to do that though).

BSPSource is a tool to decompile maps in .bsp file format. You would mostly use it for educational purposes on unofficial maps (say, pl_stranded for example), as Valve's maps are already decompiled. BSPSource is not perfect, but it can help if you notice differences with the decompiled maps available on, as seen on decompiled rd_asteroid.

After weeks or months of work, you think your map is now good-looking enough to show it to the world? There are some steps to go through before sending it to the Steam Workshop.

First, your map must have been compiled using the Full Compile set in Hammer (use expert mode to see it), or Publish - Both in CompilePal. If it can’t compile or is stuck at the vvis phase, go back on your map and optimize it.
Next, you’ll have to build cubemaps so that props are all shiny (and people don’t get the checkered pink-and-black thing all around the map). Follow this guide and go to the HDR/LDR section.
The Workshop menu. Build a .nav file so that people can play your map with bots on semi-empty community servers or offline. In the console, type sv_cheats 1 and then nav_generate. It’ll reload your map and bots should be able to walk now.
Using CompilePal, pack your assets in the .bsp file so that people don’t have to use your computer to play on your map.

Finally, it’s time to compress your map. No one really wants to download a 100MB map when you could have a 22MB one. This is done using bspzip. There are two options available: either you compress it yourself using the command-line bspzip.exe -repack -compress mapname.bsp, or you let the Workshop Submission tool do that for you.

To publish and compress your map, launch Team Fortress 2, click on the wrench button at the bottom of the screen. Then, click on Publish new item.

When you’re about to send the map, bspzip will be automatically called and when it’s done, the map will be uploaded. You’ll know when it’s done when the Steam Overlay will open the Steam Workshop’s page of your map.

Congratulations, you uploaded your first map on the Steam Workshop! If you think there’s not much to modify after the first release of your map, you can proceed to publish it on the Creators.TF Workshop. Look on the Creators.TF Submission Page how to do it.

  • en/content_creation/creating_a_map.txt
  • Last modified: 14/01/2021 21:57
  • by Alibi