Search Unity

Third Party Best Networking Solution for RTS: Bolt, SmartFox, or Photon?

Discussion in 'Multiplayer' started by jpthek9, Jan 11, 2015.

  1. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    I'd like to hear other' opinions and suggestions on networking solutions for a multiplayer lockstep real time strategy game (MLRTS).

    In an MLRTS, there only needs to be 1 Network View and that Network View will sync between itself on all clients players' commands with a command queue*. Commands will be run at a predetermined frame for a synchronous system and guide 200+ units on what animations to play and what positions to move to. Communication will be done between clients with that Network View exclusively. Some needed features for an MLRTS are:
    1. Everything standard Unity networking can do (RPC's mainly)
    2. Controllable timeout system (So developers can implement their own latency control)
    3. Detectable statistics about clients like ping (So an adaptable compensation system can be implemented)
    4. (Not needed, but helpful) Matchmaking system
    Things like proper packet send order and packet loss detection aren't necessary as the confirmation system will be done on top of everything through RPCs.

    So far, I have tried out Photon Unity Networking (PUN) but it has not met my requirements completely. Regarding the timeout system, it automatically disconnects clients and does not let me implement a system in which users can continuously attempt to communicate in case of high latency. The server will automatically 'timeout' them, removing the user from the game and deleting all network instantiated objects. A way around this would be to reconnect the user but that would be inefficient and I would like to avoid it if I could.

    In my opinion, PUN is a great solution for games like FPS's and MMORPG's with decent support and handling behind-the-scenes networking necessities but I don't think it's made for MLRTS games so I would like to know more about my other options.

    Note: In addition to Bolt, SmartFox, and Photon, I'm also considering UnityPark's uLink which seems to have all the features I need. Is there anybody with experience with uLink?

    Thanks everyone in advance :).

    *A list of a custom struct containing information such as what command to execute and what frame to execute it on.
     
    Last edited: Jan 11, 2015
  2. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Anybody have experience with Bolt, SmartFox, or uLink? Any input will help my decision.
     
  3. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
    Did you try tweaking PhotonNetwork.MaxResendsBeforeDisconnect? From what you are describing I don't think you should have a problem with any networking product, lockstep is pretty basic. The synchronization part is the tricky piece.
     
  4. Lypheus

    Lypheus

    Joined:
    Apr 16, 2010
    Posts:
    664
    I ended up buying a license for uLink - it's quite slick. The API is very familiar if your coming from native unity3d networking. Community is strong and the team responds quickly, actively developed and maintained, allow for things Photon doesn't (i.e. ability to handle collision detections server side out of the box), has a ton of example scripts and helpers to get you up and running, etc...
     
  5. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Hi there! :)

    We are actually working on a cross platform networking system right now that is in Beta. We have Beta testers that came from SmartFox, Photon, Bolt, and uLink. We are constantly getting feedback from all of them in order to develop a system that fits their needs. Our rapid development cycle actually has us nearing a release date and we have added tons of features upon request. The project is large scale and we do have more than a one man team working on every aspect of the system!

    If you would like to try out the Beta, just send me a message! :)
    Forum Post: http://forum.unity3d.com/threads/su...rary-including-windows-universal-apps.286900/
     
  6. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Wow, I'm definitely interested in trying this out! I'll shoot you a message right away.
    Actually, I found this and it's working perfectly. Still, there's a lot of unnecessary data being. I'm trying to cut the data a bit by using events instead of RPC's.
     
    Last edited: Jan 25, 2015