Multi Layer, Multi Player Distributed (Cluster or Grid) Game Architecture
Multi player games have been very popular since last couple years. Game companies are doing a good job
on scaling multiplayer games. There are two architectures that supports interactive systems : P2P and Client Server
which in this case is Client Multi Server. Both of the architectures can be used for developing such games.
Using P2P, the players can have a copy of the Virtual World and players which are online at a certain time, and players can
receive other players action and movements from the other players machines, this case is player machines uses IP-Multicast
, drawbacks for this schema is usage of bandwidth, if the players dont have powerful machines they wont be able to join the world,
and IP-Multicast is not well supported.
Using Client Multi server is yet another architecture that can be used for Multi player games, In this model we have
synchronization problem, each player in the same world would need to have the same set of data, and there can be collision,
it would be hard to detect all these, and it would increase the latency etc. In order to avoid this, load balancers can be placed
in front of the game servers, but then the game servers should be synchronized. Moreover these servers should be either very
powerful or there should be several servers that are doing the same job.
Both of the approaches have advantages and disadvantages. It s obvious that the network should be layered and distributed.
A Grid-enabled Multi-server Network Game Architecture paper, indicates
a new approach using gamelets on Grids which is pretty cool. I would use that one.
References :
A Grid-enabled Multi-server Network Game Architecture
http://i.cs.hku.hk/~clwang/papers/Gamelet-submitted-02-24-2004.pdf
Layered Game Architecture
http://bnrg.eecs.berkeley.edu/~randy/Courses/CS294.S02/White2.ppt
