Search Unity

  1. Get all the Unite Berlin 2018 news on the blog.
    Dismiss Notice
  2. Unity 2018.2 has arrived! Read about it here.
    Dismiss Notice
  3. We're looking for your feedback on the platforms you use and how you use them. Let us know!
    Dismiss Notice
  4. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Learn more.
    Dismiss Notice
  6. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  7. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  8. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Multiplayer Networking Solutions Review: Photon, uLink, DarkRift, Forge, and PlayFab

Discussion in 'Connected Games' started by jpthek9, Jan 31, 2015.

  1. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Hello community! I'm a hobbiest game developer who has a passion for competitive multiplayer games. For a high school project, I'm making a multiplayer lockstep BRTS game that loosely follows the networking framework of Age of Empires and Starcraft 2. In order to reduce bandwidth demand on players, all commands and confirmations will be facilitated by a server which is why I've looked into a host of networking solutions. This is somewhat of a chronicle of my journey through developing the multiplayer part of my game and the things I've learned on the way about the various tools I've used. I hope this helps other people in their quest to make their games. Without further ado...

    Photon Cloud: Photon is the most popular networking solution on the asset store for good reason. It's super accessible and provides an out-of-the-box multiplayer game that's incredibly easy to set up. Further into development, however, I found many pitfalls in Photon Cloud. During the holiday sale for Photon+, I became overeager and bought it to find out that it unfortunately wouldn't work for my game.

    Firstly, it's the large overhead. Photon's binary protocol is very inefficient compared to that of networking solutions like DarkRift. Of course, this provides developers easy reliable RPC's but at the cost of lag and high bandwidth.

    In addition, Photon Cloud servers don't allow custom server logic. This makes it impractical for many games. For my game, this means I can't have a server that processes commands and confirmations. The server would be 'dumb' and relay every single command and confirmation very inefficiently. This is made worse by the high overhead so much so that my game ((12 players, 2 commands + 2 confirmations)/second) would be impossible for anything but the fastest of connections. There are other problems with Photon Cloud explained here.

    The only way to run custom logic is to modify the server sdk and host the servers yourself so I proceeded to do that. Implementing what I needed turned out to be a very difficult task as the documentation wasn't very clear. For a while, I wasn't sure which script to edit or how to call my custom operations but eventually found out through the great support of its community. There's also the pricing issue. Developers have to pay $3500 to have over 500CCU which many successful games need.

    Photon does have merits though. Creating and joining rooms is as using a single built-in function. There's in-built load balancing on the Cloud for efficiency of room instances. Photon is extremely easy to set up and the team is very helpful to you for your first stages of development. Photon turned me from a person clueless about networking into someone who knows how to set up a decent multiplayer game. It's what I can call my gateway to networking, and I recommend it for anyone wanting to prototype or learn how to make a multiplayer game.

    uLink: I've only worked with the trial version of uLink that doesn't include the game managers uLobby and uZone. I can say first off that uLink isn't hobbiest friendly at all, costing upwards $600 for all the essential features. I wasn't able to test the server distribution system at all so all I got to do was play with the example locally.

    The main thing going for uLink is that it runs in Unity instances. This means you can have servers that simulate physics, player interactions, and everything about a game. Cheating can be 100% done away with. This is especially necessary for large scale games that have to provide players with fair play.

    uLink has been tried and proven by games such as Transformers Universe and Shadowgun: Deadzone but I'm hesitant to extrapolate the same potential success and appropriateness to my projects because these were created by large companies with specialists. There's no telling how much of the out-of-the-box functions of uLink apply to them.

    For my game, uLink won't work or rather would be inefficient because my game only requires the server to process commands and confirmations in pure .net logic - no simulation required.

    Update: uLink now has a trial version! I haven't gotten to using it since I've stuck to DarkRift but don't let my review stop you from testing it out for yourself.

    Forge: uLink definitely fills a niche in Unity networking by allowing for authoritative servers but there's a rising star that might be competing for the same niche.

    Forge is a very new networking solution currently in its Beta stages. There's a lot of community support for this because of the potential in it. Like uLink, it runs in Unity instances and so can simulate physics, players, etc. and prevent cheating. I've tested it and it works like a charm. It's multithreaded so is very performance friendly - expect to be able to host many instances on a single computer, all managed by an aptly named extension called The Arbiter.

    The primary developer has hinted at database integration which means accounts, player stats, and more for all! In addition, future plans also seek to take authoritative servers a step further by providing a cloud to run Forge on.

    Recent developments have created a bare metal server that can be run just as efficiently as Photon or any other .net based server solution.

    Update: Upon further exploration, I found that Forge is, like DarkRift, is event driven. In addition, there are many built-in pieces of functionality that come out of the box. Easy to use, efficient, and limitless! A bare metal version is also going to be released soon that gets rid of the overhead of Unity instances for those games that don't need physics or simulation. Forge is one of the most ambitious and complete networking solution. I can't even imagine how complete it will by its final release. It turns out Forge is the right one for me.

    DarkRift: To me, DarkRift is like Victoria in How I Met Your Mother. She is almost 'The One', so close that it's tragic she isn't. DarkRift is incredibly fast, creating only 13 bytes of overhead in an operation and writing custom server logic for it is as easy as coding my game client side. It's built in C# and has a very intuitive API for both server and client. I could see from the start that this networking solution was built for making plugins. Unfortunately, because of the extreme flexibility, this solution doesn't come out-of-the-box with many features other networking solutions have like RPC's or rooms. This is why it was nearly perfect for me, because the RPC's and room system could be built from the ground up to accommodate my game.

    Writing server plugins might seem like a daunting task compared to plugging in an IP address or a Cloud validation number and clicking run but it's incredibly easy. I was able to get a room and matchmaking system that was completely built on top of my lockstep system up in an hour. Plus, the plugins are made to be shared (I can send anyone my lockstep plugin for DarkRift if they need it).

    Not only is DarkRift exceptionally fast in bandwidth, it's also fast in performance. It's super efficient and uses only between 0.0% and 0.1% of my CPU when idle and scales very well so if you need a fast, flexible, and lightweight server solution, DarkRift is the way to go

    The only problem is that DarkRift isn't very big. It's made by a one man team and so doesn't have access to some extraneous features like an integrated Cloud or a prosperous community. Regardless, the documentation is very clear and got me coding my own plugins within 20 minutes of opening the 'Getting Started' PDF. The author has been extremely responsive to my requests for features and information. This is an asset that deserves to have just as much community support as the top in the store and it's a shame that it doesn't.

    This is an asset that will give your game the fastest possible multiplayer and lightest weight servers. Hopefully in the future, a dedicated community will flock around DarkRift and a variety of open source plugins will crop up. It's gotten this far with 1 person - how far can it get with a community?

    Conclusion: There are many other networking solutions out there that aren't listed but are still valid. There are also many types of games that need different back-ends. Small-scale MMORPG's could make use of Photon's dedicated servers and sufficient operations. FPS's could use Forge or uLink for authoritative servers simulating events and actions for a cheat-free environment. Games like mine, ones that require specialized data processing, should definitely go for the more flexible and lightweight ones like DarkRift and Forge.

    DarkRift and Forge are neck to neck in flexibility, performance, and ease of use but DarkRift is the winner in bandwidth efficiency. Forge will provide you with more out-of-le-box features so if you're new to networking, I would recommend trying out the Beta. If you've got an arsenel of c# skills, give DarkRift a shot and you might fall in love with it as I did!
     
    Last edited: Apr 28, 2015
  2. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    930
    Thanks for the kind words and all your help with future development! Looks like I've got a lot of work to do!

    Jamie (that one man DarkRift team ;)
     
  3. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    305
    As I want to re-iterate what I said on our forum post.

    This is a great review for everyone to look at for Multiplayer solutions currently. We are still in development and keeping our heads and ears up and running as much as possible so that we may fill the needs of the many. Thank you for taking the time and mentioning us, glad that this is out there so that people can have an idea of solutions that are out there currently and what is still being worked on. :) (from the Forge team)
     
    libra34567, Westland, gsabran and 3 others like this.
  4. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121
    used most of them and i agree,
    not all fit the needs for every game, so depending on the game needs.

    now, there are more unity networking plugins that were not mentioned,
    free open source:
    -massivenet, runs inside unity server instance like ulink or Forge, tailored for mmos seamless large open worlds, (no room based games tho).
    -PNet c# console standalone unity networking like server for room based games .

    commercial:
    -smartfox server java server for mmos or roomed based games.
    -electrotank, same as smartfox,
    -Tnet c# server for room based games works like photon cloud like a relay where clients are authoritative, but you can host anywhere and no monthly fees.
    -appwarp, nice java server like smartfox but cheaper.

    and much more.
     
    jpthek9 likes this.
  5. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121
    I am confused about PlayFab,
    last i read about it is not an actual networking engine, is more lika a backend-as-a-service
    for storing and retriving stats, right? or am i confused?
    as far as i know you still need a networking engine to be able to run multiplayer games.

    maybe i am wrong about it, since i dont like anything that has to do with highjacking my user base db and still pay them a monthly fee, that is why i have never used it.
    what i mean is i like to host my own servers and dbs where i want.
     
  6. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Oh, thanks for mentioning those. I think after I find some time I'll try out those other networking plugins and scribble about them. It'll be a great learning experience.

    Actually, I just found out I might be able to use DarkRift with PlayFab. The world has become perfect! I made a wrong assumption. You're right, PlayFab mainly provides the account and database back-end for your game and the networking solution you use with it is up to you. Yeah, it is kind of scary for another company to manage your data but they've already helped produced some notable games and have proven their trustworthiness to me.
     
    Last edited: Jan 31, 2015
  7. bjornrun

    bjornrun

    Joined:
    Oct 29, 2013
    Posts:
    86
  8. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    I've never worked with Bolt before but it sure does look like it has many cool features.
     
  9. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Cool reviews!

    You do mention Photon Server, but you really should look more into it. It is awesome! Takes a bit time to get into the framework but then it does everything you need for your game!
     
  10. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    I love how Photon can automatically match players into rooms and how easy it is to send an RPC. The OnSerializedPhotonView I can see be useful for small FPS games. There are two main problems though: 1. I can't run custom code on the Cloud and 2. there's high overhead. #2 can be dealt with by implement clever server logic but #1 is fatal.

    I think just to take advantage of the ease of use of Photon Cloud, I would use it if it allowed me to upload custom server code but that's unfortunately not the case. As I've mentioned before, it would be nearly impossible to network a game with that much overhead per operation without custom server logic (by my calculations, upwards 20 KB per player).
     
  11. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    I am not talking about PUN/Photon Cloud but Photon Server.
     
  12. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Oh, sorry I misunderstood. For just the server I'd rather use DarkRift. Creating a custom operation is as easy as adding a method to a delegate. Plus, there's a lot less overhead being sent.
     
  13. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    What overhead did you get with custom events/operations on Photon Server?

    Was pretty effective when we used it on a real-time game at a game company i worked at. Also Photon Server offers great load-balancing and more right of the bat. Overall when you get used to it, it is pretty easy to use.
     
  14. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    What kind of game did you make? The overhead I'm talking about is the wrapper for 1 reliable packet. ~50 bytes going and and 24 bytes coming back.

    My game requires about 2 commands a second, each command consisting of a send and an ACK message back for 12 players. This ACK message is separate from Photon's ACK and so requires yet another operation sent out. Without custom server logic, this can get pretty hectic but with custom server logic, clients will only have to communicate with the server and both server and client can aggregate packet sends.

    Anyways, I just don't see the big benefit of using Photon over DarkRift. The major thing is the matchmaking system but I have to set up a custom one with ELO anyways.
     
    AdmiralThrawn likes this.
  15. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Again you are confusing PUN and Photon Server?. There is "no" match making as such with Photon Server, you can get some help with their Lite and LiteLobby system, but i always wrote my own matchmaking.

    Code (csharp):
    1.  
    2.  
    3. // CLIENT SIDE (UNITY) CUSTOM MESSAGE - JUST SENT A BYTE,OBJECT DICTIONARY WITH BYTE THAT //DEFINES MESSAGE TYPE
    4. public void SendCustomMessaage(Dictionary<byte, object> info)
    5. {
    6.       Peer.OpCustom((byte)OperationCalls.CustomOperation, info, true);
    7. }
    8.  
    9. //CUSTOM PHOTON SERVER SIDE LOGIC - PART OF A SWITCH STATEMENT
    10.  
    11.                 case (byte)Requests.Chat:
    12.                     {
    13.                         if (!data.ContainsKey((byte)Data.ChatMessage))
    14.                             return;
    15.  
    16.                         string message = (string)data[(byte)Data.ChatMessage];
    17.  
    18.                         EventData eventData = new EventData((byte)Events.Chat, new Dictionary<byte, object> { {                       (byte)Data.ChatMessage, message } });
    19.  
    20.                         foreach (GunjitsuClient gunjistuClient in GunjitsuLobby.Instance._players)
    21.                         {
    22.                             gunjistuClient.SendEvent(eventData, sendParameters);
    23.                         }
    24.                     }
    25.                     break;
    26.  
    27.  
    Pretty easy to pack a byte, object dictionary and use it server side. Never tested it but don't believe this has a high overhead.

    Oh and it was a soccer game for 2 - 20 players per game (with 20 players each controlled one player each), updating the players at around 15 msg/second each i think.
     
  16. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    The only version of Photon I've tried is the one on the Asset store and the server SDK on their website. The asset store version is compatible with both Cloud and self hosted servers.

    One thing is I don't need to send a dictionary. I a pack all commands in a single long integer that scales to be a short or int if small enough. Like I said, I know I can get it to work with Photon but I have better options.

    I'm actually considering maybe picking up Photon again once the integration with PlayFab finishes.
     
  17. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Ah yeah Photon Server is not on the Asset Store, it is a completely different beast! And you can send a short int if thats what you need to do.

    It is one of the best C#/C++ frameworks for custom servers out there (personally i don't know a better one).

    https://www.exitgames.com/en/OnPremise
     
  18. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Yeah, I've taken a crack at it after finding out the Cloud wouldn't work for me. I still prefer DarkRift's customization but it's probably just a personal preference. Anyways, the bandwidth efficiency wins it for me.
     
    Last edited: Feb 1, 2015
  19. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121
    yup, same here, i just dont dig photon standalone server and even worse the cloud, it is just a joke to my taste to relay messages only and leaving the client exposed for hacks and cheats., plus is so damn complex if you want to use the standalone server, plus is expensive their license model,

    last i checked was like 4k for 1 server only,
    you cant do much with one server if you try to host a mid size game.
    the server comes bare bone, minimal features, you have to code everything from scratch, some of us dont really have time for dealing with that, rather use the time to create your game instead of writing core server features.

    you get 100 free ccu, but cant do much with it. you have to pay their asking price if you want to do more then that,
    also, another reason is that is a window only server, no multiplatform.

    photon has so many cons than pros for me, i rather use something else instead.
    nothing personal against it, it just not a bit appealing for my taste. sorry.
     
  20. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,207
    no one can review bolt ? its sound something very promising, im actually using Photon server for a project but i will probably switch on bolt on next project, im interested in any information from people who have battle tested bolt on their game.
    I found it a bit difficult to start, but its probably a biased opinion as im more experienced with photon and the method to sync event are a bit different.
     
  21. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    That is fair, taste is subjective!

    However on Photon Server:

    It is 25$ + server cost for 500 CCU. If you got around 500 CCU constantly you have a player-base around 200K active monthly users. If you got that the price is no problem at all. And until you get more than 100 CCU active users its actually free!

    It does got a steep learning curve if your never worked with something like it before or you are a hobbyist programmer. But when you get into it it is pretty simple. Of cause not as simple as Photon Cloud, but this is a tool for people who are serious with their games. It is SO powerful and can be used for all types of games. It's been used for fast paced FPS to MMO's, its proven, stable and got features that lets you easily expand once you got success.

    But yes it is more work as you need do your own server side collision and more (there is help out there for that), but then you don't have to run each game in a Unity Instance, so with a lot of users it is more cost effective.

    Enough rambling about photon! People might start to believe I work for them haha :D
     
  22. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Actually, Unity's physics is highly optimized (probably more than anything an independent developer can create) and you can easily start Unity instances headlessly (accepting no user input and presenting no graphics) which is just as efficient as running Photon's load balancing.

    I've actually started using Forge for my project. Upon further exploration, I found that it has just as much flexibility as DarkRift as it's event-driven. Performance is of no concern; simple server logic results in no more than .6% of my CPU usage.
     
  23. farrisarts

    farrisarts

    Joined:
    Jul 13, 2012
    Posts:
    881
    Well the good news is that we are going to be offering "Forge Bare Metal" in the beta as well. This is a server that runs without a Unity instance so that if you are doing a pure messaging based game/application and do not need anything from Unity, you can use this no-overhead solution :)

    We love options :D
     
    Last edited: Feb 1, 2015
    Meltdown and jpthek9 like this.
  24. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Clearly you have not worked with Photon Server. A game(room) is just a class instance that run all logic. You can run 100's of games on one server. Load-balancing is not important before you have more than 100's of CCU and need to have multiple servers. Loadbalancing is for sending people to new servers when one of your servers is full, so you can just open new servers as you grow.

    And i know for a fact that a class instance is not as heavy as a headless instance for each game. And i played with Forge too, and already started creating my own load balancing. But thats not something it got out of the box.

    Unity's physics is PhysX and is not even at the newest version. Its getting updated in 5.0 though.
     
    Last edited: Feb 1, 2015
  25. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Thats awesome!
     
  26. farrisarts

    farrisarts

    Joined:
    Jul 13, 2012
    Posts:
    881
    I would like to note the scaffolding for this is in place and will find it's way into the system very soon :)

    :D We needed it for something we were working on ourselves and we saw that others were wanting this flexibility too. So, as we have always done, we work to make the system as powerful, flexible and easy to use as possible from as many perspectives as possible :)
     
  27. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    I'm not sure why you assume I haven't worked with Photon because I have - I had my entire lockstep framework set up on Photon at one point. There's little benefit to using Photon over other, more efficient networking solutions. When you can run 100+ instances on a single machine, the differences become negligible (I don't think I have even enough bandwidth to support that many instances).

    Even so, I'm very glad there will be a bare bones version. This is more proof of the capability of Forge's developers as well as matching (if not exceeding) other networking solutions.

    My main point is that it would be more efficient to do simulations in a headless Unity instance than with a custom physics library (painfully) integrated into the server SDK. Besides, authoritative server attempts with Photon by both developers and the authors have failed so there's you don't even know if it can work. Photon definitely has its uses, but it can't be something it's not.

    As for the 100CCU, it is useless except for trial (thank goodness). To have over 500 CCU which many games need, the developer will has to cough up $3500. Their tiers of licenses seems like a ploy to take money from any game unfortunate enough to be successful.
     
    Last edited: Feb 1, 2015
  28. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121
    i am not sure about that, maybe i did not read correctly, but once i read in a few articles of existing mmos and their experience with users and most of them mention that usually 10% of your userbase are connected at any gicen time,

    so if this stas are correct then 10% of 200k users are around 20k ccu online.

    not 500.

    i may missread the mmo articles or got the numbers confused, but so far that is how i understood.

    so if one game has around 500 ccu at any given time, then it may mean that the total userbase count might be up to 5k.


    like i said i may be wrong, so dont belive what i thought i read about mmo stats articles.
     
  29. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    I assumed it because you said earlier you only tried the one on the Asset Store....
     
  30. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Yes, and in the same sentence I said I used the server sdk from the website.
     
  31. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    MMO's might be a bit higher than other games. But lets take Guildwars 2 as an example: https://www.guildwars2.com/en/news/guild-wars-2-the-first-year/

    At their record peak, and this is at a single occasion they at a bit below 15% online.

    But lets say your game for some reason got a constant 20% CCU of the player-base on then you need to sell 2500 games. Now lets say you earn 10 dollars per game then thats 25000$. You can now buy a unlimited CCU license and still keep 21500$ for wages, server cost and so on.
    Now if you used the free 100 CCU license then you need to sell at-least 500 copies to fill that. You would get enough money using the free license to buy the most expensive one they got.

    But do you think that if you had 500 players then 24 hours a day at-least 100 would be on at all times? Thats highly unrealistic. So you could probably make a lot more money using the free license.
     
  32. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    My bad then, you were just talking about the overhead of RPC's and such. And as there are no "RPCs" with the server package it seemed a bit weird.
     
  33. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121

    I think you are a bit off on your calculations,
    none of us can not compete against bigdogs studios like arenanet, blizzard etc,,....

    we are being realistic, we are independent game developers ,must of us are not even a team of 2,
    therefore fundings are coming out of our own pockets from our primary day job.


    we all share a nice dream and we all use what is at our reach,

    if one of us releases a playable multiplayer game, our only hope for succeed is to offer it free to play,
    100 or 500 and even 10k can take place overnight if your game is a little bit decent.

    tell me,
    how you gonna afford a 4k license fee for photon with your paycheck,
    you still have to feed your kids and wife.

    so, what i am saying, maybe you do have the resources to buy a photon license.

    but not most of us, or at least myself.

    hence we all gother here and get exited on what we can afford and what others can offer that fits our pocket range and our planned project.


    we know you like photon and i am happy for you,

    but we want to move on forward to our needs and availability to reach them..

    so thank you again for being an ambassador of photon, but we all used it and most of us would like to put that behind and find our one that best fits our needs and budget.

    thank you again.

    best of luck on your project.
     
    MortePCAndVR likes this.
  34. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    I created a game that will be on steam in a not to distance future. Its multiplayer but not free to play (very cheap though), so lets hope i can get some buys anyways ;)

    I would say free to play is a lot bigger gamble than paid niche games. If you create a free to play game that gains success overnight, but your in-game shop does not work (wrong design) then your can come in huge financial problems because you will suddenly get huge server (bandwidth) bills! With paid games at least u won't get that traffic before people paid. Overall if you have success then networked licenses is not your problem, server costs are.

    Actually worked a bit as a volunteer programmer at a company a few years back, on a free to play game to get some CV. It did not succeed but did in a short period have an okay amount of players online. Trust me, the server costs can be insane ;)

    Video of the game :)



    And yes i like Photon, but i also like other solutions (playing with Forge at the moment). Just think people are making weird claims about Photon :)
     
    ZJP likes this.
  35. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    That looks like a fun game! Great job! I guess I was being a bit harsh on Photon mainly because my Photon+ purchase isn't worth anything to me. They do have their merits.
     
  36. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Well you always have it laying around for other types of games :)
     
  37. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Ah, that's very true. I can imagine how prototyping a game with Photon would be super easy. Just drag and drop that networkview and observe the transform.
     
  38. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121
    exactly, #1 reason to avoid photon, very large BW overhead.


    I sure would not like to pay 3,800 usd for 1 server license for photon up in front,
    BW cost are my main concern so dont want extra 4k in top of that to worry about.




    no need to trust you, been managing them for the past 14 years (web servers from webhosting company i work for)
    even tho too much difference between web and game servers but prices for BW were excruciating back in the day.
    hence i know how much it takes to run a game server , which has forced me to stop using photon and run as fast as i could and never look back. :)


    Actually not weird claims, to me are valid and tangible claims that for my game project will suck me dry before i even start my first couple of close beta testing days.

    unless you willing to pitch in with a good donation to my project, otherwise i need to get my feet as close to the ground as possible to even get a shot at the product launch. :)

    you mention you been there so i assume you know what it takes, to get a shot at it and trying to not fail without even starting.
    again, getting rid of photon was my first step to not fail, so now i got to think step to not fail before even start. :)

    cheers mate. happy deving
     
    jpthek9 likes this.
  39. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Note: I made the reviews (especially for Forge and DarkRift) more up to date with what I know about them and removed the PlayFab review because it's not a networking solution.
     
    Last edited: Feb 2, 2015
  40. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Overall fair post.

    But this BW claim is based on what? Yes their RPC's in Photon Cloud has some overhead, but as far as a know thats not a problem with the Photon Server Solution. It is this claim that has annoyed me and why i defended them.

    And thanks :)
    Good luck to you too!
     
  41. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,151
    If you just need to write server side logic and do some basic message passing why even use any of these? You can write your own socket server fairly easily or base it off Lidgren/Enet/etc. so you don't have to rewrite the reliable udp piece.

    One thing I don't like about Photon Server SDK is it uses a C# API, perhaps makes sense if you code only in Unity but I much prefer running Linux servers and don't want to run it from Mono.
     
  42. farrisarts

    farrisarts

    Joined:
    Jul 13, 2012
    Posts:
    881
    Microsoft has opened up .NET framework to be open source. Because of this, we will see Linux and Mac running C# natively in the future without a doubt.
     
    MD_Reptile and jpthek9 like this.
  43. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Both Forge and DarkRift have options to send minimal data event based so one might as well take advantage of the free and easy to use integration.
     
  44. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    1,968
    @jpthek9: I am sorry to read that you couldn't use your PUN+ purchase in your game. PUN is not built for lots of players per room. We know that but it's a shame we didn't communicate this to you clearly enough. Maybe the Asset Store can do a chargeback. We wouldn't object but we can't initiate that either.

    PUN is deliberately very simple. It even hides most of what Photon can actually do, just to re-implement Unity's networking solution plus some extras. Bandwidth is not the primary concern in this scenario. We didn't notice the interest in low bandwidth solutions.

    Aside from that, I would be careful to compare a managed and loadbalanced solution to self-hosting servers. Of course you can run your own logic when you host yourself. And things never run smoothly when you need it most, so hosting is not always piece of cake. Especially when your game becomes popular.

    Picking a solution is a matter of your ambitions, your expectations and where you want to put your time.
     
    Last edited: Feb 2, 2015
    jpthek9 and GregMeach like this.
  45. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Thanks for the sincere input, tobiass. I've concluded that I was a bit harsh on Photon and it does have its merits like a very convenient Cloud. I do, however, highly recommend allowing developers to run their own code on the Cloud. This would make many games practical to use on Photon's cloud.

    For example, if all my clients had to send each other messages and confirm them back, there would be too much information going around for anyone to handle both for the server and the clients. If, however, my clients only sent messages to the server and the server collected and checked that all clients have successfully communicated, there would be no more than 1KB (10 events to the server; 10 back from the server a second) of bandwidth for the players and 5KB of bandwidth for the server. For many games, this would also reduce server costs per CCU, helping to increase profits and possibly reduce prices.

    Another piece of feedback I have is about the flexibility of Photon. I really enjoyed using DarkRift and Forge because I was given so much power and control over the multiplayer part of my game - I could hook onto events and send minimal data in a byte array I could interpret myself. I'm not sure if Photon has these capabilities, but from all the questions I've asked on the forums, I haven't found them.

    If these 2 things were implemented, I would've made use of the 100 CCU and stuck to Photon. They're not things that can be compensated for by convenience. They're the most crucial parts to development with a networking solution in my opinion.
     
  46. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121
    @tobiass,

    hi tobias, i receive a pm from you, so i thought to reply publicly since we are in the same discussion boat,

    just want to confirm that i have nothing against photon or the crew behind it.
    photon is a good product, but from my needs and limited budget it is not a viable solution atm

    the reason were discussed in above posts.

    i am very familiar with photon since it was my first choice like 5 or 6 years ago when i was getting into unity networked games. back then it was between the only available networking plugins for unity, photon smartfox among others.

    luckily later starting to popup several other networking plugins commercial and or open source,
    been testing as many as i could and some good, some bad some better than others,
    the deal is the most did the job, some are fit to a particular genre style game etc. so that was the good thing , one has the option to pick the one that better suits the needs and features,
    fortunately most of new networking rising stars were under the $100 price range.

    so it is like very affordable delicious lunch buffet for must of us working class individuals. some even open source mit etc..... :)

    so as you can see we just looking for best choice and affordability for our needs.
    those days where one had to remain with one provider because were the few decent ones around the block are not anymore

    now, i am not saying photon is bad or less, nor am i spamming all over or in your forums why not to use photon.
    all this happened due of your ambassador, he was pushing real hard to get us to use photon again. so we stated why we rather use some other solutions.

    but everytime felt like when you step out of your home front door there was a persistent salesman that do not go away, lol.

    anyways like i said before, nothing personal against photon nor want to disrespect anyone.
    just looking for an affordable solution for my project and i really would like to decide it myself and not because someone advised me.


    ohh, to answer your question from your pm,
    my price point for photon? or which case is too expensive?
    I dont have an answer for that, is not my product so i would not know, sorry.
    but i do know one thing, now adays with the many networking plugins available for unity, i myself would not spend over $100 usd for a networking plugin for unity.
    even tho most run around %45 to $75 average.
    and most do a decent job, some of the good ones for open world mmos run for free :) open source.
    badumna, massivenet, kbengine among others.

    but some of us like a little support every once and a while and feel backed up incase we hit a wall, that is why some of us choose a commercial solution.


    best regards to you.
     
    Meltdown and tobiass like this.
  47. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Guess thats me :D

    What you guys misunderstood is that i did not try to push anyone to use anything. I will not even use Photon for my next project, but people was claiming stuff that was incorrect about large overhead and what photon could do and not do.

    That's not fair to ExitGames or people who are looking into solutions for their project. They might see a post stating something false and then drop it even if it would be something thats perfect for their project. Stuff like that bothers me thats all. Probably going for Forge for my next game ;)
     
  48. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
     
    Last edited: Feb 3, 2015
  49. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    1,968
    @GraphXCreations: Thanks for your reply. I don't want to be the sales guy that doesn't go away - I was really curious what price you expect.
    I know it doesn't apply to your case: Photon Cloud is a service with dedicated servers instead of being an in-Unity solution with random-user-hosting. Of course the price is different. It's not the same tool.
    Now I'm leaving you alone as requested ;)

    @BFGames: Thanks for defending us. I know you don't push it but you need to make sure everyone else thinks the same no matter which post they read from you.

    @jpthek9: We do have a Free version and it runs on all platforms that Unity allows. It's not like you can't test this thoroughly and I do think it's unfair to simply state "it's ok for all but the simplest games" (quoting the undertone).
    Please try to get a refund. It's no problem, really.

    The original post contains a misunderstanding about the pricing: The Photon Cloud has no price point that is $3500. That is the one-time price of a Photon Server License. Our "StartUp" license is $750 and includes any number of servers and CCU you want for 6 months. When you game is successful and you run lots of servers, yes, we have to earn some money too.
    The Photon Cloud has monthly subscription prices (we do run servers for you). To support over 1000 CCU (approximated 400 Monthly Active Users!!) it's $169 a month. And you never have to rent or ramp up any server. And: If players leave you can reduce the CCU.

    We will look at your feedback and work on the known issues. Maybe at some point it becomes a good choice for you.
     
  50. jpthek9

    jpthek9

    Joined:
    Nov 28, 2013
    Posts:
    944
    Sorry for the harshness in my post. I changed it to lose the undertone and be more objective. Anyways, can you give me more information as to how I can get a refund? I have a PayPal account and can promptly request money if that works for you guys. It's $45 because I got it during the holiday sale through the asset store. Is there anybody I should contact specifically?
     
    Last edited: Feb 3, 2015