What is the best way to implement continuous level throughout the game, using XNA? Imagine that I have a level with the size of a whole city (like in MMORPGs) however, the game will currently be mainly single-player. I'd like to be able to split this huge planet into parts which load asynchronously as I enter them. However, I also have other questions, such as, what happens with the part that I've come from. Its state should be stored on the disk, right? Then, what if I need to make some changes to that part, when the player comes back. Obviously, other characters should have done something rather than standing still. What's the best way to grab the state as I stored it, and modify it a bit, based on certain parameters, before I load it and let my player return.
-
\$\begingroup\$ I've heard there's something called 'chunking', which is basically this. I don't know how to implement it, though... Otherwise, the question is potentially a little broad, and subject to design constraints. \$\endgroup\$– Clockwork-MuseCommented Sep 29, 2011 at 18:00
-
\$\begingroup\$ This is a hard open ended question. Try finding some info on how other large games/MMOs did it. This problem is not specific to XNA and the ideas learnt this way should be easily transferable to XNA :). You already seem to have the basic idea right! \$\endgroup\$– Roy T.Commented Sep 29, 2011 at 19:54
1 Answer
In world of warcraft, the adjacent "tiles", which are pretty large, are loaded as a low poly model This is done so you (as a player) do not see the "end of the world". Then, once you know where the player is going, you have a Loading engine start to load the assets of the "tile" the player is going, asynchronously
Unload the once from the "tile" the player is moving from,
This "in short" is how Blizzard does it
Hope you can make something of it.