Fortress Forever

Go Back   Fortress Forever > Editing > Mapping

Reply
 
Thread Tools Display Modes
Old 03-14-2008, 09:21 AM   #1
Lt Llama
 
Join Date: Mar 2007
Posts Rated Helpful 0 Times
How to optimize maps with big open spaces?

Mr Hint Brush Noob reach out for help

Most tutorials on hint brushes shows simple examples with corridors with
T-junctions and doors. But how about an outdoor map with lots of hills and props? I want to add hint brushes to a map I'm working on, but I wan't to do it right.

I had to add a huge building in the middle of my map to block vis but as you can see from mat_wireframe 2 a lot of stuff is rendered inside the building which you can't see.





So I got 2 questions about this.

1. Should I cover the inside of the walls with hint brushes?

2. Anywhere I look all the props are rendered by vis, even if hills are in the way. Can and should I add hint brushes inside the displacements to solve this? All displacements have nodraw brushes under them as it is now.

But to make it real simple for a hint brush noob like me, is this a correct assumtion?:

If mat_wireframe 2 renders things you can't see you can and should block those areas with hint brushes

p.s. Plz don't mention area portals :P Not right now anyway.
__________________
http://www.signaturebar.com/uploads/images/50033.png

Last edited by Lt Llama; 03-23-2008 at 10:42 PM.
Lt Llama is offline   Reply With Quote


Old 03-14-2008, 06:35 PM   #2
Crazycarl
D&A Member
Wiki Team
Fortress Forever Staff
 
Crazycarl's Avatar
 
Join Date: Apr 2007
Posts Rated Helpful 31 Times
Quote:
Originally Posted by Lt Llama
But to make it real simple for a hint brush noob like me, is this a correct assumtion?:

If mat_wireframe 2 renders things you can't see you can and should block those areas with hint brushes
It's not correct, at least not in the way you are thinking. Before you can use a hint you must understand visleafs. All the space in your map is broken up into boxes called visleafs during compile. During the vvis part of the compile, all the leafs (leaves?) are tested for each other for line-of-sight(LOS) and the results are stored in the map. This is to save the game from having to do real-time visibilty testing, which is a huge load on the CPU. All it has to do is look at what leaf the player is in, then render everything that can be seen from that leaf.

The problem is that's not very precise. Sometimes the leafs are very big and extend to where it has line-of-sight into another area of the map. (Typing mat_leafvis 1 in the console gives you a visual of the leaf you are in.) The purpose of a hint face is to force all leafs to get clipped off so that the above does not happen.

Look at this. in an outdoor map the leafs tend to extend all the way up to the sky, as in the left image. What this means is that when you stand on one side of the hill, what's rendered is identical to what would be rendered if you were up in the sky. The engine considers the two forts to have LOS to each other, even though they really don't.

If you use a hint like I've illustrated, you limit the height of the leafs on the ground, where the player is likely to spend most of his time. Now there's no way for the forts to have LOS each other.

(FYI a portal is the name for a side of a leaf. They don't have anything to do with areportals. Vis actually tests portals for LOS, not the whole leaf at once. You don't need to know this)
__________________
Support FF:

Last edited by Crazycarl; 03-14-2008 at 06:41 PM.
Crazycarl is offline   Reply With Quote


Old 03-14-2008, 06:38 PM   #3
Crazycarl
D&A Member
Wiki Team
Fortress Forever Staff
 
Crazycarl's Avatar
 
Join Date: Apr 2007
Posts Rated Helpful 31 Times
Also if your only problem is preventing props from being rendered, an occluder might be what you need. However those don't help to hide map geometry.
__________________
Support FF:
Crazycarl is offline   Reply With Quote


Old 03-14-2008, 07:22 PM   #4
Lt Llama
 
Join Date: Mar 2007
Posts Rated Helpful 0 Times
Thx, that made it much clearer, and it was not like I thought it was. The problem here is, as you can see a boxy fort on a hill surrounded by a lower landscape. The players are supposed to get up to the top, and thats where the main battling are done. Instead of covering the insides of the walls with hints, as I thought, is it then better to just add a huge horisontal hint brush below the topmost hill, as the players who are below don't have LOS to the other lower hills on the other side?
Lt Llama is offline   Reply With Quote


Old 03-14-2008, 09:50 PM   #5
Crazycarl
D&A Member
Wiki Team
Fortress Forever Staff
 
Crazycarl's Avatar
 
Join Date: Apr 2007
Posts Rated Helpful 31 Times
That would help a lot. It's good to just pick two areas that should be seperated, and focus on boxing them out. If you set out trying to prevent EVERYTHING from being rendered unnecessarily, you will fail.

For any hill you think you might be able to use for vis-blocking purposes, the first thing you need to do is put a nodraw-textured wall inside it. It can be any thickness, but make it as tall as you can without it sticking out of the displacement. If it sticks out a tiny bit it's ok, but keep in mind that players and bullets can collide with it. Then hide the displacements and start with your hints, keeping in mind which areas you are trying to hide from which.

Horizontal hints work for the problem of seeing over (or under) walls, but it's also possible to see around walls, in which case you can use vertical hints using the same principal. Hints also can be diagonal. There's no reason they have to be straight.

If you can't get the hints working as well as you want (and depending on how your map is designed maybe you can't)I think func_occluders are going to be your best bet, since I think most of your FPS drop is going to be caused by props and player activity.
__________________
Support FF:
Crazycarl is offline   Reply With Quote


Old 03-14-2008, 10:29 PM   #6
cownaetion
Wizard of Milk
 
Join Date: Sep 2007
Location: Upstate NY, USA
Posts Rated Helpful 0 Times
Send a message via ICQ to cownaetion Send a message via AIM to cownaetion Send a message via MSN to cownaetion Send a message via Yahoo to cownaetion
Nice post Carl, real informative. Actually learned something useful today for once
cownaetion is offline   Reply With Quote


Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:04 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.