From a beginner, to beginners

bread bird

L1: Registered
Jan 5, 2017
5
23
After fighting with Hammer to make maps for the past few weeks, I've been able to gather a lot of knowledge that wasn't covered in any of the tutorials I've been able to find so far.
So, I wanted to make a list of all the things I wish I knew before I even got into Hammer. Being that I am a beginner, I'm sure there's other stuff that more advanced users can add, and I'll be sure to edit this post with new suggestions.
  • Cubemaps must be placed at a players viewheight
  • Texture every brush with nodraw when blocking out the map
    • Use "3D Flat" in the camera view if it's too hard on your eyes
    • When you do begin to detail, texture only faces a player will see
  • Props with origins located outside the skybox will be recognized as a leak
  • Never make a structure that appeals to a single class (such as a designated sniper hut)
  • If Hammer is open, TF2 will fail to update
    • In my case, Steam will claim that the update files are corrupt
  • Update your map filename between playtests
    • If you and your tester have different map versions with the same filename, the game will throw an error
  • Don't check "run game on compile" when solo testing your map
    • Instead, leave your game open, and type "map [name]" in the console
    • You will no longer have to restart your game between changes
  • When detailing, use "alt + m2" to align textures
    • Select a face with m1, use m2 on an adjacent face while holding alt to automatically "stitch" the textures
  • func_detail should be used when a brush doesn't significantly block a player's view
    • Convert brushes to func_detail by clicking "To Entity"
    • Convert them back by clicking "To World"
  • Keep displacements to 3rd power, 2nd power can be suitable for small details
  • Grid size should be kept between 16 and 64 units when blocking out areas
  • Static player models and spawn entities can be used as references for scale
  • Test with more than one class, or at least one with close to 100% speed
  • For quick iterations, a sloppy 2D skybox around your map will suffice
    • Use the cordon :cordonedit: tool to accomplish this more easily
  • Displacements and entities will not seal leaks
  • "Fast" compiles are good for quick solo tests, but never for playtests or published releases
  • Ensure that your props are usable for their physics category
    • Many props are not designated for use as prop_physics or prop_static
  • Get into the habit of saving manually after substantial changes
    • Autosave can work, but is sometimes unreliable and can save at inopportune times
That's all I have for now. Please let me know if any of this information is incorrect or encourages bad practice - I know I still have a lot to learn.
Hope this helps at least a few aspiring mappers.
 
Last edited:

killohurtz

Distinction in Applied Carving
aa
Feb 22, 2014
1,016
1,277
This is a good list! The second point is something I see a few people do, but I personally prefer to texture in dev first since the grid helps me visualize scale. After applying "real" textures, I can just use the texture replace tool to convert any remaining dev to nodraw.

Also, you can avoid restarting the game between compiles by adding -hijack to the game parameters in the Run Map dialog (with run game also checked). If an instance of TF2 is already open, this forces the compiler to load your map there instead of attempting to launch the game again.
 

Crowbar

Spiritual preprocessor
aa
Dec 19, 2015
1,455
1,297
  • Texture every brush with nodraw when blocking out the map
    • Use "3D Flat" in the camera view if it's too hard on your eyes
    • When you do begin to detail, texture only faces a player will see
