From a beginner, to beginners

Discussion in 'Tutorials & Resources' started by bread bird, Jan 6, 2017.

  1. bread bird

    bread bird L1: Registered

    Messages:
    5
    Positive Ratings:
    13
    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.
     
    • Like Like x 10
    • Thanks Thanks x 1
    Last edited: Jan 6, 2017
  2. killohurtz

    aa killohurtz Distinction in Applied Carving

    Messages:
    998
    Positive Ratings:
    1,135
    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.
     
    • Agree Agree x 5
    • Thanks Thanks x 2
  3. Crowbar

    aa Crowbar perfektoberfest

    Messages:
    1,419
    Positive Ratings:
    1,141
    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.
     
    • Agree Agree x 1
    • Respectfully Disagree Respectfully Disagree x 1
    Last edited: Jan 6, 2017
  4. dryerlint

    dryerlint L5: Dapper Member

    Messages:
    205
    Positive Ratings:
    183
    Oh my god.

    This changes everything.
     
    • Agree Agree x 3
    • Funny Funny x 1
  5. Diva Dan

    aa Diva Dan hello!

    Messages:
    813
    Positive Ratings:
    1,228
    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
     
    • Agree Agree x 2
    • Thanks Thanks x 1
    Last edited: Jan 6, 2017
  6. Startacker

    Startacker L4: Comfortable Member

    Messages:
    176
    Positive Ratings:
    142
    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).
     
    • Thanks Thanks x 1
    • Agree Agree x 1
  7. fubarFX

    aa fubarFX The "raw" in "nodraw"

    Messages:
    1,597
    Positive Ratings:
    1,677
    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
     
    • Agree Agree x 1
  8. Crowbar

    aa Crowbar perfektoberfest

    Messages:
    1,419
    Positive Ratings:
    1,141
    "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.
     
  9. Idolon

    aa Idolon the worst admin

    Messages:
    1,421
    Positive Ratings:
    4,154
    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.

    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).
     
    • Agree Agree x 3
    Last edited: Jan 6, 2017
  10. bread bird

    bread bird L1: Registered

    Messages:
    5
    Positive Ratings:
    13
    I've added a lot of the suggestions posted.
    This is turning out to be a learning experience for me, so keep 'em coming!
     
    • Like Like x 1
    • Funny Funny x 1
  11. MaccyF

    aa MaccyF Notoriously Unreliable

    Messages:
    900
    Positive Ratings:
    1,443
    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
     
    • Agree Agree x 2
  12. Crowbar

    aa Crowbar perfektoberfest

    Messages:
    1,419
    Positive Ratings:
    1,141
    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: Jan 7, 2017
  13. Micnax

    aa Micnax I maek map

    Messages:
    2,021
    Positive Ratings:
    1,338
    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.
     
  14. n8five484

    n8five484 L2: Junior Member

    Messages:
    80
    Positive Ratings:
    51
    This may or may not be necessary to address but always pack your custom content with either PakRat or CompilePal.
     
    • Agree Agree x 4
  15. Polymathic Polyphony

    Polymathic Polyphony L3: Member

    Messages:
    136
    Positive Ratings:
    107
    CompilePal seems to do much the same, while also packing custom content, as n8five said.
     
    • Agree Agree x 2
    • Thanks Thanks x 1
  16. bread bird

    bread bird L1: Registered

    Messages:
    5
    Positive Ratings:
    13
    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.
    Good to know, I'll change it.
    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.
     
  17. Idolon

    aa Idolon the worst admin

    Messages:
    1,421
    Positive Ratings:
    4,154
    Add VIDE to that list as well.
     
    • Agree Agree x 1
  18. LeSwordfish

    aa LeSwordfish semi-trained quasi-professional

    Messages:
    4,102
    Positive Ratings:
    5,990
    [​IMG]
     
  19. Fr0Z3nR

    aa Fr0Z3nR Creator of blackholes & memes. Destroyer of forums

    Messages:
    6,391
    Positive Ratings:
    4,902
    You're looking at decompiled maps, which sometimes mis-read textures, especially the ones not seen.
     
  20. Diva Dan

    aa Diva Dan hello!

    Messages:
    813
    Positive Ratings:
    1,228
    Doesn't the SDK come with a few launch maps in their original vmf form? Or are they also decompiled?