Optimising for large open outdoor areas


(TNR360) #1

How can this be done?

I want to break the traditional canyon style ET map by creating something more open, say like a trench war.

is there anything I can do to make it detailed and realistic without its toll on FPS?

Maybe could there can be changes in code to help support this?

Or will I have to rely on Fog to cut the triangle count?

I’ve noticed farplanedist effects VIS

when I set it low it gives me max VIS exceeded error while compiling


(SCDS_reyalP) #2

Q3/ET is not terribly well suited to this.

is there anything I can do to make it detailed and realistic without its toll on FPS?

Maybe could there can be changes in code to help support this?

It would be hard to do, since the engine is not available. There might be tricks you could do in game code, but I suspect they would be ugly and relatively limited value.

Or will I have to rely on Fog to cut the triangle count?

I’ve noticed farplanedist effects VIS

when I set it low it gives me max VIS exceeded error while compiling

farplane clipping (hidden by fog) is probably the simplest way to do this, but it isn’t magic. For it to work effectively, you have to have a relatively small blocksize, which in turn jacks up your vis size on large open maps.

edit:
the rtcw map “trenchtoast” would be the canonical example :wink:


(TNR360) #3

I realize ET sucks for this but there has got to be a way


(stephanbay) #4

can you give a little detail of this map’s layout you planning to do in large outdoors.


(TNR360) #5

Here’s a good idea of what I want to make-


(stephanbay) #6

hell yeah you will suffer with FPS. better use fog clipping. I have made 2 maps that were outdoors only and i can guarantee you that no matter what you do you will get a problem with FPS. Just try an outdoor map on 32 or 64 players (where lot player models are drawn ) and you will understand.
Anyways just a little advice for big outdoors : try not using lot of complex models (trees , vehicules …) , keep as simple as possible.

some screenies and some performance of Sniper Marina 2 :

My computer is : 2500 XP Athlon (O/C 2.15 gig) / Nvidia FX 5800 ULTRA

I get 76 FPS max , when the server is running 32 players, it drops sometimes to 50 fps. One of the big mistery of this map is that i used _blocksize 0 for experimentation and i gained 15 FPS !!! well that still need some explanation from some Vis masters.

Layout of the map is simple : 2 side , one in front of the other. Size around 12000*12000.

Fueldump is a large outdoor and if you notice there isnt lot of brushwork / models used in it to keep a good fps ratio (but still it sucks when server has lot of players) same for battery. If large outdoors were possible on Q3 engine, SD wouldnt have bothered making the Megatexture Technology :stuck_out_tongue: :stuck_out_tongue:


(carnage) #7

i think you might be able to get away with making a map like that

*use larger tris for the terrain mesh
*increase the block size as each block has far fewer tris inside it and there is virtual no vis culling
*use far plane and fog to do the actual clipping
*ET supports a foliage shader to help place little bits of grass over the map
*Make good use of the level of detail system that should allow you to get a lot more tree models in and if they are semi hidden in the fog it should be hard to tell the differance

AFAIK the problem would come from networking since the vis culling is so bad you need to get information about almost every player on the server. Might be fine for a 5v5 tank battle but when you try a 32v32 trench war with added art and weapon fire etc you might start to cripple the server


(TNR360) #8

*use larger tris for the terrain mesh ***you mean larger brushes?

*Make good use of the level of detail system that should allow you to get a lot more tree models in and if they are semi hidden in the fog it should be hard to tell the differance

I dont quite understand what you mean, are you saying that if most trees are covered by fog and my draw distance is low I could get away with more detail?

Also being that this is going to be a pretty much a 1 ROOM map I think all the info about players is going to be drawn even though they are not in sight

how can I make portals to other world rooms for example? that way I think I could break it up a bit

also what effect does low blocksize have on the overall look?


(SCDS_reyalP) #9

First, I’ll repeat the links I posted in another thread:
http://web.archive.org/web/20051212023108/http://www.planetquake.com/spog/stuff/technical.html
http://graphics.stanford.edu/~kekoa/q3/

Study these, understand them, and you should be able to find the answers yourself.

I strongly suggest that if you want to push the limits of the game, you start by making test cases rather than the actual map. Make a box with approximately the terrain size and number of models etc that you expect to have. It doesn’t have to look or play good to give your representative performance numbers. Play with different setups until you have a good idea what works, and how the various trade offs affect it. Try to predict beforehand how your test case is going to run, and if you turn out to be wrong, don’t move on until you have a good idea why. Then design the actual map around what you have learned. This will save you a lot of time and pain compared to trying to make the map without understanding the technical side.

To the specific question:
blocksize doesn’t affect the look, it controls how the map is split.

This is a trade off, especially on a map without a lot of other structure:

Farplane clipping uses vis, so geometry beyond the farplane distance isn’t in your PVS at all. This argues for a relatively small blocksize, because a given leaf has to be completely beyond the far plane to get culled this way. It also affects your choice of fog distance, since you want the fog to be opaque right at the point stuff is culled.

Smaller blocksize means more vis data. You can quickly hit the max_map_visibility error, and I suspect even before that there is a noticeable performance cost.

Large block size means more geometry in each leaf, which means the cost of physics is higher.

A few general recommendations:

  • Optimal block size will probably have to be determined by experiment.
  • Assuming your map is fairly flat, block only in X and Y, and make any Z splits manually with hints.
  • keep the internal volume as small as possible. Don’t make the sky higher than it needs to be, and fill the area under your terrain with structure where convenient.
  • Only use complex geometry where you really need it. Isolate it using hints if it is in the open.

(stephanbay) #10

One more thing about large outdoor maps : ET is a small maps game )lack of vehicules) and in most of the time large outdoors maps are quiet boring for people (who come to kill not to run). So depending on what you planning to do, you must be carefull with large boring outdoors.
cheers and good luck


(TNR360) #11

you haven’t played EF yet eh? :stuck_out_tongue:

death around every corner and I’m not talking about 30 shots death I’m saying 1 shot

the further away from the enemy you are the better, especially if you see him first :smiley:


(kamikazee) #12

Never played FalckonET, eh? :stuck_out_tongue:


(TNR360) #13

Never played FalckonET, eh? :P[/quote]
proly not :smiley:

well thanks for help :slight_smile:


(stephanbay) #14

lol played that mod once, a couple of years ago : the gameplay was so slow that i got disconnected for Losing key packets (if my memory is still working) :lol: but hell i wanna try the newest version and see if driving that gadpanther is fun :P. Looking forward to test the EFmod as well. Anyways, lets not hijack this thread. good luck for your map TNR.
:drink: