Originally posted here: www.planetavp.com/modmaker/
Created by: William "modmaker" Bostjan
Mirrored here for archival purposes
- Placing an Outside Define
- Processing with a leakfile
- Debug/Load Leakfile
- Finding leaks
Leak testing is a tedious nuisance. You only have to waste a day searching for leaks and eradicating them to quickly realize that if you build, carefully and meticulously, not creating these leaks in the first place is a better use of your time. Careful mappers, can avoid leaks entirely. Then you still run a test, but with no leaks, the process is quickly complete. It might take a little longer, but the savings in time is exponential.
Some truths you might as well realize early on.
Leaks happen. It's inevitable, but almost as certain, once you have eradicated a few dozen leaks from your own levels, you will learn to build more cautiously, watching out for them. And then they will be less common. Finding leaks is part of the learning curve of mapping. No one ever volunteers to correct someone else's leaks, unless there is something in it for them. Cause all veteran mappers have already paid their dues, they know that the leakfinder is a trial by fire for new aspiring mappers. (okay, that's a little over the top, but you get my meaning)
Blue and Yellow lined chaos?
The first time you load a leak file the result can be a confusing mess. But it's actually a very straight forward process. And it tends to look a lot worse than it actually is. The processor attempted to find a path from the inside to the outside of your level. The processor literally started at the GAMESTARTPOINTand moves at the speed of light through your level, bumping into things along the way and richoceting off the geometry and attempts to find the OUTSIDE DEFINE that you placed in your level. If it finds it, it must have passed from the inside to the outside of your level through the outer shell.
You can think of your level as a submarine or rocket. Self contained, air tight. The outside is the cold dark emptiness of the ocean or space. If there's a leak, it can mean death and destruction. In mapping it is similar. Leaks cause lag, low framerates, un processable levels. The leak finder serves one purpose, to discover leaks in your level so you can remove them. The leak finder passes through it. And that's where you make your repair. Generally speaking if you build on the grid, leaks are less common, cause the outside shell snaps to the grid and makes tight butt joints.
The OUTSIDEDEFINE must be placed in the outside of the level in the "ocean" as it were, and far enough from the shell of your level not to create any confusion for the processor. On occassion an L shape level could cause problems for the Outsidedef if it is placed in the kink of the L. I always place my OUTSIDEDEF in the top right hand corner of the map. It's just a standard I established for myself. I never have to look for it. Top right corner, and it's there.
A fast way to find leaks is to use the keyboard shortcut,
shift + [ and shift + ] , you literally follow the yellow and blue lines from leak node to the next (or prev) leak node. You start at the GSP, the first node and progress from node to node. Most nodes will bounce around inside your level, you'll be able to see this as you spin around your level interior, but then suddenly you'll pass through to the next node and you'll be outside your level. That's where you will find your leak, it will either, be an obvious gap, a detail 1 brush, an intersecting detail 1 brush with the outside shell, a door or window bound brush that needs a skybox sealing it up.
I actually placed this leak in my level. I moved one of my shell brushes off the grid four units. The result was the yellow and blue mess above. When I reset the brush, the level indicated no leaks and gave the message.
**Couldn't find path from inside to outside.
There are a lot of reasons why you might experience leaks, not least of which is one of your HULL brushes was inadvertently set to Detail 1. All your outside shell brushes should be set to Detail 0. These are boolean.
Detail 1 This brush is a detail 1 brush. It can be ignored in vis calculations.
Detail 0 This Brush is not a detail 1 brush. It is included in vis calculations and blocks visibility and seals level.
Dedit gives the option of resetting all brushes in your level to detail 0 incase that is what's causing your leak.
The log file can give you plenty of information about your level.
Leaks, interactive events, numerous polies in any one view, and bad lighting design and particle FX can all lead to laggy maps. Start small, finish it, move on.
And don't forget to read the info in these resources provided with the tools. AvP2Dedit has a section of leaks. read it.