quote: It's n^2 thing. Each visible player also means updates about ingame status and about battles they are in etc.
Now imagine 30 people game ending and 1000 people online. If those 30 people are visible to all, you have to send 30 000 messages just for the "battle ends" event.
Now imagine server restarts and 1000 people join at once. Suddenly you are sending many multiplies of 1000x1000 custom messages as they open/join games, join chat channels etc. All of these have to be serialized and pushed over network. |
Is there no way to batch updates? I'd be happy with a 10 second lag, but I imagine you could easily bring it down lower to 1 or 2s -- eg. 30 people leave, server sends out 1000 updates to all online players (n), each which have all the deltas for the 30 players since the last update.
Bam. convert n^2 to n -> we can have list of full players, so I can sort and find everyone online through the lobby. I don't need millisecond precision when a user comes online or leaves a battle etc. I do need the full list in order to search all online/offline players and sort the playerlist alphabetically, or by rank, skill, country, clan, etc.