Advice required for our game architecture

Options
aog
aog
edited September 2014 in Photon Server
Hi,

We've been working on a game which will run on Unity3D and Photon server platforms. Our game will consist of several different virtual worlds.

According to our game logic, a group of players will select a predefined virtual world to play in. However, every player group will play their own games privately (independently) without sharing their virtual world with other groups. Every user group will have their own virtual worlds.
System should gets created a replica of the virtual world on the fly when a new user group decide to play a game which has already playing by other groups. Every group will be isolated with each other.

If we do not consider to integrate a lobby system to this kind of MMO game, it is necessary to keep a separate game server instance on one of hosts for every virtual world to handle user groups. Because, every virtual world have their own actors, game objects etc. But, it does not make sense to keep a running server instance dedicated for every user group on the host individually. I think, when a player logs in to play their game, system (possibly master server) should create the game server instance dynamically (if not exist) before redirect the user.

We would be appreciated if someone share his/her experiences and suggestions about this kind of architecture. Do we need to integrate a lobby system to the MMO architecture or something else?

Thanks in advance

Comments

  • Philip
    Options
    Hi aog,

    how big are your player groups going to be? And how much simulation work will your server be doing - meaning do you really need one server per group?
    If not you will be wasting resources.

    If I where you I'd plan to allow setting up n-groups on one photon server - if you do from the beginning it shouldn't be to hard.
    The rooms concept in Loadbalancing does that. The Loadbablancing project in our sdk has the structures you need to do what you need to
    support that:

    - creating a room on the game server with least load
    - you can add remove gameservers any time
    - you can restart the master, the gameserver state will be update quite quickly

    During operations you "only" have to monitor that you have enough gameservers.

    BTW: Loadbalancing is the core of our photon cloud.

    -Philip