New to Photon: tips for asynchronous gameplay

Options
2»

Comments

  • gnoblin
    Options
    I'd like to have a look at the most up-to-date example about interest regions & items.

    Which one is the way to go: Wingrid demo, Unity Island demo? :oops:

    thanks,
    Slav
  • Boris
    Options
    gnoblin wrote:
    I'd like to have a look at the most up-to-date example about interest regions & items.

    Which one is the way to go: Wingrid demo, Unity Island demo? :oops:

    thanks,
    Slav
    they both use the same server and most of the same client classes, you usually look at both at the same time.. wingrid alone would be enough though and it is a bit more light-weight than loading the whole island
  • gnoblin
    Options
    A question about statistics :).

    I'd like to collect lots of different data in my game:
    1. Generic things (average daily ccu, how many players played the game only once and never came back, did additional money spent on marketing produce a desirable result or not etc).
    2. Game specific things (how often a particular weapon is used by players, which areas of the world are never visited, etc).
    3. Monetization\shop related stuff (what people buy inside the game, what people don't buy, etc).

    After collecting the data I would also need to have the ability to look at pretty graphs with numbers 8-).

    So, how should I approach the problem: extend dashboard widgets \ use Photon's built-in stuff for this (if yes - then any additional hints for that are greatly appriciated) OR integrate something like google analytics of piwik (http://www.piwik.org) for that?

    thanks,
    Slav
  • Boris
    Options
    you can use the photon dashboard for the graphs, but if you want more you are probably better off integrating another product like you suggested.
    to add new counters to the dashboard see how Lite does it:
    // LiteApplication.cs
    CounterPublisher.DefaultInstance.AddStaticCounterClass(typeof(Counter), "Lite");
    
    // Counter.cs     
    [PublishCounter("Games")]
    public static readonly NumericCounter Games = new NumericCounter("Games");
    
  • gnoblin
    Options
    If I have a prototype game server - how to test how many ccus are going to be the limit for it on current hardware?
    Any hints are welcome!

    Are stardust sources available anywhere?

    thanks,
    Slav
  • Boris
    Options
    The stardust sources are not available at this time.

    But this is how stardust does it:
    - One PoolFiber for each client
    - ScheduleOnInterval to simulate a gameloop
    - send operations/events how your game client would do it

    Note that if your client runs into problems (queues filling up, disconnects) it may be because the client gets overloaded with messages; a single machine running many clients has much more load to cope with than machines that run just one client. This is especially true for shooter like games with 10 players or more in a room.
  • gnoblin
    Options
    I get an error
    System.IO.InvalidDataException: cannot serialize(): System.UInt32
    does this mean that I cannot send unsigned int variable in my event?

    thanks,
    Slav
  • gnoblin
    Options
    I get it in the server application logs
    [19:57:57] [Thread: 17] [ERROR] [Photon.SocketServer.ErrorHandler] System.IO.InvalidDataException: cannot serialize(): System.UInt32
    в Photon.SocketServer.Rpc.Protocols.GpBinaryByte.GpBinaryByteWriter.Write(IBinaryWriter writer, Object value, Boolean setType)
    в Photon.SocketServer.Rpc.Protocols.GpBinaryByte.GpBinaryByteProtocol.SerializeEventData(EventData eventData)
    в Photon.SocketServer.EventData.Serialize(IRpcProtocol protocol)
    в Photon.SocketServer.PhotonPeer.SendEvent(IEventData eventData)
  • Boris
    Options
    right now you have to cast it to (int) before sending it. You can then cast it back to uint on the client.
    We might add unsigned data types to our road map if we see frequent demand for it.
  • gnoblin
    Options
    Is there a way to check if my Photon server is online? (except for trying to connect to it)
  • Tobias
    Options
    What exactly are you looking for? Something like a "status" on your webpage?
    You can either try to connect, or you could turn it the other way around: Add a thread to send an "alive" message to somewhere.
  • gnoblin
    Options
    Yes, something like a status message.
    "Alive" message sounds OK - thanks for the tip!