Is this the same method Blizzard is using for their World of Warcraft no-loading world? Segmenting. I’m particularly interested in how do they achieve the solution where you don’t even feel the streaming, especially when interacting with multiple users across the map.
The way I presume it is done is that each interactive set of characters/players/npcs/environment-elements is enclosed into a cube of its own space and with a single origin; the engine takes interacting entities and uses a single origin for those to have “small value calculations” due to small distances.
Now, if that is true, how would such a solution handle chained interactions? By using a zoned cube for every different set of interacting entities and doing multiple calculations depending on interacting members?
For example (a 2D representation) if this is the line representing a map and |s are characters:
___________|__|______________|_||________|________|___________
We’re going to need 1 box for the first two and calc their interaction in a local space, second box for the next 3 and next two (farthest away) or one big for the whole rest… In case 2nd and 3rd can’t interact… but what if they can… how does, e.g. a projectile, is calculated when it goes through different zones? Recalc for every new zone it enters? What when it is in the same time in two zones (transition period)?