Examples of well vised maps

Discussion for Level editing, modeling, programming, or any of the other technical aspects of Quake
Post Reply
ix-ir
Posts: 192
Joined: Wed May 16, 2007 9:43 pm

Examples of well vised maps

Post by ix-ir »

I ask this almost as a challenge, as I think Quake 3's vising is broken and it never seems to cull what it should. What, if any, are examples of maps that are correctly hinted, especially tight, 1v1 style maps where it's non-trivial to do so? Has anyone pulled this off successfully where the engine doesn't draw what you've hinted away? I understand portals and leafs and what's supposedly supposed to draw but it never seems to work that way in game.
Castle
Posts: 191
Joined: Fri Dec 29, 2000 8:00 am

Re: Examples of well vised maps

Post by Castle »

ix-ir wrote:I ask this almost as a challenge, as I think Quake 3's vising is broken and it never seems to cull what it should. What, if any, are examples of maps that are correctly hinted, especially tight, 1v1 style maps where it's non-trivial to do so? Has anyone pulled this off successfully where the engine doesn't draw what you've hinted away? I understand portals and leafs and what's supposedly supposed to draw but it never seems to work that way in game.
Quake 3s vising is not broken it is just very likely, more so than older iterations of the quake engine, to create fairly large leaf nodes that are able to see all kinds of things they logically should not.

I have a few maps that have done what you have described in the past. A map called the potato you can look it up is one example that comes to mind.

Quake 3 BSP culling is tricky because of its unpredictable programmatic nature. In many ways I feel that we are moving to, lol or moved to rather, manually placed portals with scissoring simply because its more tangible and predictable. I would not place too much thought in the old pure standard quake 3 visibility culling anymore.

Hardware culling these days simply omits anything behind other objects now too. "Whats a portal?" LOL....
- Russell Meakim AKA The Castle
Portfolio: http://castledoes.carbonmade.com/
YouTube: https://www.youtube.com/user/zZCastleZz
Tsu: https://www.tsu.co/zZCastleZz
Twitter: @zZCastleZz
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

Re: Examples of well vised maps

Post by Silicone_Milk »

If this is the case I wonder if it's possible to force the hardware to do its culling calculations on areas you tell it to so you can save it's resources for, say, a room with millions of objects in it then have the software side handle portal culling that the hardware would normally handle.

No real reason why I'm wondering this. It's just a thought that popped up after reading your post Castle.
ix-ir
Posts: 192
Joined: Wed May 16, 2007 9:43 pm

Re: Examples of well vised maps

Post by ix-ir »

Well done Castle, I guess you win. =)
The vising on your potato map works very well.
jal_
Posts: 223
Joined: Mon Mar 24, 2008 4:13 pm

Re: Examples of well vised maps

Post by jal_ »

Hardware culling in any case is only useful for rendering, which is only one of the many uses of vis. Server culling has actually a much bigger performance impact than renderer culling, so vis'ing (in any of its forms) will still be needed for a while.
ix-ir wrote: Has anyone pulled this off successfully where the engine doesn't draw what you've hinted away?
I don't bother hinting much, tbh. Just for specific cases of something which is being drawn when it clearly shouldn't. These things are usually patches, models or detail brushes, and what I do for hidding them is taking the problematic "object" and enclose it inside a hint brush (instead of trying to put hints at doors from where it's seen or hint the whole room). Works like a charm.

I never got satisfactory results from the "classic" way of hinting. Just minor improvements which help nothing if the map wasn't properly designed from the start.
a13n
Posts: 1672
Joined: Thu Feb 10, 2005 2:08 am

Re: Examples of well vised maps

Post by a13n »

Vis'ing also culls sound which sometimes makes environmet unreal.
Castle
Posts: 191
Joined: Fri Dec 29, 2000 8:00 am

Re: Examples of well vised maps

Post by Castle »

Silicone_Milk wrote:If this is the case I wonder if it's possible to force the hardware to do its culling calculations on areas you tell it to so you can save it's resources for, say, a room with millions of objects in it then have the software side handle portal culling that the hardware would normally handle.

No real reason why I'm wondering this. It's just a thought that popped up after reading your post Castle.
UE3 right now is the best example of an engine that handles the most cutting edge features.
In this case what you are describing is simple enough handled through Kismet using the engines ability to do real time streaming of levels. Simply have the player touch a trigger that loads the next area and unloads the previous area in real time and your good to go.

That combined with hardware culling and you have two very powerful systems to make sure your game doesn't overstep its technical bounds.
jal_ wrote:Hardware culling in any case is only useful for rendering, which is only one of the many uses of vis. Server culling has actually a much bigger performance impact than renderer culling, so vis'ing (in any of its forms) will still be needed for a while.
So far my own observations with hardware culling on UE3, at least, has been nothing short of a nearly perfect system. I can build huge levels with amazing detail and the hardware culling appears to me to work fine. Take a look at multiplayer forms of UE3 based games where they typically avoid using level streaming. They appear to load and unload textures in extreme cases as you navigate the levels. I might be wrong on this though.
a13n wrote:Vis'ing also culls sound which sometimes makes environmet unreal.
I wouldn't consider this a fundamental flaw with the idea of proper culling in a 3d engine.
In the case of ambient sounds IMHO its always better give the sound emitter a radius and have it work independently from visibility culling. This includes ideas such as creating sound volumes that that allow you to change various things about the way sounds are played with in a given area. Sound and visibility are entirely different beasts and IMO its logical to treat them as such.
- Russell Meakim AKA The Castle
Portfolio: http://castledoes.carbonmade.com/
YouTube: https://www.youtube.com/user/zZCastleZz
Tsu: https://www.tsu.co/zZCastleZz
Twitter: @zZCastleZz
jal_
Posts: 223
Joined: Mon Mar 24, 2008 4:13 pm

Re: Examples of well vised maps

Post by jal_ »

Castle wrote: So far my own observations with hardware culling on UE3, at least, has been nothing short of a nearly perfect system. I can build huge levels with amazing detail and the hardware culling appears to me to work fine. Take a look at multiplayer forms of UE3 based games where they typically avoid using level streaming. They appear to load and unload textures in extreme cases as you navigate the levels. I might be wrong on this though.
I'm quite confident UE3 games do have server side culling too. I have no knowledge of it, but since they work online in today's bandwitchs I'm quite sure they cull ;)
I, of course, didn't mean hardware culling wasn't worth it, ofc it is, it speeds rendering up and that's always great. What I meant is that it doesn't cover all culling needs. If you don't cull in the server, you send a lot of useless information which not only raises the bandwitch requirement, but also adds a lot of useless processing to the client before even reaching the renderer.
Castle wrote: UE3 right now is the best example of an engine that handles the most cutting edge features.
In this case what you are describing is simple enough handled through Kismet using the engines ability to do real time streaming of levels. Simply have the player touch a trigger that loads the next area and unloads the previous area in real time and your good to go.
So that's it. Kinda rough areaportal culling.
a13n wrote:Vis'ing also culls sound which sometimes makes environmet unreal.
That's a particular problem of Q3 which culls sounds as if they were visible stuff.
ix-ir
Posts: 192
Joined: Wed May 16, 2007 9:43 pm

Re: Examples of well vised maps

Post by ix-ir »

Vis'ing also culls sound which sometimes makes environmet unreal.
That's a particular problem of Q3 which culls sounds as if they were visible stuff.
It's a deliberate choice about how they wanted to make the sound system work, and yes it does do silly things sometimes but generally it's 'good enough'. You don't have to do it that way in the Q3 engine and things that are out of PVS can still send sounds to you if you set it up to do so.
Post Reply