large city levels?


#1

In some of the large freely roamable city based games that are around lately (GTA series, Getaway etc) how do their engines handle it all? I mean is it basically things like PVS and level of details stuff? Do they also load up the whole level ahead of time or do sectors load up as the player nears them?

Cheers

DaveMcD


#2

Well I’m not really familiar with GTA games, but what the Serious Sam engine does to handle large outdoor areas with many occluders such as buildings and stuff is when you map the level, you ID or mark all large polys as “Occluding” and all small polys as “Detail”. The polys marked “Occluding” are used for occlusion culling and the polys marked “Detail” are not used for any type of visibility testing at all. Croteam says in the SeriousEditor help file that doing this marking is one of the most important factors in optimizing your maps. I believe SSam uses the same rendering techniques as Quake, PVS with a sorted edge rasterizer.


#3

In GTA 3/VC the city loads up in parts. In the distance the buildings have a very low LOD (level of detail, so less polygons) with a very low-res texture. Once you get closer to the buildings in the distance the new texture and LOD takes over the current model withouth noticing it too much.


#4

Most engines today will divide a level into CHUNKS. Sometimes the modeler can AID this, by setting up HINTS so the engine knows the best places to divide a level up for optimization.
For example, often people will place a HINT at entrances to large rooms etc. Thus, if the player is inside the room, the engine will not bother checking too much on what is going on just outside in the hallway.

Do this well and your frame-rates will get a boost.


#5

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.