I already understood how game developers could create very large game levels, bypassing the floating point precision limit.
This was my very first mind boggling question, and I understood it when I read how some programmer told the story of some dungeon PC game.
My question is more related to game networking, more precisely wow.
There are no interruptions in the game level (apparently I think).
Since the viewing distance is much smaller than the world size, and since there are a lot of players, you can't send all players positions because it would require too much bandwidth; so you have to only send the nearest players positions, among a pretty big list of connected players.
Those servers are almost always online, with a large number of players (only doing quests or idling into cities, since I guess dungeons and raids must be hosted on dedicated servers), and they must find a solution to save as much bandwidth as possible.
So at one point the server has to determinate which players positions it has to send to which players, and when it has to stop sending it.
I was wondering about how the server does this, because to me it seems to have O(n^2) or even an O(2^n) complexity. How do they do it ? Do they fragment into virtual tiles so they only check players in the nearest tiles ? Do they calculate this not so often so that the server can handle it ?
A continuous online persistent world is quite awesome, but technically I don't really know how they do it.
/who, and by default you will be queried from the region (zone, like Zangarmarsh) you currently reside in. – psycketom Dec 22 '11 at 17:47