Jump to content
  • Advertisement
Sign in to follow this  
Little Coding Fox

Loading and Rendering BIG game worlds

This topic is 4478 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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
Advertisement
I would imagine they are loaded in and out on demand. Here is another thread, which is discussing the system used in Dungeon Siege.

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
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!