the power of clever VIS-design


(heeen) #1

on the map project we are working on we reduced the vis-time from about 36h on a 1,5 ghz 1,5 GB ram machine (requiring about 800mb passage memory) to less than 5 minutes on my 1,4 ghz 256mb ram machine requiring only 18 mb passage mem!
generally i can give you some quite simple advices:
*imagine building your basic map from lego duplo bricks (that are the bigger ones for small children) and make it structural and add all details with smaller lego bricks as detail brushes
*try to avoid caves, that the player never can reach, try to fill them with caulk
*avoid overlapping structural brushes
*try to keep the structural brushes orthogonal, that is 90° angles on all axes.


(redfella) #2

someone must use autocad :).

I like the last recommendation the best.

:banana:


(Flash95) #3

orthogonal??
does that mean its easyer on the players feet?


(MuffinMan) #4

i think we can compete with this: dual athlon 2000+, 1 gig ram, vis compile takes about 5 seconds with about 28000 brushes in worldspawn (+ entities)
:banana:


(Irrelevant) #5

No, along one of the x, y, or z planes. That is, completely horizontal or vertical (as compared to sloping).


(Lanz) #6

I think 95% of the compile time is fixed by advice no 1.


(seven_dc) #7

My map is a really mess when it comes to VIS stage. Would it be a wise decision to make all brushes to detail and create structural caulk brushes to optimize the VIS process or/and could I use hint brushes so that they would not block the user?


Curvy Webcam


(damocles) #8

It’s always worth turning on the detail filter and moving aroudny our map in Radiant. I do this now and again and quite often spot one tiny little complex brush that I forgot to make detail. A little brush like that not only adds a lot of compile time to the VIS stage but also screws up your splits and in game use of vis.


(Blackadder_NZ) #9

I don’t know why brushes aren’t automaticaly made Detail. Or an option to make the brush detail.


([rD]MrPink) #10

Thats simple, people have a hard time “teaching” their computer what should be structural and what should be detail. You can’t go by a standard size or anything like that, because that would be flawed. There might be a way to do it but it would take a lot of math, trial and error, and it would never be flawless.

If you mean you want the ability to create the brush straight off as detail in Radiant I’m 100% sure theres an option for that but I have no idea where to find it.


(Detoeni) #11

Hints should not be used in this way, if your map is correctly consructed you may have very little need for them.

Would it be a wise decision to make all brushes to detail and create structural caulk brushes to optimize the VIS process

Hull caulking would be the way forward.


(damocles) #12

Hints should not be used in this way, if your map is correctly consructed you may have very little need for them.

That sentence is very misleading. Although it’s true that a well constructed level should not require hinting, that does not mean that a level that needs hinting is a badly made level, only that you have to use another method of VIS control. Many times it is better to use hint brushes to control your level because it means you have to sacrifice a lot less of your original designs. Blocking VIS purely by structural brushes tends to result in blocky, unimagintive level design. You should design a fun level first and foremost and then decide the best method to control VIS and framerates.


(seven_dc) #13

I tried to make everything to detail and create structural hull, but found that it would take forever to properly optimize the level. My level is quite small and there are only few fps drops that can be optimized with making brushwork simplier. So I must just make detail more and more brush optimations and hints to boost up my fps.

I think the hinting is for optimizing not for last resort to fix fps issues. Just look at goldrush map. It is full of hints.

ie. I have mountains middle of my map like:


_*____/\____
* = player

And there is cap between the sky and the mountais so engine draws brushes behind the mountain. This is not necessary so adding the hint brushes you can block the brushes otherside.

Can somebody say what shape hint brush I should use? to block visibility over mountains?


TOYOTA ECOM HISTORY


(damocles) #14

What you should do is place a large caulk block under the mountains (remember, terrain is detail and so doesn’t block vis). Add several if you feel it is necessary. Try and make them as high as possible without poking through the terrain. And before anyone mentions it, no the caulk blocks that are the base to each terrain triangle don’t count because they are still detail brushes. Once you have a good solid wall (needs to be coninuous) under the terrain, if you need more fps try adding a large hint brush that extends from the lowest caulk wall section out across the map in all directions (except up of course :smiley: ). If you align the top of this hint brush to the top of the lowest caulk wall (which should be at least twice as tall as the player standing on a mid-to-high area of the level) and align the bottom to the bottom of this caulk wall, it should prevent anyone from seeing beyond it either side. The problem you may find is if the mountain is in the centre and players can walk either side of it, here the hinting is a lot more complex and you should consider large walls or structures to block vis if needed.

The real problem with trying to assist in hinting people’s levels is that you really need to get a good visual idea of the level layout. If you need any more hinting advice, consider posting a few pics to work with.


(seven_dc) #15

Ok here we go
This is my bird view to mountains:

My map is like this


*---------------------------------*
|            OOO                 |
|             1O                 |
|           O                    |
|           OO                   |
|             2O                 |
|             OO                 |
|             OO                 |
*---------------------------------*

The O -letters are the mountains and 1 is the point where first picture points at and 2 is for the another picture.


This is view from user point of view the pointer is pointing at about the same place as the second picture (2). as you can see user sees stuff through the mountains…

So how should I use hinting?


Ship Sale


(damocles) #16

That’s not going to be an easy one to hint. The mountains are too low to successfully block vis - especially where you have the valleys running through them.

You could caulk under the mountains but it will only save a small amount of triangles and only from certain angles :frowning:

How bad are your fps? If you really need to block sections off badly then I guess you would have to add some large buildings in the valleys to act as vis blockers and then caulk under the hills. At the moment your map seems to have clear vis sight from one end to the other :confused:


(Blackadder_NZ) #17

Have alook at your r_speeds, if your tri count is below about 20000 then I wouldn’t worry TO much about your vis, but then again looking at that map I don’t think it will be below that…


(seven_dc) #18

Whee.



Keeping it under 13000! thanks to the fog I am using


Washington Dispensaries


(damocles) #19

Ease it up some guy. If it stays under 20,000 it’s still great. Most ET maps regularly go over 25,000, so you could probably get away with that too.


(SCDS_reyalP) #20

FWIW, you can use /con_dawnotify 1 to show the r_speeds without going into console.
Nice looking map too. :smiley: