PDA

View Full Version : UE3 - UT3 Best Method - Building Open Ended Worlds


fleshsniper1
7th Apr 2008, 03:52 AM
How to go about making a really efficient open ended digital world? In GTA3SA, they were able to accomplish this greatly. I dont know how they did it, maybe the graphics was very simple. I wonder what techniques they used. Anyone up to discussing this?

I hope someone is interested in helping tackle this topic for the Unreal Engine 3 and even games in general. We can all pitch in our knowledge and ideas and organize a really clean explanation describing techniques. Maybe turn this into a community project if there is enough interested.

Here is a level i am working on. It has 2 lakes with a river linking it together, some forest here and there, some hills here and there, random stuff like houses and human junk. Its a map made for testing new and modified gameplay. Also so i can learn how to map and code. This is my first official map BTW (my other maps were just boxes).

eRat
7th Apr 2008, 06:42 AM
Some vaguely related questions:

Since 256*256 height map is the largest terrain bitmap size Unreal can use, is it possible to stitch several terrains together to create larger terrain areas. And is it possible (with edtiros scripting only) to preload these 256*256 terrain blocks together to have zoneless maps.

Would it be lighter for processor/memory to use level of detail models for terrain? Instead of having a terrain with grayscale map, I would use a terrain model.

p.s. First timer reporting in =)

Edit: This question because there is a possibility of using US geospatial data to create heightmaps/terrain models for use with almost any and all the major 3D packages.

ninjanomics
7th Apr 2008, 11:28 AM
Correct me if I'm wrong here, but UE3 automatically applies LOD to terrain inherent in a map when it's published, doesn't it?

And as long as you're careful to make sure the verts are co-incident, it should be reasonable to stitch sections of terrain together. You may have to use a series of static meshes to hide the seam though.

I have been known to be WAY off sometimes though :(

Cryosis
7th Apr 2008, 05:24 PM
Open ended worlds in UE3 without huge coding changes probably won't be feasible, even then the engine probably couldn't handle it (things like large terrain it might but once you decide to setup object spawning like people and what no in your world your nightmare will begin). I don't want to sound like a jerk but I just wouldn't try it...

If you want to do some sort of huge project in an open world you might want to look into another engine..

fleshsniper1
7th Apr 2008, 11:13 PM
It does seem that UE3 isnt good at making big worlds since its games were built with average map size online play in mind. Theres a lot of techniques to use like the zone and streaming whatnot, so far im testing a 1024 by 1024 terrain (probably gonna split it into multiple terrain if that is a better technique rather than one big terrain), making lakes and hills. Then gonna test it as it is lol and then start to optimize it using the documented techniques, splitting the map up, zoning, :/ gonna be fun :).

Moving to another engine would work for open end games better but i really like all the tools in Unreal Edit. Might as well give it a try.

DGUnreal
10th Apr 2008, 04:55 AM
If I can chime in with a few comments... :)



How to go about making a really efficient open ended digital world? In GTA3SA, they were able to accomplish this greatly.


Differences in engine design.
UE3 uses a default maximum world of 512k UUs which is approximately 10.5km x 10.5km. By using 1/2 default scale, you can get up to 21km x 21km. This is large enough for most any game that is of the FPS/RPG/Action style. Anything beyond this is difficult to implement with UE3, even with access to the engine source.



Since 256*256 height map is the largest terrain bitmap size Unreal can use

is it possible to stitch several terrains together to create larger terrain areas

And is it possible ... to preload these ... together to have zoneless maps.

Would it be lighter for processor/memory to use level of detail models for terrain?

there is a possibility of using US geospatial data


Not true. You can use 1024x1024 if you like. You just have to balance detail to file size and rendering speed. There are also numerous "tricks" to simulate terrain that is 8192 or higher on smaller heightmaps.
Terrain is more complex than most people think when considering the optimal density for a specific use and design. Using anything over 512x512 starts to significantly increase map file size etc.

Externally, yes, but there will be issues if you attempt to do this in the editor.

Even if you use level streaming you are limited to the maximum world size.

I assume you are referring to LOD staticmesh sets. No. Using the existing terrain system is definitely the most flexible and optimized.

The issue to keep in mind with using DEM data of any sort is that unless it is better than 1/6th arc-second it is almost useless for detailing in-game. 1/3 arc-second and larger might be fine for flight sims and google earth, but it is too low for FPS/RPG etc. games.
It should also be proper 16-bit data.



... UE3 automatically applies LOD to terrain inherent in a map when it's published ...

... it should be reasonable to stitch sections of terrain together.


LOD is user adjustable in the Terrain settings in the editor. These must be used correctly however, as there are specific ratios of MTL and MCS.

I recommend not attempting to match tiled terrains together in the editor. There are numerous reasons why specific setups work and others don't.
For specific map designs, a dual terrain setup can be used for optimization, which incorporates a high-density central play area terrain and low-density border terrain.
Otherwise stick with a single properly chosen terrain setup.



It does seem that UE3 isnt good at making big worlds since its games were built with average map size online play in mind. Theres a lot of techniques to use like the zone and streaming whatnot, so far im testing a 1024 by 1024 terrain (probably gonna split it into multiple terrain if that is a better technique rather than one big terrain), making lakes and hills.


So long as your world is between 10km x 10km to 20km x 20km you are fine. :)
Beyond this you would have to send players to another independant map, which will incur load times.
Level streaming is limited to the maximum world size.
I don't recommend splitting terrain, this won't achieve anything over the existing component culling and LOD optimization methods already implemented.

fleshsniper1
10th Apr 2008, 06:11 AM
Hey DGUnreal, thanks for the tips. I like CTF-DG-PineRidge it looks similar to what i want to do but mine will be for single player and more epic - using original content.

DGUnreal
10th Apr 2008, 12:30 PM
You're welcome.

PineRidge is old UT2k4 stuff. :)
I have much more realistic UT3 and UE3 terrain work for my own upcoming community maps, the UT3 mod I'm on, and the studio I work for. UE3 can do so much more than UE2.