I can disagree with this.
First (and third), you can just nodraw all the faces that are compiled but never seen - the percentage of those isn't very high if you're doing things right, and even if you miss some, the perfomance impact will probably negligible (again, if you don't make a box around the map so all the outside faces are compiled). Second, if you're blocking with not a very bright texture (nodraw is one, but I'm referring to the 1st point again), textured shaded is OK.
 
Last edited:

dryerlint

L5: Dapper Member
Mar 28, 2016
204
190
Also, you can avoid restarting the game between compiles by adding -hijack to the game parameters in the Run Map dialog (with run game also checked). If an instance of TF2 is already open, this forces the compiler to load your map there instead of attempting to launch the game again.

Oh my god.

This changes everything.
 

Diva Dan

hello!
aa
Mar 20, 2016
1,024
1,951
Cool list, I wish I had this when I first started out. Some other tips I would include:

  • Keep displacements on the 3rd power for the majority of the time, 2nd power for smaller things like planter boxes or dirt piles
  • Stay on whatever grid size you are comfortable with, but when blocking stuff out don't go above 64 or below 16
  • Remember to turn smaller geometry into func_detail by pressing ctrl+T, makes compile time quicker
  • Place props of player models around to get a good sense of scale in your level
  • When in game, walk around as every character, find useful sentry spots and flanks as scout or heavy and adjust timings based on what you want
  • To quickly iterate, use the cordon tool :cordonedit: to quickly make a 2d skybox around your map
 
Last edited:

Startacker!

WANT ME TO BE REAL? MAKE ME.
aa
Jun 15, 2013
647
1,197
Why not some from me?

  • Displacements/non world brushes don't seal your map! Place a nodraw/skybox brush behind or under where your displacement/entity is.
  • The fast option when compiling is NOT for final compiles! It can lead to strange errors and improper lighting/sight errors.
  • Remember to check what prop you're using and what type of prop you're using! Not all props work with static/dynamic.
  • Set up auto saves, and get in a habit of using CTRL+S a lot. Hammer can crash for the most mundane things (making a sky_camera and selecting a light is a bad experience for me).
 

fubarFX

The "raw" in "nodraw"
aa
Jun 1, 2009
1,720
1,978
I can disagree with this.
First (and third), you can just nodraw all the faces that are compiled but never seen - the percentage of those isn't very high if you're doing things right, and even if you miss some, the perfomance impact will probably negligible (again, if you don't make a box around the map so all the outside faces are compiled).
Idk, the perfomance gain will vary on the scale of your project. how is it going to impact a koth? probably not at all. it's definitely significant when you go for 5cp tho. and if you're going for tc, (god help you) it could very well be the difference between life and death since basically everything is hanging by a thread at that point. Plus, nodrawing is an important part of lightmap optimization that's a good factor to consider. (and using nodraw will save on tjuncs in some cases). All in all, it's definitely a good habit and I don't think there's any denying that. Is it always worth the trouble? that's not my call to make
 

Crowbar

Spiritual preprocessor
aa
Dec 19, 2015
1,455
1,297
"missing some" doesn't scale that much with map size. I know a few places that should've been nodrawed on Badlands and am almost sure they don't really affect fps at all.
 

Idolon

they/them
aa
Feb 7, 2008
2,105
6,106
  • Keep displacements on the 3rd power for the majority of the time, 2nd power for smaller things like planter boxes or dirt piles

I've seen a lot of people recommend this, though I think it comes down to taste. I've always used 256x squares of power 2.

  • Texture every brush with nodraw when blocking out the map

As someone who has worked with and without this method, I'm a bit torn. I think it's good practice for keeping your .vmfs neat (as you can disable nodraw in Hammer with :rendernodraw: and look into the level from outside), but it can also get in the way of doing things quickly (plus .vmf neatness is mostly about good brushwork).
 
Last edited:

MaccyF

Notoriously Unreliable
aa
Mar 27, 2015
914
1,544
Keep displacements to 3rd power, 2nd power can be suitable for small details

My rule of thumb is 256² and under 2nd power, 512² and over 3rd power. Between the two it really depends on how much detail i need.

I also aim for standard displacement surfaces (ground, cliffs etc.) to sit in the 256² ballpark
 

Crowbar

Spiritual preprocessor
aa
Dec 19, 2015
1,455
1,297
Many props are not designated for use as prop_physics or prop_dynamic
You should say prop_static instead of prop_dynamic. Any model ever can be made dynamic, and you need a separate compile parameter to make it static allowing, which also destroys bones from what I've heard.
Also, about quick testing as a class: any standard kr near speed class to check overall scale, such as pyro, soldier and demo separately to check opportunities for jumping, scout only either checking scout jump routes, rarely, or logic and gimmicky stuff. The speed of scout makes you underestimate the scale.
 
Last edited:

Micnax

Back from the dead (again)
aa
Apr 25, 2009
2,109
1,585
When you get around to doing more proper compiles of your maps, use VBCT. It won't freeze your computer/ramp up your CPU usage like Hammer's compiler does and it allows you to easily check/uncheck compile options in a few simple menus rather than having to type it in a parameters box (like -staticproplighting), along with a few other nice features.
 

bread bird

L1: Registered
Jan 5, 2017
5
23
I've always used 256x squares of power 2.
My rule of thumb is 256² and under 2nd power, 512² and over 3rd power.
Yeah there seems to be a lot of subjectivity with this point so I'm debating about removing it. Especially since tutorials on displacements are incredibly easy to find.
You should say prop_static instead of prop_dynamic. Any model ever can be made dynamic, and you need a separate compile parameter to make it static-allowing.
Good to know, I'll change it.
When you get around to doing more proper compiles of your maps, use VBCT.
always pack your custom content with either PakRat or CompilePal.
I'm going to do some research on all three, since I've never used them before. I would lean towards promoting the one that is the most beginner-friendly.

Again, don't hesitate to make suggestions if you haven't yet. My fellow amateurs and I will thank you.
 

Idolon

they/them
aa
Feb 7, 2008
2,105
6,106
I'm going to do some research on all three, since I've never used them before. I would lean towards promoting the one that is the most beginner-friendly.

Again, don't hesitate to make suggestions if you haven't yet. My fellow amateurs and I will thank you.

Add VIDE to that list as well.
 

Fruity Snacks

Creator of blackholes & memes. Destroyer of forums
aa
Sep 5, 2010
6,394
5,571
"missing some" doesn't scale that much with map size. I know a few places that should've been nodrawed on Badlands and am almost sure they don't really affect fps at all.

You're looking at decompiled maps, which sometimes mis-read textures, especially the ones not seen.