How to make a surf map [Cs:GO / Cs:S / TF2] – Part 1 – Basics

How to make a surf map [Cs:GO / Cs:S / TF2] – Part 1 – Basics

Hey, Welcome to the first episode on how to
make your own surf map, in this series we will be covering all the basics to have your
own fully working map, in addition to these videos I highly recommend watching TopHATTwaffle‘s
amazing beginner tutorial series to learn almost everything on hammer, and you might
even pick up some good habits, link is on the screen. To get started we need to install “Hammer
World Editor” which can be found inside the game’s SDK, there are 2 of them, CS:GO
(Which I will be using) or Source (For all the other source games) They are both essentially
the same except for different textures and some other minor details. They can be found under the tools section
in the “games” dropdown menu. Once you’re done with all that we can get
started, first things first we want to change a few settings for optimized workflow: Under
tools click options, now you might not understand what all of these do, but you will in due
time. First I change the default texture scale up
from 0.25 to 0.5, basically textures will be twice as big when you place them down,
this is optional but I recommend it for surf maps since the levels are usually very large. Second I change the default lightmap scale
to 128, this is essentially how smooth shadows will be on a given surface, the default value
will make compile take a century, besides surf maps don’t need to have very detailed
shadows. Then in the 2D views panel enable, default
to “15 degree rotations”, rotating objects without it is a pain in the ass. Then Enable “arrow key nudge selected object/vertex”,
this allows you to move blocks using arrow keys, will come in handy later. And lastly “reorient primitives on creation
in the active 2d view”, which we will look into later when we’re dealing with more
complex geometry. And to finish it all off , in the 3D views
panel pull the “back clipping plane” to the maximum (provided your computer can handle
it), and move forward speed to the 5000’s. Now with that boring stuff out of the way
let’s get into the exciting part, create new map, file ->new or ctrl + n. There are four view ports, top-left is the
3D view which allows you to see the map in 3D, top right is the top view, and bottom
left and bottom right are front and side view. The 4 viewports might look a little weird,
and the panels on the side might take up a lot of space, but you can simply click and
drag them as you want, and once you’re done you can press “view ->autosize 4 views”
or shift + a for short. First of all we need to select a special texture
for optimization purposes, known as “nodraw”, so on the right hand side click browse next
to the image. Then type nodraw without any spaces and select
the yellow image that shows up. This is a face that’s not drawn, this texture
should be on every surface we cannot see. Once you’ve clicked on it press escape or
click the close window button, or just double click on the texture. Whenever you make a cube, or any object, it
will have the texture shown on the right applied to all faces of the object. By clicking the white cube on the left side,
or by using the shortcut shift + b, we are now using the block tool, which allows us
to create world geometry. I’m going to make a floor so, by clicking
and dragging in the top-right viewport (representing the top view) we are shaping what will soon
be a cube, right now it’s not existing, so you can press escape to deselect it (remember
that, if there is ever some weird selections you can’t seem to get rid off, just press
escape), you can use the handlebars to reshape it, and you can click and drag inside the
white square to drag it around. Press enter to finalize it. You can move around in the 2D viewports by
holding space and clicking and dragging no matter what tool selected. Furthermore you can use the bracket keys to
change the size of the grid. We now want too look at it inside the 3D viewport,
so by putting your mouse inside the viewport and pressing “z” you can now use wasd
and the mouse to move around. In the top left side of the 3D viewport there’s
written “camera” if you click on it, a drop down menu shows up, and you need to select
3D textured to be able to see the textures. Now you should be able to observe a yellow
box with the word nodraw written all over it. But that is nowhere close enough to something
usable, so let’s make it into a room. First click on the arrow found on the top
left side, or press shift + s, to enable select mode which makes it possible to re dimension
existing blocks or rotate, duplicate, etc… Then either left click the cube inside the
3D viewport or press on either the cross in the middle or the edges of the cube in the
2D viewports. Now in both the bottom left and bottom right
viewports you should see the handlebars and the red/yellow outline, this means it’s
currently selected, so by clicking and dragging inside the square you can move it around,
but if you hold the shift key before letting go of left click, you duplicate it, so duplicate
it up to the left corner and re dimension it so it’s basically a rotated floor, we
do this for both sides, and then again in the bottom right viewport. Then finally we can duplicate up the floor
to be our ceiling. We now have a sealed off box, if you fly into
the box in the 3d viewport you should NOT be able to see the void (the black stuff). For a map to work the inside NEEDS to be sealed
off from the outside. Within our box we’re going to add some textures,
to do this you first need to go inside the box, then by pressing the colored cube on
the left side, or by pressing shift + a, we get the texture application menu. With this open you press on browse, type in
any keyword you’re looking for like “grass” or “concrete” or “brick”, then double
click the texture you want, or press it and close the browser window. Now move the menu away from the 3D viewport
so we can start applying some textures. You can now right click on any surface to
apply the currently selected texture. I’m applying grass to the floor, and concrete
to the walls. We want the map to be outside so we need a
sky, to do this close the face edit sheet menu, and use the selection tool (shift +
s) to select the ceiling, then reopen the face edit sheet menu (shift + a), the whole
cube is now selected so it will apply the texture too all faces instead of only one
when we right click. Click browse and search for “tool skybox”
and select the blue one that says 3D skybox. Close the browser window and then hit the
apply button, right under the browse button. Now close the face edit menu. By flying outside the room, you’ll see that
outside there’s still the yellow texture (except for the roof that’s blue), but inside
there’s all the textures. This is basically optimization, nodraw any
unseen faces. There’s a few more things to make our map
work, and that is a player spawn, a sun and surf ramps. First by pressing the weird looking object
above the white cube on the left side, or by simply pressing shift + e, you can now
click inside the 3D viewport to place down a terrorist spawn . If you look on the right
side under objects: you’ll see what object will be placed when you left click. Place down 2 terrorists, the using the select
tool, double click on one of the terrorists inside the 3D view, right under class: press
on the “info_player_terrorist” and type “environment”, select light_environment,
and hit “apply”, then you can look through the different options yourself, but the major
ones are “Pitch”, press it and type in -90 to make the sun shine straight down, then
under brightness and ambient you can change the colors emitted by the sun, and what color
the shadows will be. Remember do not go for vibrant colors, go
for very faded ones, otherwise it looks unrealistic. Now you can close this window. We now have a fully working map, if you press
F9 or the cog on the top middle part of the screen, it opens up the compile menu provided
you have saved, if you haven’t this is a good time to do so. In the compile window just leave everything
for now and press on “OK”, it will open up csgo by itself when it’s done compiling. And you can only play terrorist since we haven’t
placed any CT spawns down yet. If you get some red text saying “something
leaked” that means you haven’t properly sealed up your map, to help fix this you can
try pressing map>load pointfile, and follow the red line to see where the void and the
inside of your map meets. Then when you’re done press the unload pointfile
instead. In the next episode we will see how to make
surf ramps and different stages, until then thanks for watching.

