Hint/Skip brushes

Hey, so I’ve read /alot/ on hint and skip, watched multiple YouTube tutorials, read countless long tutorials on how to use hint and skip brushes, but all them use small, enclosed maps to demonstrate their usage.

My map is large and I have absolutely no idea how to begin.

Here’s a (old) screenshot of my map that I’m working on


If anyone can give me a helping hand, a bit of an illustration perhaps on how I should go about doing it, I would really appreciate it!

You can use mat_leafvis 1 and mat_wireframe 1-3 to see where you could cut visleafs to possibly lower the amount of stuff being rendered. For example, if you’re looking at a building and you see too much stuff being rendered behind it, the visleaf might be taller than the building and you could use a hint brush to cut it parallel to the roof.
At least that’s what I do.

Should I chuck a hint brush across the whole top of the map? (like level with the buildings?)

Not sure. I’ve never done that before.


See this can’t be a good thing and I have no idea how to fix it.

Things like those building trims and almost everything besides things like walls and buildings that block the players view should be func_detail or something so they don’t cut visleafs.

[editline]9th January 2013[/editline]

In large open maps like this there’s nothing wrong with fading props out though.

I made a pic.
Put hints along the sides,
put hints alongs the edges,
put hint on the roof spanning the map.

Also, houses should be like a box, anything sticking out should be func_details.


So put a hint brush where the lines are pretty much?

Easiest way is to do a top down view, then put the players in different parts and go “the player wouldn’t be able to see this”.

Do I do like a thin brush or a thick brush that spans quite a distance?

Brush width doesn’t matter it draws the line over the textured face (So one block can have multiple sides textures for multiple leaves).

Then remember to attach skip to all the remaining faces of the brush.

These will help:

Doesn’t matter as long as you put skip on the unused sides, Skip get’s completely ignored by the compiler.

Does it matter which face is the hint?

Thanks a heap for your help guys, really appreciate it!

The face that you texture with hint is where you want it to draw the visleaf.

Thanks :slight_smile:

I found this article to be helpful

So, I did this, didn’t really do much for me. Any help? I’m undoubtedly doing it wrong.

Did you func_detail the upper ledges on the building? If not I would recommend doing it. Fancy brushwork can really mess up visleafs as demonstrated in this picture

Also if you go into hammer and click Map -> Load Portal File it will show you where your visleafs are which should help you in determining what needs to be changed. Make sure to reload the portal file after each compile. You might also want to turn off everything in visgroups but world geometry and hint/skips during this so you can see only the things that will be affecting visleafs.

You might also want to check out using https://developer.valvesoftware.com/wiki/Func_viscluster"]func_viscluster in the bigger more open areas such as above the buildings. The basic premise behind it is it eliminates visleafs inside itself as it assumes everything inside is meant to see each other.

Optimization is the hardest part of using source I would say and I wish you luck.

Cheers, will look into this.

Sorry for bumping old thread but I still can’t get this to work. Where-ever I am, the whole map is rendered. Here’s a screen of the map top-down.


Where should I cut?