Synchronization speed

Options
Do I understand correctly, that in comparison to PUN, synchronization of objects states in Bolt happening twice as fast because of p2p?

Comments

  • Yukichu
    Options
    I'm not sure many persons in this forum know how PUN synchronization of object states even work.

    Bolt - you can set how often you want it to send packets. Default is 20 per second, so if you game is running @ 60 fps, it's like every 3rd frame. You can, if you want, increase how often packets are sent. It increases overhead, but may work for your game / requirements.

    You can change the max packet size and whatnot too, but object states are 'eventually reliable' meaning there is no guarantee they will be sent the next time a packet is sent (maybe lots of events, whatever else, filled the packet size, other states, etc.) so it may not even replicate until next packet is sent.

    That's how Bolt works. No idea how PUN works. I can say, that other than a few quirks, I love how Bolt handles it. Wish list would be forcing all default values to be sent in the same packet, as there are rare times I had to wait to synchronize data from different values; however, tokens were added and mostly fix this for me.
  • IgorRazin
    Options
    I mean, that synchronization in the PUN occurs via a server to all clients, and Bolt from each client directly to everyone else. Therefore, the delay should be less than half, I suppose.
  • Yukichu
    Options
    That is incorrect. Bolt is inherently 'authoritative' in that whoever is acting as the server will relay all events / state updates / etc. A client only knows about the connection to the server - it never knows about connections to other clients.

    So, I suppose it's the same. Client -> Server -> Proxies (other clients) unless of course you are the client and server at the same time, then you headshot everyone.
  • IgorRazin
    Options
    Thank you for the answer. What then is the meaning of peer2peer in Bolt?
  • Yukichu
    Options
    Not sure what you're referencing?

    I presume it means that clients can talk to other clients; however, it is always going through the server (who can also be a client). They still communicate, so it's not misleading. Peers can communicate with other Peers, just not directly. Unless there's some documentation / statements somewhere claiming 'direct client to client communication' or something, then... no idea.
  • JohnTube
    JohnTube ✭✭✭✭✭
    Options
    Hi @IgorRazin,

    As @Yukichu mentioned, please if you find any misleading statements in the documentation do let us know.