Antonio Breitenberg

Related Posts

25 thoughts on “How to make a surf map [Cs:GO / Cs:S / TF2] – Part 1 – Basics

  1. NitrolazerGames says:

    lol i expected some shit vid but this is actually pretty good, thanks

  2. Sjokolade Monsteret says:

    Great tutorial! Keep up the good work

  3. UberBiji says:


  4. tim meister says:

    nice vid

  5. auzzythegreat says:

    Hey! This is a really cool video! Can you do a time lapse video soon? I love watching you make these levels at the speed of light. You did something like that earlier, so use that for a reference?

  6. Slyph Straafi says:

    nice video, useful for the mapping community, good to get some more new surf mappers around!!

  7. PinoyPower says:


  8. GamersFun NL says:

    thank you so much! This series is exactly what I need.
    I'm already excited for the next ep.
    When are you gonna upload videos?
    every 2 weeks?

  9. Szárnyas Fejvadász says:

    Love it, please keep it up. Extremely useful. Thank you very much :)) <3

  10. soutyz says:

    emm great tutorial but my game doesn't start after compiling idk why

  11. Andrew Dykstra says:

    guys, download this map vmf file to help with stages/teleports and spawns.

  12. Smerk YT says:

    i cant understand him… rip thanks for the help

  13. 007spudman says:

    Over my head but thanks mate

  14. Gary Sullivan says:

    When i try to get the hammer editor it says “the configuration information for the game you’re trying to edit is invalid or missing” what do i do?

  15. Re Trend says:

    Woah, did you make Surf_crazyfrog? Are you the open dorrrr guy?

  16. Gary Sullivan says:

    Wait is the csgo game ur using free or cost something? I probably have the wrong game

  17. Gary Sullivan says:

    My editor doesnt show the grid….

  18. Diego Cash says:

    why use no draw if youre just gonna change the texture anyway?

  19. Ezekiel Rauch says:

    I wish we could have a Sauce SDK 2

  20. sunimec says:

    i camt find the SDK for csgo i dont know why btw i looked where i should but i couldn't find it

  21. Bill Frank says:

    I cant seem to play test my map. It will start cs like your does but then it takes me to this random map with a big hole filled with error signs. After listening to earraping laughter, i find 2 bonus maps with ramps i just slide off of when attempting to surf them :/

  22. JJGAMER HC says:

    When finished and am opening the map its just a black screen, now its not even opening please help me

  23. Einar Hautala says:

    there is no CS:GO SDK! help!

  24. Delicious says:

    when i places the light_enviroment and compiled the map was dark. what do i do?

  25. Disturbly says:

    can i follow this tutorial for goldsrc games?

Leave a Reply

Your email address will not be published. Required fields are marked *