Okay, I Fail

Discussion in 'Mapping Questions & Discussion' started by ParanoidDrone, Mar 11, 2009.

  1. ParanoidDrone

    ParanoidDrone L3: Member

    Messages:
    147
    Positive Ratings:
    10
    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.
     
  2. Sgt Frag

    Sgt Frag L14: Epic Member

    Messages:
    1,443
    Positive Ratings:
    294
    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: Mar 11, 2009
  3. StoneFrog

    StoneFrog L6: Sharp Member

    Messages:
    395
    Positive Ratings:
    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.
     
  4. ParanoidDrone

    ParanoidDrone L3: Member

    Messages:
    147
    Positive Ratings:
    10
    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: Mar 11, 2009
  5. TMP

    aa TMP Abuser of Site Rules

    Messages:
    948
    Positive Ratings:
    551
    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.
     
  6. StoneFrog

    StoneFrog L6: Sharp Member

    Messages:
    395
    Positive Ratings:
    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
     
  7. ParanoidDrone

    ParanoidDrone L3: Member

    Messages:
    147
    Positive Ratings:
    10
    *makes note*

    StoneFrog, here's the picture you wanted. Top down view is in the upper right. Link.
     
  8. StoneFrog

    StoneFrog L6: Sharp Member

    Messages:
    395
    Positive Ratings:
    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.
     
  9. Sgt Frag

    Sgt Frag L14: Epic Member

    Messages:
    1,443
    Positive Ratings:
    294
    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.
     
  10. ChronoTriggerFan

    ChronoTriggerFan L7: Fancy Member

    Messages:
    435
    Positive Ratings:
    72
    I find for alpha maps particularly, you can easily get away with compiling fast vis. However, when moving the map into beta, you should take care of optimization more.
     
  11. Jive Turkey

    Jive Turkey L3: Member

    Messages:
    120
    Positive Ratings:
    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.
     
    • Thanks Thanks x 1
  12. StoneFrog

    StoneFrog L6: Sharp Member

    Messages:
    395
    Positive Ratings:
    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.
     
  13. Jive Turkey

    Jive Turkey L3: Member

    Messages:
    120
    Positive Ratings:
    32
    I didn't mean to discourage him at all. It's a great resource worth reading.
     
  14. ParanoidDrone

    ParanoidDrone L3: Member

    Messages:
    147
    Positive Ratings:
    10
    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: Mar 11, 2009
  15. Sgt Frag

    Sgt Frag L14: Epic Member

    Messages:
    1,443
    Positive Ratings:
    294
    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.