Okay, I Fail

  • If you're asking a question make sure to set the thread type to be a question!

ParanoidDrone

L3: Member
Feb 19, 2009
147
11
So apparently one's first map is not without its pitfalls. Recently when trying to run the map in order to test it, the compiler freezes on the PortalFlow: line. Trying to close either the compiler or Hammer results in a "Hammer is not responding" message from Windows. I suspect that adding hint brushes can maybe help, but I have failed to really grasp what they're used for and how to properly place them, despite looking at several guides to them. Any help would be appreciated.

(On a completely unrelated note, I hope I don't have many more issues after this. I'd feel bad making a new topic here every other week.)

Image of the compiler for reference: Here.
 

Sgt Frag

L14: Epic Member
May 20, 2008
1,443
710
Most likely your vis-leaf count is getting too high. (Vis-leafs are basically the air space sectioned off into areas so TF2 knows which areas can be seen from which areas).

To make this run smoother and to optimize your map you need to turn all detail brushes into func_details as all brushes split up vis-leafs (fewer leafs is generally better). Select a brush(s) (like a door trim) and hit cntrl-T, it'll bring up the entity dialog and type in func_d... select func_detail.

Func_details don't split up vis-leafs and they don't cut world brushes into ,ore polygons. Both great ways to optimize.

But they also don't seal from the void, they won't seal area portals either. So they have to be backed up by world brushes (or nodraw world brushes).

Also, most likely Hammer is not locked up, it just hogs ALL your system resources until it is done, so you think it's locked up but it's just busy. Once you clean up and optimize it should take only minutes without lighting. Always quick test compile frequently with lighting off and 'don't go ingame' checked. That'll save you hours on a map when you have a leak but do full lighting anyway, etc...
 
Last edited:

StoneFrog

L6: Sharp Member
May 28, 2008
395
81
Your may just have particularly complex brushwork or something similar. It's not common for VIS to sometimes take so long that people often mistake it for having frozen. What's the maximum amount of time you have let the compiler "do its work"?

Also, may I get a screenshot of the top-down 2D view of your map, just as an idea?

In the meantime, you should try and find ways to optimize the map anyways. When did this start happening? With the addition of some particular new area?

Also hit Alt+P and check for problems to ensure there are no "Invalid Solid Structures" or anything.
 

ParanoidDrone

L3: Member
Feb 19, 2009
147
11
Ugh. Had a nice reply in the making and accidentally hit Alt + <-.

Sgt Frag: I do know about func_details, but I've tried to avoid using them willy-nilly after I realized that I have no idea how to revert back to normal brushes in the event that I need to alter them. I didn't know that nodraw brushes sealed from the void, that's nifty to know.

I'm afraid that I have no idea what a quick compile is. Could you explain further?

StoneFrog: I am going to kick myself so hard if that's the case. On the other hand, I'd like to avoid waiting 10+ minutes just to go on a test run. I'll get you a screenshot just as soon as Source SDK stops having a hissy fit as it tends to do after these incidents. Also, what exactly qualifies as "complex brushwork"?

This has actually been an on-again, off-again affair, currently set to "on." It first happened after I made Red's spawn room then went away when I trashed it and made another one, which currently works(ed?) just fine. It started again after I went on a leak-fixing spree and general cleaning up of brushwork when I noticed that my water looked all spacey like the void does. (Worked fine when you jumped in it, just looking at the surface was whack.) I first noticed the repeat performance when I tried to run the map so I could check if the water looked normal or not.

What does Alt + P do? ._.
 
Last edited:

TMP

Ancient Pyro Main
aa
Aug 11, 2008
947
560
You can easily return a func_detail back to the world by right clicking it and selecting Back to World or something like that.

Change more to func_detail and you'll be in better shape.
 

StoneFrog

L6: Sharp Member
May 28, 2008
395
81
ParanoidDrone: Alt+P is the hotkey for the "Check for Problems" function which is under one Hammer's menus.

Magical Potato: Move to World. :p
 

StoneFrog

L6: Sharp Member
May 28, 2008
395
81
Hmm, it's actually quite tame. Of course, I don't see a lot of purple (entity) outlines.

