Optimized for what? Which is faster, just sending all the data, or figuring out which objects can see other objects? Traversing a dense graph, is very time consuming (at best polynomial time, most likely factorial time).
Optimized for bandwidth. I personally don't want applications sending me all kinds of useless information. When i'm alone on the screen/large area, I don't think I should be recieving 50 packets/s of the 15 players moving on the other side of the map. If the extremely minor delay of doing some checks is caused, it would make up for the client-side not having to process all the useless packets.
Sure it works well for small amounts of players, but 3000!
And continuing what I said, what game have you ever seen with 3000 people in the same area? I have gone through so many stages of online mmo's that I get no enjoyment from gameplay anymore and I still have not seen more than a couple hundred in a single map/large scaled area.
Doesn't Eve Online use a single server? And it's complete crap from what i've heard....the lag. A server might be able to handle a couple thousand players, by spamming packets without checks but wouldn't the client just lag over completely defeating the purpose? I only have some experience in hosting game servers, and certainly not thousands of players simultaneously. But I think it's the wrong approach to even plot the idea.
All the professional games I have come by used seperate servers for every area. Not seamless...but even that could be achieved with seperate servers. Everquest, Anarchy online, Project Entropia [Seamless I believe], WoW (as much as I despise blizzard), etc.
It would be cheaper to rent several servers that can host several different maps/areas rather than a single server and line that is truly capable of hosting it all. Initial load times would be ridiculous, server restarts & crashes would require the entire game go down, rather than zones at a time which can be extremely advantageous for updating small parts of the game, only nudging a small portion of the community for a short while.
I'm thinking for the customers|player-base. Not what's easier for me.