• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Level Design Anti-Portal Issues: Missing in views

Slyk

Grizzled Veteran
Feb 17, 2006
1,275
10
www.after-hourz.com
A few weeks ago while improving 'TractorWorks' for 50 players I had a sudden collapse of FPS on almost every recent version, beta2 onward. After double-checking all changes and SM culldistance settings, I have to believe it is malfunctioning APs. The image below shows one example. The question is, IF the AP is not visable in the editor, as the two on the left, does that mean the one "missing" represented by the red X is not working properly? It "is" there in the top or frame views, but in the 3d window, there are APs that only appear if I move the camera into the surrounding brushwork.

missingAP.jpg


Another test was the 'nose to the wall' test I use. I position the camera right against the walls to gauge how the FPS respond. Along the left and center walls, the FPS are well over 100 while against the "missing" wall they are around 70, looking in the same direction. Another wall on the admin building...looking East is 70s, on the opposite side, looking West it is 200+.

Ideas? I am slowly recreating most APs with mixed results, as some are still not showing improved FPS.
 
Typically 8 units thick. Very bizarre. There are about 10 not showing up in the editor views and none of them pass the 'nose' test in-game. Regardless of what I do, raise, lower, resize, they don't want to work in the positions I have them. I have adjusted thickness as well. Latest compiles have a couple work one time, not the next as in the example above. One of the three will not work this time then it will next while another craps out. Damn frustrating.
 
Upvote 0
im am actually using bsp sheets for my AP's, it seems to work ok.
when you are using regular bsp brushes, doesnt that force the cpu to calculate 3 times more what is hidden by the 6 faces of each brush? instead of 2 with a sheet?

Do not use sheets as AP's. They do more harm then good. Usually try to use AP's that are 32 UU thick minimum. If you need to use thinner ones, examine every single step you make and be carefull.
I've received a level that used sheets last year and was asked to fix performance problems on it. It performed extremely poorly when handed to me. First thing I did was remove ALL the sheet AP (Which were all AP's in this case). I gained 20 fps by removing all sheet AP's in that map. So the level actually performed BETTER without the AP's the mapper made.

Slyk, I don't know what causes your problem. But it seems like you have BSP problems there if you say it works when you turn BSP to static mesh.

Your AP techniques are a bit 'weird' so to speak. AP's are big clumsy things, and not ment to be refined tools. You need to use them as if you were using big clumsy things. So you need big clumsy negative BSP space to put them in. The way you are using them now is much too 'fine' so to speak.

My suggestion (and what i do in cases like this) is remove ALL AP's. Re-examine your level to see where you NEED AP's. Rework your BSP brushwork to create negative space for the AP's (and yes that means reshaping or deleting rooms etcetera). Then start putting in fresh new thick bullky AP's in the negative space you created.
 
Upvote 0
"Negative space". That was one theory I had. Would it be possible to actually hollow out a space and insert the AP inside that which is also inside a normal wall? Think wall 16 units thick-8 unit wide hollow space-4 or 8 unit wide AP inside that hollow space??

After about 10 hours nudging, I got most of them working. There were a couple that were problematic and if I let them extend 2 units above the surround bsp, they were fine.
 
Upvote 0
'Negative space' is 'filled space' so to speak (Additive BSP). You put your AP inthere, but for it to work it needs to have a part of it in 'positive space' (usually your main level substraction). The easiest trick to do that is to make your portals stick out under the BSP wall into your level substraction (and thus: positive) space. I usually make very tall ones and only the top of the AP is actuallysticking into the BSP brush in the play area.

Another trick can be to a cut tiny hole (by using a tiny BSP substraction) in your wall from the BSP face to the AP itself if your AP is entirely encapsulated by BSP (if you have no means to extend it downwards for instance). In doing that it gets connected to positive space through just a very small 'tunnel'. You have to worry about doing it in a spot where that little hole can't be seen almost by players.
 
Upvote 0
Also keep in mind that there are still calculations going on for objects behind anti-portals. When doing your 'nose to the wall' tests remember that any object on the other side still has to be calculated and told not to render. For this reason you should make sure all of your meshes have cull distances set to them so the APs have less work to do.

This is one of the reasons (like SasQuatch mentioned) removing APs can sometimes improve FPS. You may have several APs lined up in your view all trying to occlude several objects which can put more strain on the PC than it would take to just render the hidden objects in the first place! Less is more when using APs. :)
 
Upvote 0
Now I see the issue. I think the suspect APs were not touching the positive space. The bsp around them went all the way to the floor along with the APs. I can fix that quickly enough. Just over-produced the level taking the bsp and AP all the way to the floor. Old hold over mentality from the Quake/CoD engine where any gap between zones was an error because if it could 'see', it calculated and the portal was useless. That engine actually makes more sense from the portal perspective.

Thanks guys.
 
Upvote 0
Did you also try to put bsp inside the AP? When you put a normal piece of bsp inside the AP just a bit smaller 1UU, then you also loose the network calculations going on. (other players)...well, it worked when I mapped in the moddays.

Also, try to use an AP's to occlude portals, they really work well together. Especially in an indoor enviroment. It's easier to look at this ingame, to see what i mean. Make a test map and see if it works for you...
 
Last edited:
Upvote 0