Extend photon cloud application

Options
sebas77
edited November 2012 in Photon Server
is it possible to extend the photon cloud server application?

Comments

  • dreamora
    Options
    Its possible to extend the LoadBalancing instance which is about the same but run on your end.
    But the Photon Cloud has no extendability, at least not in the regular version. You would need to use the private cloud.
    For questions on pricing etc related to that you best contact the support directly
  • thanks, what do you mean with private cloud?
  • dreamora
    Options
    The regular Photon Cloud which is offered on the store is a '1 fits all' solution, offering message relay.
    You can not implement any custom functionality or anything like that, your coding is limited to the client and master client side.

    In case of the private cloud, for which you need to negotiate with ExitGames directly, there they would run your custom server code side in dedicated cloud instances so you don't impact the regular cloud to my understanding. But I can't offer any further informations than that as the private cloud is not sold 'off the shelf', its a project to project thing.
  • Thank you for the answer.

    If I understand correctly, if I want an authoritative server, I need to rely instead on the master client? (unless I misunderstood the concept of master client)
  • Tobias
    Options
    The Master Client is not the host but the client who's is in the game for the longest time (lowest actor number).
    It can be authoritative but won't be an authoritative server.
    It can change.

    If you wanted actual server side logic, you can switch from Photon Cloud to the server SDK with the app "LoadBalancing".
    You can host this yourself or get in touch with us about a "Private Cloud" which we then host for you.
  • Thanks Tobias, I am just investigating about the Photon universe.
    I am sorry about the confusion of my terminology as well. What I tried to say is, since the (real) server cannot be authoritative, could I simulate a server/client structure between the clients themselves?
    A silly example is, if I want to work with the limitations dictated by the Photon Cloud and I want to make a game where people can shoot each other, who should decide if an actor has been hit?
    Does the client check itself with the bullet position and send its status to the other clients?
    In this case which node should be authoritative about the bullets position?
  • Tobias
    Options
    Don't worry about your questions. All is good :)

    If you want to stick with Photon Cloud, yes, the clients have to be authoritative. As always with coding, you solve this in very different ways and all have pros and cons.
    It's difficult to say: do this and you will be fine. Depending on your game, some solution might effectively not be the best...

    In general:
    If you make the master client (fully) authoritative, it has to check incoming values and send fixes for those, if some error is detected. Or if the master client is calculating the absolute health per player, it will only be updated after the master client did this work and sent the results.
    Usually, the clients simulate what most likely happened to show it. If some side decides that a client sent a bad update, then there will be a fix for that and your clients need to rollback, if they simulated the situation with the bad info (which was fixed later on).

    As said: The master client switches when the (former) master client leaves. So in principle, all clients should be able to make the checks. Or else the game breaks when the master client leaves.
    Because of that, I'd make all clients check and track the state. This should be deterministic (always the same result, no matter which platform or client or performance a client has). Still, only the master client should send fixes.
    Decide which events can be fixed and how this can be done when the fix arrives 1 sec late maybe (worst case).
  • great, last question then. What is the target audience of photon cloud?
  • Tobias
    Options
    Game Developers. Preferably those who do multiplayer games. :)

    We have a fixed feature set there which enables easy development of room-based games which don't need persistence (or games that do persistence some other way). It's for indies as much as for bigger titles. One (e.g.) has 8k concurrent players (in a lot of rooms).