Mapping Tutorials

Does anyone have links to tutorials on making Zombie Escape maps?


Currently Online.. Probably.
Council Member
Getting started is pretty easy, I'll walk you through as much as I remember about mapping. CS:GO seems to be near identical to CS:S in terms of mapping.
(Work in Progress! May make a video later, but there's many resources for this including CS Map Makers • /r/csmapmakers | , Counter-Strike: Global Offensive Level Creation - Valve Developer Community | , and Source tutorials - YouTube | to start. Much of the SDK is shared with other source games, but certain entities might be exclusive to certain games)

First off, you'll need a to log into steam on an account with a valid copy of Counter-Strike: Global Offensive. If you own CS:GO, you own the mapping tools. Open steam's main browser, look under 'Library' tab right next to store, then in the top left you can filter to 'Tools' or just hover over the actual library tab and select tools from the drop down. The one you want to install (143 MB big) is called "Counter-Strike: Global offensive - SDK " (SDK = Source development kit) Right Click on it, and click install game. Once it's installed, you launch it same as any steam game.

Now, you should get a tiny ugly green menu box. Select "Hammer World Editor" to open the tool you'll be assembling the map in. You'll be in a rather bleak, empty toolbar sort of place, but you need to make a new project to work with! In the top left hand corner, File > New (Or Ctrl + N ). You will now see the main previewing tool for the map outside of CS:GO that is 4 boxes! One is a visual preview (It looks much better in-game, but it's for visual feedback.) in the top left of the 4 panels. You can use WASD and Arrow keys to navigate which will Move the camera left/right/up/down and turn the camera left/right up/down with the arrow keys. The Other 3 screens will have a grid on them and are for a Top, Side, and Side view (x/y, y/z, x/z). Between the 3, you can see a full 3-d perspective in a 2-d space! You can click in the top left corner of each tiny box to change view types if desired. 3D Textured is a good one for the first top left box if it's not already set to that. Wireframe can also be nice when working with overlapping boxes. You can even click on the box and hit 'Z' to move the camera around like you're flying around.

Now comes the fun part, the map making itself! The map will be made up of mostly 2 categories of things: Blocks (sometimes called other things; Think of them as big cubes, prisms, ect) and Entities (Player spawns, trees, triggers, weapons, ect are all entities)! For a Zombie Escape Map, you'll need 4 things to make it playable:
- Player Spawn Point
Or multiple, one for each player in our game! 32 Terrorists and 32 Counter-Terrorists would be the most any map could need since 64 is max players in CS:GO; bG has currently 40 players max, and might be able to re-use spawn points​
- A skybox
You'll notice your vision being screwed up and some really un-fun map bugs in areas where there is no skybox OR blocks/entities to look at. We could also make a tunnel to avoid this, but the sky is nice anyways. This is often a big, hallowed out box with the texture "Skybox" on it. It defaults to a certain texture, but you can change this later if desired!​
- Lights
We don't want our map to be pitch black, so we use different kinds of lights. Normally only 1 sun (Or as it's called in the engine, "Light_environment"), and a select use of other "Light_<type of light name here depending>"​
- And some kind of "nuke" for the zombies at the end.
This is normally done by a button (func_button) that triggers a entity to hurt all people (trigger_hurt).​

To get started on making a map, let's make a big block run on! This can be easily achieved by clicking on the "Block tool" aka Tiny Grey Box in the Left-most menu! Once selected, click and drag a square (Really a cube) in the top right corner view ("Top" or x/y). You'll notice it will tell you the size of each dimension, and it can be adjusted to be as small as 0, or as big as it can render (No idea the max, it goes big)! Let's do a nice 1024 x 2028 (x 32, but that will show up in the other 2 views) one to start? Once we adjust to the size we like, hit Enter! The Block is now officially in the 3D space of our map. Keep in mind, the player is About 72 units tall, and 26 wide according to the SDK's guess. You may also adjust the numbers that the block can 'snap' to in size by using the "[" and "]" keys to raise or lower how big of number increments it jumps to (Generally power of 2. 4, 8, 16, 32, 64, 128, ect).

We've just make our first block, but it doesn't have a texture that we want yet! Not a problem, we'll just go to our handy texture toolbar on the upper-Right hand side. You should see a preview of the current texture, the size (128x128, ect), Browse, and Replace. We'll hit browse for now, and a new menu should appear with many textures! There's tons from various CS:GO maps, custom CS downloaded from joining servers, other games like L4D, and Dev tool textures to allow better optimization, unique things, decals, ect. Let's search for one confusing but useful texture: Nodraw! In the Filter search bar (Middle bottom) type "nodraw" and it should come up as a nice yellow texture. You can use any texture on your computer (So long as it's a Valve Texture File or .VTF, but it doesn't mean other players will have it unless they have a game that has it already. You will need to include all non-default textures in your .bsp file (The format of the maps) using methods that aren't important initially since we have tons of textures to work with from the already downloaded CS:GO maps and source engine.

What nodraw does is renders completely no texture for anything using the texture. This is a good thing because we only will be able to see 1 of the 6 sides of our cube if it's the group! So, if we make everything initially in nodraw, then change the textures we need to see 1 face, we've just cut out 83% of textures on our cube (5 out of 6 sides will have no texture rendered when we play the map) from needing to be rendered to the player. We've not changed how the box looks though, we've changed it so our next boxes are drawn with the invisible brush which is a great idea.

To actually change our texture, we use the selection tool to click our box (Red cursor, top left of the left-hand menu). Then, we click the red brick box to apply the current texture (Nodraw, or anything your heart desires!). If we only want 1 side to change texture, we select the cube, click "Texture application mode" (3 colored box, left menu). Then, while holding control we click the side we want a different texture on! In this case, the top. We hit browse on the texture application promt box, then find whatever texture we want on the one side. Double click the texture to use it, then click apply. You can also do all kinds of settings for scale of the texture, size of the lighting map, justifying it to a side, center, ect. You can fool around with those to your liking, and use them to match textures to the right scale or start in the right place. If done right, you will have a 6 sided cube with 1 visible texture, and 5 invisible/unrendered textures.
Last edited:


Currently Online.. Probably.
Council Member
I've used more than 10,000 characters, page 2 coming soon.
I already know how to decompile maps and open them in Hammer to find secrets etc, but it would be really cool to know how to actually make something myself. Not sure I'll ever make anything more than just a simple test map with some boxes and some buttons, but even just playing around with it and having the knowledge would be cool. So, yeah, please continue your tutorial Hardcore, I greatly appreciate it :)


Currently Online.. Probably.
Council Member
I already know how to decompile maps and open them in Hammer to find secrets etc, but it would be really cool to know how to actually make something myself. Not sure I'll ever make anything more than just a simple test map with some boxes and some buttons, but even just playing around with it and having the knowledge would be cool. So, yeah, please continue your tutorial Hardcore, I greatly appreciate it :)
If you have any questions I most likely know the answer, am pretty familiar with where to find the answer, or know a guy who knows a guy with an answer :)

Tutorial writing rage quit after it cut out the rest my post though, but basically insert light_whatever same as you do a ct spawn and check properties, then make a button that makes the zombies all hurty.