Sign in to follow this  
Little Coding Fox

Loading and Rendering BIG game worlds

Recommended Posts

Hello everyone! I have been thinking (and wanting) to know what techniques are usually used to load gigantic game worlds (like in World Of WarCraft) while not using too much disk space, keeping good detail for the world, and obtaining a good performance while rendering. You see, i've been trying to get the biggest world i could get by scaling up a heightmap (had a heightmap of 25MB size...), but still the world isnt big enough, or at least not as big as i would like it to be. So, if you guys dont mind, i'd like to know some of the names of the techniques usually used by the current MMORPGs (I ask of MMORPGs because MMORPGs have to have gigantic worlds, not because i'm going to make one, because i am not). Thank you for your time! ^_^;

Share this post


Link to post
Share on other sites
Heightfields are probably very compressible (I haven't investigated it much) because they are generally very low frequency. You could probably compress a heightfield to less than 10% of its original size will little loss of detail using JPEG or something similar.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Heightfield data could be used as control data for curved surfaces (probably would be a combination of a height and a normal value to shape the surface better than bubblegum....).

Add to the above using the coordinate on the grid (as a seed) to add small random distortions to break up the pure curve defined by the heightfield (and normal??).

Effectively this makes the data more like seed data for algorithmicly generated terrain (but still with fairly fine control).

You might be able to simply compress the data (a bit) by having recursive blocks
with a (coarse) base height that the fine data then is aggregated with -- a two level would have a much smaller grid (like 1/16th each dimension ) with the base height in 64k (2byte range) large steps and then the full grid of the fine data
64K (2 byte) range of small steps . So instead of 4 bytes per grid point on your huge map you would have 2 bytes and a much smaller (1/256) coarse grid (2 bytes per point). (if your heightfield is 2 byte then split it byte/byte...)
This is almost cutting your data in half. It has problems where you have very shear terrain that drops more than the fine coordinate values can accommodate.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this