Ok, this question is directed towards more advanced programmers. I'm still a little green when it comes to transfer protocol, and it boggles me when I try to conceptualize the mechanics behind massively multi-player online games. Well, maybe it even boggles some professionals. Just look at Funcom's AO disaster.
Anyway, by chance, is there anyone here who can explain some basic theory, offer some pseudo code, or point out a document that might answer some of these questions (I'll try to be as clear as I can):
1. How are the routines and memory usage divided between the user and the game server?
2. Using packets, how are the locations of other players kept track of and displayed on the users screen in the proper location?
(this is the one that keeps me up nights)
3. Back to question one, assuming it would be impossible for one user to store information for 3000 users in memory (not to mention NPC's) how does the code determine which information to keep, and which to destroy.
4. This one may be a bit more general, but how much memory would take to host three thousand users playing such a game, how much of the information gets written to hard disk compared to how much actually resides in memory, and how how are the packets sent between users so seamlessly?
Whew, I know that's a lot. Any information would be most appreciated.