A comprehensive list of obscure source mapping tricks

Midlou

L5: Dapper Member
Jan 12, 2016
232
268
The motivation behind this list is pretty straightforward:
1739240790779.png

So here we go.

The idea here is to list all those obscure tricks that are super useful in VERY specific situations, the kind you’ll probably forget for years, and then out of nowhere, you’ll run into a problem where one of them would be perfect… but you won’t remember how to do it.

Naturally, you’ll ask if anyone knows, and if you’re lucky, someone will help. I’ve been through this so many times. So, I think it’s time to put all these tricks into an easy-to-find list (instead of them just disappearing into some Discord channel).

Now, the best thing about obscure tricks is that… well, they’re obscure. Yeah, go figure. I don’t remember many examples myself, but I know they’re out there. So, I’m gonna need some help filling up this list, that’s where you come in.

If you’ve got any suggestions or ideas, please share them with us!​


I’ll try to keep this list as organized as possible, sorting things into categories, adding images and all that. Links to resources are fine too, but let’s try to keep it focused on stuff that isn’t obvious.

Textures​

  1. Anti-aliasing for transparent textures:
Code:
$allowalphatocoverage 1
ifXbDMU.gif
VDC wiki page with more details

Geometry​

  1. If you have a func_detail ramp with weird lighting, you can cut the format of the ramp on the ground and add nodraw.
o11Ou88.gif

MpiRpJd.gif

Visuals​

  • You can use env_bubbles to create neat bubble effects. Quite limited tho.
Env_bubbles.gif

Source: VDC env_bubbles.

  • You can use displacements to create cables. You should probably use a model tho. The texture is concrete/floor_carpet_001. Create the peaces of the cable, then select only the outer faces to create the displacement. Power 2 is fine. Then Subdivide, and use Paint Geomeotry to move the mesh around until you are satisfied.
LwqrdQl.gif

NFmiQRP.gif

WsmGsMX.png

In-game​

  • Sometimes you want to take screenshots of your map and some holiday is going, like halloween or birthday. If you want to disable the holidays pickups, execute this command on console:
Code:
script Convars.SetValue("tf_force_holidays_off", 1)
2mutePd.gif

Fixes​

  • Control point unlock countdown doesn't work;
    • There's a bug with the tf_logic_koth entity that makes the control point unlock countdown not work. The fix is just to cut and paste the tf_logic_koth entity, nothing else needed.
    • This happens because of the order in which the entity is placed inside the .vmf;
    • The tf_logic_koth needs to come after team_control_point_master inside the .vmf file.
    • After you cut and paste the entity, it goes to the end of the .vmf file, at least that's what I've been told

Resources​

 
Last edited:

MegapiemanPHD

Doctorate in Deliciousness
aa
Mar 31, 2012
2,017
1,329
Here's a trick I use when the pointfile line for a leak messes up and doesn't lead anywhere from a func_areaportal brush. I simply revert the func_areaportal brush to world brushes then do a fast compile again, then keep doing that till for any other func_areaportal's nearby till the pointfile shows where the actual leek is. It can be tedious but it works.
 

Plainz

L4: Comfortable Member
Apr 13, 2020
162
70
tf/resource/tf_english.txt - this contains all the goal strings for SetBluTeamGoalString/SetRedTeamGoalString in the game (the text that shows at round start like "capture the main point and hold it for 3 minutes to win"), the text will be automaticaly localized.

mat_show_ab_hdr 1 - console command that splits your screen into HDR on one side and non-HDR on the other side.

parent invisible base_boss to func_train and set it as damage owner, this basically creates kill cam for the train.

toolsblack and toolsskybox still add up to engine limits even though they don't receive lighting so it's better to set their luxel scale to maximum.

put !unusual and !utaunt in particle browser searchbox to hide unusuals.

displacement collisions: hull collision is players, ray is hitscan/rockets, physics is grenades.

hidepanel specgui in console to disable spectator hud, might make it easier to watch demos.