Advertisement

Single shard MMO continued

Started by November 19, 2018 04:39 AM
1 comment, last by hplus0603 6 years ago

 

Continued from here....

 

Turns out I could actually get the $50k and built my own cluster across multiple machines with a total of 128 cores.

The development has continued since and I have to say the results are fairly pleasing.

The scaling was fairly successful and it will probably distribute out quite well.

My approach was very similar to sharded databases, and although I rolled my own I suspect I could have used something off the shelf I would know it in enough detail.

https://en.wikipedia.org/wiki/Shard_(database_architecture)

e.g. MongoDB. I would do something like have shards that hold limited information of a geographical area (e.g. positions of player). Only certain regions would be replicated (e.g. neighbouring regions). A simulation client that runs external to the database but on the same local machine would do the simulation and update the shards.

 

In any case I have rolled my own, and I think in terms of distribution its pretty good, of course the amount of interactions between entities will always be limited so I question whether its possible to use this for a massive FPS or anything like that but otherwise should support lots of entities.

 

 

I haven't seen anyone building a tightly coupled cluster on Beowulf, so that sounds interesting! Can you compare your use to other clustering solutions like kubernetes, or zeromq, or nodes-with-networking-in-mesh?

Also, how do you shard players onto nodes, and how do you shard entities onto nodes? How do you resolve player/player/entity interactions? (Who gets the loot first, or whatever?)

How far can you scale a "market square" where all players all want to be in the same place?

enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement