Live data from Hacker News

The One Man MMO Project

onemanmmo.com

1–10 of 119 posts

Re: The One Man MMO Project

#2
How do MMOs maintain and update state for tens of thousands of players and then push those updates from the server back to clients efficiently?

Re: The One Man MMO Project

#5
post #2

How do MMOs maintain and update state for tens of thousands of players and then push those updates from the server back to clients efficiently?

Depends massively on the type of game. In general the two techniques are heavily compressing the data format sent over the wire (e.g. using 16 bit floats instead of 32 bit where it doesn't matter, sending 3 element quaternions instead of 4 and recalculating w), and only sending what the player needs to know based on a radius or some other criteria.

Eve Online slows the entire simulation down when huge battles are happening, but they also split simulations across servers based on which system you are in.

Modern WoW shards plays heavily within zones, which is why you will almost never run into the same people while adventuring. They also attempt to limit how many players will be in the same shard at the same time. However there are ways around that through grouping, so when larger battles start happening things get laggy. You press buttons, they are queued up, and can take upwards of a second to show their effect in-game (they must go to the server and back).

Re: The One Man MMO Project

#7
post #2

How do MMOs maintain and update state for tens of thousands of players and then push those updates from the server back to clients efficiently?

Same way you don't render the whole world each frame: https://en.wikipedia.org/wiki/Potentially_visible_set

Also 3D data structures, which http://realtimecollisiondetection.net/ is still my go-to book.

Re: The One Man MMO Project

#9
post #2

How do MMOs maintain and update state for tens of thousands of players and then push those updates from the server back to clients efficiently?

You can do a lot with the right, simple architecture and a programming language at the right level of abstraction.

Re: The One Man MMO Project

#10
post #2

How do MMOs maintain and update state for tens of thousands of players and then push those updates from the server back to clients efficiently?

In memory. MMO servers store all world state in memory, and each server has a capacity usually in the 10,000 player range.

You'd be impressed how fast computers actually are -- 10,000 objects isn't actually that many. Since the server knows where all clients know, the server knows what the client can see, and the server only has to update the client with relevant information, like the 100 closest players to it.

Post reply on HN