Be sure to turn any complex brushwork (such as bridges or those crates in the 3D view) into func_detail. Func_detailed geometry is not processed by VIS, and, as a result, considerably shortens compile time.

Another option is to keep complex brushwork one unit away from other brushes so it doesn't break up level geometry, but that messes up lighting and skilled eyes can see the gap. Just use func_detail.

I don't think you have to worry too much about hint brushes or areaportals. Those aren't particularly necessary unless you have a really big map. They may be nice to add later on during the "shine and polish" phase of your map's development, but you're good for now.

You may also want to read this article on func_detail for a better understanding of its purpose. Also consider reading VIS (yay for bad puns) for other ways to cut down on compile time.

You should, if you have the patience, give your map a good 5 minutes or possibly more and see how long it takes to fully compile in its current state, for reference purposes.
 

Sgt Frag

L14: Epic Member
May 20, 2008
1,443
710
from that pic:

all the ramps, the small buidling in the middle, all stairs, rounds walls,etc... should be func_details. That's probably the issue. Just put simple nodraw boxes behind the round tunnels to block from void.

This thread is something you need to see. The weird blue/green shots are just a render mode (menu>view>no tex or something)
http://forums.tf2maps.net/showthread.php?t=1429

That'll show you what a map looks like with only world geometry verses func_details. World geometry should be basic and block views.
func_details make your map pretty.

I almost never use cntrl_T myself, I always use the 2 buttons on the right side of hammer.
One is world, one is entity. Select a world brush, click entity and func_detail is the first option to come up. Select a func_detail and hit world, now it's back to regular brush (although you can clip and use vert edit on func_details).
Select a few func_details, hit entity and you can tie them into one.
-------------
Quick compile:

hit F9
compile box comes up
select bsp normal,
vvis, fast
lighting, none
check - don't go ingame

that'll do a fast compile with no lighting (it'll be fullbright-ugly but fast). You won't go ingame but you can check your log for errors and leaks without going in game to find there is a problem or waiting for a long lighting calculation then going in game to find something is wrong.
 

Jive Turkey

L3: Member
Jan 22, 2008
120
32
Not trying at all to sound patronizing but you seem to lack some fundamental understanding of what goes into this sort of map-making. You'd do well to read this in its entirety. It's long I know, but its really the best source of information on what goes into making a map optimized for this family of engines. You can skip right to chapter 4 to answer your immediate question, but trust me the rest of the series is extremely helpful. At the very least, you'll know what to make detail and what not to after reading this.
 

StoneFrog

L6: Sharp Member
May 28, 2008
395
81
Don't discourage him! I think it's a good start, he just needs to learn how to optimize.

There's lots of us who didn't know about func_detailing (or for those who go back, func_walling). It didn't help that in the Goldsrc days when decorations were brushes and not models that Valve forgot to func_wall some of their prefabs. :O

Also, yes, fast VIS is fine for early versions, there's only two things I have to say:
1) Fast VIS doesn't do a full job. There's a discrepancy between the performance you'd get on a fast-VIS'd map and one done with full VIS. Sometimes it's not major, but other times an incredibly laggy map may be alright when it's compiled with a more thorough VIS runover.

2) Do a standard VIS once in a while just to get an idea of how your map's progressing in regards of strain on the compilers.
 

ParanoidDrone

L3: Member
Feb 19, 2009
147
11
Well, I went and func_detailed everything as soon as I could, so I can't say how long Hammer would have sat there if I gave it enough time. Right now it takes a couple of minutes to fully compile, so I guess that's my new baseline?

Jive Turkey: That wasn't as long as you made it out to be. :p It was extremely informative, though. And I'll freely admit that I'm a noob mapper. (And your name is awesome. Hilarious mental image is hilarious.)
 
Last edited:

Sgt Frag

L14: Epic Member
May 20, 2008
1,443
710
Yeah, I never meant to do fast vis all the way through the process.

But I do use it right to the end anyway. A quick compile is just an easy way to check for leaks, area portal leaks, etc... Also a good way to go in game for a quick check on that new terrain you add.

If that passes the test at worst you've only wasted a few minutes. Then you can do a more complete compile to check your optmimization, lighting, etc...

Never place hint brushes based on a quick compile, as said above it just does a quick dirty job and you only want to hint a fully optimized map to optimize it a bit more.