Search Unity

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

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

  1. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    That is not at all true. It would not make any difference. There's real reasons developers don't make everything open source.

    It doesn't really matter what people want. People have always wanted tons of Unity features or Unity itself to be open source. That's not what the company does though. They decided early on to always remain closed source on everything.

    In fact, I'd be more willing to believe Unity doesn't care at all what the people want, than anything else. I'll argue that point too, because I honestly believe it. They take what people say into consideration, of course, but they decide almost exclusively the direction THEY want to go in. And that direction is more often than not contrary to the community (at least early on, anyway. Most early Unity projects were 2D games & 2D mobile games. Yet they just pressed for 3D every step of the way.)

    This is evident in so many areas. The 2D features were heavily demanded since Unity's inceptions. They didn't appear until Version 4.2. That's insane. Nested Prefabs have also been a request since the beginning. Still nothing. Bugs were reported 4 years before being fixed, with multiple threads about the issues. They didn't care then, no reason to think they'd suddenly care now. Hell, the documentation alone is just now seeing changes / promises of improvements. You know how long people have complained about it?

    You live in a fairytale world if you think more people pushing for LLAPI to be open source would matter in any way. And you live in another universe entirely if you think the semantics of "Open Source" versus "Full Source" would somehow revolutionize the entire IT industry. That is incredibly absurd.

    That wouldn't surprise me. There is A LOT of money in gaming. Hidden profits Trump everything, especially what is ethical, quality, or correct.

    That isn't why. There are hundreds of reasons that could be considered as to why, but I can guarantee you this is not at the top o the list. Try again.

    See, here is your problem. You claimed there are so many open source networking solutions for Unity. All while thinking of networking solutions that aren't native to Unity. People want something native to Unity. Whether or not they SHOULD care is irrelevant. The Unity community wants Unity supported assets. Doesn't matter if they could integrate all kinds of third party non-unity assets. Those don't count to them.

    This example sums up the mindset of the majority of Unity users: http://stackoverflow.com/a/19399016

    (Read the comment)

    Whenever someone hasn't done something great, and there doesn't seem to be a reason why they wouldn't... you can rest assure
    • There is a reason no one has. (99% Chance this is it)
    • No one is smart enough to see the obvious. (1% chance - Rare Case Scenario. Applies mostly to game design, not technical reasons.)
    While it's simultaneously true that there are thousands of developers, there are also not very many developers. The IT world is huge, with incredibly high demand & huge opportunity. This means that although there are tons of competent technical persons, they are diced up into thousands of pieces (companies, projects). So what you're left with is:

    • Great opportunity in a niche area (The reason no one has done it. There just not enough people to do it. Everyone who could, is doing something "better".)
    • Great progress in broad areas of development. (Areas of development / progress where you have lots of people working on a similar thing. They share with one another tech advances, software design approaches, etc.)
    • Great progress in specific, high priority areas of development. (Huge AAA companies or tech giants who push very niche features, but only because those features are at the TOP of priority list.
    So a company trying to push the boundaries of photo-realism in 3D graphics is more likely to happen than those same people/money pushing for some niche "Orleans" / "Akka.net" / "Helios" / "DotNetty" things which are so unknown barely anyone has even heard of them. Meanwhile, we have all heard of big engines like Unity or Frostbite. They have more priority, more focus, more money, and thus more people. (Whether or not this is true is irrelevant. This is what people perceive. This is the Unity community. Game Developers are most often NOT network programmers. They are gamers, programmers, artists.)

    And here you go: The one guy who did it, doesn't want to do it again. There's your specific reason for your very specific "Why hasn't anyone done it?" They have. It was you. And you aren't doing it again. The end!

    And how are they toys? All that matters is that our games work. Sure there are other factors in what makes something a quality asset... but we just want it to work. And the assets do, for the most part. Some do with more/less work, but there are several good solutions as you admit.

    What areas do you see are lacking?

    No. It goes back to Ease of Access. You need to realize this isn't a community composed of industry veterans with 30+ years of experience and millions of dollars. It's mostly a collection of newbies, novices, hobbyists, and low-budget professionals who make up a small segment of the "Indie Scene".

    If I had even just a tiny bit more experience as a games programmer, networking programming, or just experience making games- I'd have continued my own engine long ago & scoffed at the idea of using Unity.

    What people want is simple. Very simple. It's what we need for success, and it's not because of this incredible idea of semantics. It's as simple as:

    • Easy to Use (Integrates very well with Unity & "The Unity Way". Very newbie friendly).
    • Easy to Understand (Quality, Thorough Documentation + Tutorials + Explanation of even the simplest of concepts.)
    • "Just Works." (We don't need every feature under the sun. We need a networking solution that does nothing more, nothing less, than "Lets me make my game multiplayer." Which means:)
    • We just need very specific features, added based on priority. This is even more true if different developers or one developed with different releases focused on different types of networking packages: One for mobile, one for small games, one for open world coop games, one for competitive fast-paced games, one for MMO's, etc. OR A package that handles all of that AND thoroughly explains how to accomplish each.
    Instead, we get a collection of assets that either

    • Don't work. (Too buggy, broken, abandoned, vaporware)
    • Too costly. (CCU limits, messasging costs, etc.)
    • Poorly Documented (Back docs, broken examples, not enough tutorials, no tuts to explain simple concepts)
    • Quality, but too small budget. (When only one guy is working on everything, it limits what you can do. It sucks when your choice is "Should I add more tutorials, fix the technical documentation, or fix the most recent bugs?")

    With Unity, selling an Asset to the community is more about Customer Support & Documentation Writing than it is about even technical programming. Most Asset Store developers could attest to this, especially the networking ones.

    Remember, this is Unity. The majority here are NOT experts. You have to know your market.
     
    Last edited: Mar 10, 2016
  2. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    @snacktime,
    Do you have any documentation on Game Machine? I would like to give it a go.
    Other than NetDotty, you know any other networking library that is active in development, scalable and fast?
    I'm interested in having a game being hosted in a cluster of servers and being able to add/remove servers to the cluster without restarting the game clients.
    Regards,
     
  3. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    2,481
    I do have documentation, I just happen to be moving it off of the complete memory hog that is confluence so it's down right now, and I've been so busy this last couple of days haven't had a chance to get it back up.

    Helios on the .net side is probably the most used, but honestly if I was building a game using .NET, I'd just use photon. Unless your time is worth nothing, the price is a no brainer. Developers always underestimate that. You will spend days getting something like Helios working because it doesn't come with a client, there is all sorts of little stuff to do to make it work with unity. Not worth it seriously unless you are out to make a framework not a game.

    You can make a unity based server solution work just fine up to a point. Past that it goes to H*** really fast, but up to that it's just fine. If you optimize correctly you can take it pretty far. For example, I use unity heavily on the server alongside game machine to run pathfinding/physics/npc ai stuff. I have unity running 2k npc ai's and communicating positions and all that with game machine, and it chugs along at 60fps with all that. That's almost the equivalent of 2k players actually connected to it. Yes I optimized all sorts of stuff to make that work, but it's doable.

    If you want to venture into non unity based servers, I'd probably take photon server and run Akka with it. Akka can run inside photon or alongside it and gives you a way to communicate between several instances easily. You get networking that already works, Akka gives you the ability to scale and even more importantly makes doing concurrent things easy. This setup IMO leverages existing tools well, leaves you having to learn some but not build out a bunch of stuff on your own.
     
    tatoforever likes this.
  4. Freakyuno

    Freakyuno

    Joined:
    Jul 22, 2013
    Posts:
    138
    Have you taken a look at Photon Networking / Photon Cloud? I really don't know what their offerings are like, but they are active and have quite a few titles actually published on their tech / platform.
     
  5. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    @Freakyuno, snacktime,
    Thanks for your feedback guys, I took a look several times to Photon. Pretty easy and fast to make multiplayer games with but didn't like their CCU licensing model. Also, I'm looking for solutions that comes with sources (not the case with Photon). I found Lidgren3, what's your thoughts on that library?
     
    Last edited: Mar 13, 2016
  6. Freakyuno

    Freakyuno

    Joined:
    Jul 22, 2013
    Posts:
    138
    You mean Lidgren?

    https://code.google.com/archive/p/lidgren-network-gen3/

    Lidgren is an industry standard, super high performance socket library. I've used it in shipped MMO's as a base framework to roll our own servers. Cant go wrong but you've got some work to put in to go this direction.
     
    tatoforever likes this.
  7. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    Yeah I meant Lidgren (fixed the name typo in my previous post).
    I'm aware the low levelness of the library, already started looking the documentation and that's exactly what I was looking for.
    As you know I'm kinda starting with this library, mind giving your impressions and comments on Lidgren? How many connections to the server, what else you had to implement in order to ship the networking framework for that game you where working for? How did you (or Lidgren) managed security side of things (DDoS and other attacks)?
    Thanks for your input.
     
    Last edited: Mar 13, 2016
  8. The-Oddler

    The-Oddler

    Joined:
    Nov 26, 2010
    Posts:
    115
    I haven't read all comments, so sorry if you already answered this, but have you used the new build-in Unity networking, UNET? What are your thoughts on that?
     
  9. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    As of now it's crappy and buggy, no client-server architecture, mostly p2p session games with a CCU model (even if you are the one hosting parties).
     
  10. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    UNET has a CCU model? Seriously?
     
  11. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    Yeah, only the first 20 connections are free. What's bother me is that they don't host absolutely nothing besides the matchmaking which never worked for me anyway.
     
  12. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    2,241
    Reading the posts, I noticed that quite a lot of you have trouble with CCU based costs.
    We actually think that Photon's CCU based subscription model is the only way to be fair for everyone.

    We develop Photon, support you guys and in case of Photon Cloud, we even rent and manage the servers for your games. The Photon Server licenses can be bought (one-off and upgrade-able) and then used indefinitely. The matchmaking and game logic actually runs on the server machines (solving NAT issues, etc).

    Don't forget that CCUs are just a fraction of your player base. 500 CCU are usually enough for 200k monthly active players. You can adjust your subscriptions anytime (in both directions) and we don't invoice you more than your planned amount of costs.

    Just wanted to say that. Thanks to everyone who pointed this out before.
     
  13. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    Then why does your competitor, Forge Networking, have absolutely no CCU based cost, yet are doing fine?

    They see no CCU cost, "Buy Once, Free Forever" as entirely fair for themselves & others.

    This quote irks me a lot, because it reminds me of what a lot of what US politicians or corporations do. Make needless charges which coincidentally favor the corporation over the consumer, then claim it is the only fair way to go. If no CCU cost isn't fair, then why does Forge think it is? This quote smells fishy...
     
    Ruslank100 and tatoforever like this.
  14. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    I really want confirmation for this. Do you have any links?

    If this really is true, people need to know UNET is far from free. I have a hard time believing this, since the community seems to believe or imply it is "totally free" & you are saying all those people are misinformed? Ouch.

    Forge Networking is looking better every day, and I am getting increasingly satisfied with my choice of sticking with it & referring others to it. Like I said, the No CCU limit alone, along with full source code, make it hands down the only choice for Unity-native assets.
     
  15. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    When I tried last year (back in v5.1), I saw 20ccu limit with free account. Unless they removed this limitation now, it was liked that.
     
    CarterG81 likes this.
  16. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    Nm, I did the research and wow- unbelievable.

    This CCU greed is unbelievable. So much so, I'm just a few steps away from changing my icon to something reflect "Forge = NO CCU SCAM". It's annoying.

    Just because you can charge people for it easily doesn't mean you should.

    I'd buy the argument "We need money to stay in business" which is a fine argument. Except that both their competitor (Forge) have a No CCU Limit & Full Source Code, and they are still going strong. If they can do it, why can't Unity & Photon who make significantly more money off of their other services like server hosting?

    Stop charging us needless fees & Give us that damn Source Code!
     
    Ruslank100 and tatoforever like this.
  17. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    What's even annoying is that they don't host anything, only matchmaking. At least Photon host your parties, matchmaking and everything, not the case with Unity.
    And yeah Forge is awesome, no CCU, full source code = real fair.
     
  18. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    2,241
    I think we're all on the same page that a cloud hosting service needs to have a usage based fee, right?

    If you think Photon is unfair, then you refer to Photon Server, which has the option to get a license subscription. The subscription here is just an alternative to buying a license one-off. Many developers don't want to put down money up-front and prefer to pay in smaller amounts.
    The Photon Server license is CCU based, so we can charge more for bigger titles than for smaller ones. Or should a hobbyist pay the same as a big studio? If a smaller title becomes a surprise success and is played by millions? We're there to help scale and the CCU costs are the least of their problems.
    We don't do a support contract for every piece of advice we give. We don't charge for features we add over time. The bigger a title, the more work it is for us.

    The server is actually most popular for bigger customers, who get unlimited servers and CCU as a one time fee. Indies and smaller studios prefer to pay for not setting up a single server ever.


    If you sell an asset for a one-time fee, you can estimate how long that allows you to work on the piece. Unless you have an asset that's needed by everyone (not just by most), your customer base is limited. You can stop working on it, sell it as new version or do something else to earn your living.


    Whoever thinks that CCU based payment is amoral and bad for the society as such: I hope you see the same being true for microtransactions, paid DLC and showing advertising beyond the initial few starts of your game.
     
    tatoforever likes this.
  19. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    @tobias,
    I'm OK with CCU model if you are hosting and managing everything, Unity does not host anything (besides matchmaking, it's the player who host parties). My problem with photon was the lack of physics support and efficiency. Maybe things have improved since my last try? :D
     
  20. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    2,241
    @tatoforever: Thanks for your understanding and backing :)
    Sorry, we didn't work on supporting physics out of the box.
    For physics, Photon Bolt would be a better fit. It's hosted in-Unity, so you have implicit access to the scene(s) and physical world.
     
  21. Freakyuno

    Freakyuno

    Joined:
    Jul 22, 2013
    Posts:
    138
    Ok, here goes, quite a bit to summarize, but I'll do my best and you can ask more questions as needed.

    When we started with Lidgren, it was really raw, much more than it is now. So our first go around with it, we had to implement our entire game loop, threading model, packet waiting model, object pool, data caching, reliable send (it didn't have it back then) and encryption.

    The hardest part of what we had to do, was create an offloaded object and data cache / pool that lived independent of our connection servers. Each connected server lived as an endpoint that handled the connection, the threaded handling of sending / receiving, disconnects, reconnects and handoffs. Then we'd have a master server in the back handling all the persistence, and writing it on background threads to the persistent hot and cold storage.

    In our first game, DDoS really wasn't heard of, but we dealt with it by the mid 2000's for the first time, and handled it with a honeypot and null route at our gateway routers - we didn't have to worry about it with our networking library. At the time it was pretty easy for our engineers to pick out valid data from spam time-wait connections and route them into a black hole.

    In our second game, Lidgren had gotten quite a bit better, but we still had to implement all our own handling for the main game loop on the server and simulation. In our second game we had interest management and subscribers to an interest zone, and interest party, all of which could move. This made our library much more complicated, but also reduced the data we'd send to any given client by 90% (in our first game we sent all zone data to everyone in the zone)
     
    tatoforever likes this.
  22. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    I have a large distaste for microtransactions & launch-day DLC. Not sure I understand the last one... you'd WANT to advertise what your game is actually like (beyond the initial few starts) to give the player a better idea of what the game is like. So I assume you mean we should have a problem with vague advertising (Making a game out to be something it is not) or tricks in advertising. If that is the case, I definitely have distaste for that as well! I even hate AAA video game cinematics. Yes, they're awesome. Yes, it's cool to watch & fun. No, there is nothing inherently wrong with it. However, I dislike AAA's pretending as if that is the video game when it has absolutely nothing to do with it, doesn't look like it, and the gameplay is not even close to the amazing CGI you see. Deception is not excusable in advertising.

    So it makes sense that the people who stand up for positive morality would ALSO hate the other immoral things businesses do, or the worse crimes (such as WAR Z's outright scamming of consumers & Valve perpetuating that Scam at every opportunity- that is hideously immoral & makes "normal" greedy business practices look angelic by comparison.)

    I have a lot of respect for those who are honest human beings. If only we were all more like them, especially monolithic giants like Valve (who are amongst the most greedy of us all). If thos ebig giants were amongst the heroes of the world, rather than the villains, there is no end to the amazing things that consumers could have.

    So yea, np here. I assume you were trying to do a "gotcha" type of thing. A hypocrisy accusation, "Ha! Once you say that, you can't support microtransactions either!" Unfortunately some of us are very consistent in believing we should be very fair, honest, and open to our community. We hate all this bad stuff without hypocrisy.

    Of course, I don't have a problem with charging via CCU if you're doing the hosting. My problem is when you don't give users an option to host it themselves & don't provide full source code (or the option to purchase full source code for a one-time fee.) I'm sure Photon is not the most immoral business in the world. In fact, it's probably one of the better (moral) ones if you're comparing to every business in the world. It's just that it is very easy for us to fall down the wrong or "not-best" path when significantly worse (immoral, greedy, etc.) actions, advertising, and developers are the norm. There are some really nasty devs out there with tons of tricks that make even Valve look like they are moral angels when it comes to greed. Still doesn't absolve Valve from greed, or a tiny indie developer from being guilty of significantly less-bad but still bad consumer practices. Why not just strive to do the best we can, as fair as possible? That's all I was saying, and by example Forge is by far the fairest & most moral networking Unity-native solution. So I do wish we were all like them. They have paid cloud hosting too, it's just not required to use the networking package.

    No one has a problem with fair business practice. Most of all, we understand people have to pay their bills. There are just some things, like a closed source, that are just downright bad for the industry & those who consume it.
     
    Last edited: Mar 17, 2016
  23. Freakyuno

    Freakyuno

    Joined:
    Jul 22, 2013
    Posts:
    138
    While I cant...and honestly nobody should try, to argue with your definition of morality; it's yours alone to decide what you think is moral, and immoral - I will say that you made the leap from "business model making money" to "greed" rather loosely. I'm not 100% familiar with all the examples you used so I wont get into details, but it IS the right of a company to set their pricing and charge what they like for the product they create. It's not greed (we'll..it might be) it's free enterprise and capitalism. If you've decided that's immoral, then I have a feeling you're in for a rough life man.

    Now...I'm right there with you on deception, especially around the systems of DLC and micro-transactions in game. This is a real hot issue right now, and I myself remember not that long ago spending some 400 to 500 bucks (maybe more) on Clash of Clans micro-transactions. My own fault, yes. Deceptive micro-transactions with psycology pratices like hiding totals and allowing "quick" repurchase? YES absolutely. My fault...yes, but anyone whos played a game with micro-transactions like that KNOWS that it leads you into transactions very vaguely in a lot of ways.
     
  24. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    This has gotten a bit off-topic. Spoiler tagged to prevent derail. Final comment on the matter.

    It's not mine alone. There are an enormous number of people who share in this belief, and we actually have reasonable, legitimate arguments to make explaining why it is immoral.

    I have a serious problem with "the internet" these days, where people act as if morality is subjective. We can all agree on "moral" and "immoral" being defined as things that cause positive or negative effects to others, society, your person, etc. So if something can be proven to negatively harm society, it would be objectively immoral.
    It would be "Socially Immoral" or if you absolutely must, "Socially Immoral in the USA." or "Socially Immoral for Western Gamer Consumers". So it's not ridiculous to just cut out that last part when the context is already implied ("We're talking about video games.") and just say "socially immoral" or when consumers are implied, just "immoral".

    From what I notice in our world, people who see morality as mostly subjective; they have very weak moral character. I could be wrong on that, and I'm sure I am wrong & right with at least some % of those people. However in my understanding, they are much more likely to remain neutral... and sometimes that's a horrible thing. (For example, neutrality in the Milgrim Experiment which proved that if a USA-Hitler would rise to power, you would have no problem finding millions of people to manage & maintain concentration camps.)
    While this (having very weak moral character) is also simultaneously true of people who see morality as entirely objective (like religious fundies, who are often hypocrites), that's a bit of a different subject / reasoning behind it.

    Morality is Morality. It's not entirely subjective or entirely objective, but on an issue by issue basis. There are thousands of "gray areas" or cultural differences where no one can say definitively "That is wrong." or "That is right." That doesn't mean it's subjective as much as "We just don't know." or "It's neither right nor wrong." However there are things which can be proven to positively or negatively effect people. Murdering one another for fun, genocide, destroying the planet through pollution: These are 100% factually immoral. If that murderous polluter said "I think it's morally correct to murder children for fun & try to annihilate the planet." that doesn't mean murder is subjective. It just means he's an immoral, batshit crazy person.

    Profit-Motive-Capitalism is a pretty vast subject, but there is plenty to suggest it is factually immoral. That is, greed & a lust for profit over all else is incredibly harmful to society, the economy, to individuals, to workers, and even to the people who get rich off it. The positive facts? Pretty weak argument, if there is even any as to why it would be factually moral.

    Just as with nearly everything in life, morality follows the same rules as everything else: Logic + Reason > Opinion. A solid argument backed by empirical evidence can quantify something as harmful to everyone involved (and thus immoral).

    Most good people (People who seem legitimately kind to others, universally more fair than average, care for society, generous, not excessively greedy, etc.) agree to most sensible questions of morality. "Don't murder each other for absolutely no reason. Don't hurt children. Don't be an asshole. Love one another." For example, most gamer consumers, especially those who are informed, agree that microtransactions are not in the best interest of consumers. The arguments in their favor are incredibly weak. The arguments against them are pretty damn strong.

    So that's just something to think about. It gets tiring hearing people say "Morality is Subjective!" It really isn't. Especially when you spend your life trying to reverse the damage evil people cause. Whether that is in helping children & the less fortunate, or trying to help make video games & their industry better for both developers & consumers.

    No, I didn't do it loosely. In fact, I didn't even leap. I know the words I use and I choose them for specific reasons. I don't make accusations lightly, and I hold very reasonable arguments for everything I believe. There is plenty wrong with businesses trying to squeeze extra profit (at the expense of consumers) when it is entirely unnecessary & they sustain themselves fine without harming consumers.
    LOL, this sentence was plenty enough. No response required, you answered it yourself with that doubt. Even you realize the greed is incredibly commonplace in our society. Enough said.

    This makes absolutely no sense whatsoever. What does my view on most businesses or people being immoral or scummy have to do with the quality of my life? Quite the opposite, actually. It does effect my life, but in an incredibly POSITIVE way. It actually makes my life better.
    I am VERY often rewarded for my high standards of morality. People love those who love others, those who stand up to bad guys & oppose unfair practices, etc. You get a lot of respect, admiration, and sometimes even physical rewards. (For example, people buying your product because you, as a person, just kick ass.)

    I've even heard people tell me "I'd be a good person, but you're punished for it." That isn't at all true. You don't get to exploit people and turn an extra 10% in profit...yes. However you're still amply rewarded. In fact sometimes you are rewarded for doing the right thing when you would be punished for doing the wrong. (And you don't know it until after it is done.)

    The best part though is that it creates a very high quality of life for me, spiritually. It is a very positive thing, psychologically, to stand up for those weaker than you. Standing up against bad business practices can help develop confidence, teach you how you should manage your own business, etc. You learn, you grow, you feel great about yourself, you feel great about others, and you get to live your life with this very positive view: I will help others realize their best self. I will spread light in a world devoid of darkness. I will make others happier, more confident, and all around better!

    We are in agreement! :p

    This idea of "fault" is very subjective. You are, afterall, a human being with human psychology. Instead of even participating in the conversation, "Who is at fault?" we should just put that aside (it's an irrelevant question with no real importance).

    What IS important? That they are using psychology in an immoral way. That they are trying to take psychology, a science created to help understand people, and use it to trick & harm them.
    This is one of my biggest problems with our society. With major corporations & minor ones, because it applies even down to the individual. There's a way to market your product without deceiving others, without tricking them, without misdirecting them. Milking addictive personalities with micro-transactions is not one of them. Purposefully trying to create addiction is just horrible.

    As someone who works in the field of psychology, I especially have a problem with people misusing the science to exploit others.

    All around, the gaming industry is probably one of the most immorally guilty industries we have. From the largest of AAA's to the smallest of indies... it's filthy with greed, and to a much lesser extent ego, mistreatment of others, etc. Whether that is mistreatment of employees (mandatory crunch time every quarter) or mistreatment of consumers (Indie devs trying to censor their critics or lashing out like a pissed off teenager), it happens pretty much everywhere. Big business. Small business. It's gross, and makes gaming as a whole significantly worse for it.

    The amount of practices trying to milk money from people is just crazy. Even worse, the products they give are often flawed after doing so. Even the support after you pay fair money for a product can be downright horrendous. (ex. Bethesda randomly banning innocent users on Elder Scrolls Online, only a weekly basis, then making it incredibly difficult to restore the account. They have been doing this for years, with little repercussions. Surprising things can be found out if you do your research.)

    So yea, I am highly critical of the gaming industry. To the point that it makes me come off as some holier-than-thou guy ranting about morality in an industry about entertainment. Yes, people aren't dying of starvation or dying in pointless wars in the gaming industry. However, I'm not holier-than-thou, I'm just a guy who stands up against immoral business practices because I care about myself & others. It just happens that "some random nice guy" looks holier-than-thou because the norm is just that damn rotten. When everyone is a greedy pig from George Orwell's "Animal Farm", then the average mouse who stands up to say "Hey! You can't send the horse to the glue factory!" looks like a saint by comparison.
     
    Last edited: Mar 17, 2016
  25. Brodude1234

    Brodude1234

    Joined:
    Mar 27, 2016
    Posts:
    1
    Hello. I was just wondering, what is the best multiplayer networking solution for allowing a redistributable custom server, so that players can host their own servers on their own VPSes etc, for example like TF2 or Minecraft.
     
  26. Paradoks

    Paradoks

    Joined:
    Oct 13, 2009
    Posts:
    422
    @tatoforever
    Did you try to host a game on a server using unet ?
    If you do, you will see that unity dont charge you for anything...But you will have to pay for the server.
    Thats the CCU cost + a few services like matchmaking.
    hosting a game costs anyway you try.
    So be prepared to spend a few bucks.

    By the way i used photon for a while and i am using uNet now.
    if you dont plan to get a dedicated server you can go with photon, as it is very easy to use.
    I switched to uNet because I had specifics problems, uNet is very good, could be compared to forge i think.
    But the webGL part is still not very stable.
     
  27. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    @Paradoks,
    No, because there wasn't any way to do it when I first tried last year. They are like charging you for matchmaking using the CCU model while you are the one hosting parties. You should not be charged for any CCU when you host the game. I do agree that they should charge you something for matchmaking your parties but not as a CCU model.
     
  28. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    That is even worse than I thought...

    trollunity.png
     
    Brent_Farris, elias_t and tatoforever like this.
  29. moco2k

    moco2k

    Joined:
    Apr 29, 2015
    Posts:
    289
    Just to be clear about this, UNET matchmaking actually charges for consumed bandwidth, not directly for CCU. Anyway, the problem stays more or less the same.

    Currently, games which are connected via UNET matchmaking have their traffic routed through Unity relay servers. We have to pay for the traffic that runs through these relay servers. The advantage is that successful connections are guaranteed in almost any cases. However, the disadvantages are pretty strong: we have to pay for all consumed bandwidth and in some cases the relay server might even add additional latency to the game.

    Of course, if you can manage that people are able to connect in your game without UNET matchmaking, you won't need to pay the service of course.

    Probably, it would be nice to have UNET matchmaking just list the games, arrange the match etc. (with a small fee for this) and then the connection is tried to be established with something like NAT punch through. When this fails, the relay servers could provide an optional fall-back solution. Interesting read on this here.
     
    Last edited: Mar 30, 2016
  30. pKallv

    pKallv

    Joined:
    Mar 2, 2014
    Posts:
    782
    How would you go about and not use UNET matchmaker?
     
  31. moco2k

    moco2k

    Joined:
    Apr 29, 2015
    Posts:
    289
    I guess the most straight forward way would probably be to do it the same like games as Minecraft or Starbound. You need to know the public IP of the server and type it in manually.
    Or you could probably use other third party solutions for matchmaking as well.
     
    Last edited: Mar 30, 2016
  32. dil33pm

    dil33pm

    Joined:
    Aug 5, 2015
    Posts:
    5
    Anybody tried Google play services? How good is it compared to Photon Cloud? I tried UNET and I have a feeling that its quite stagnant.
     
  33. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    Honestly, it doesn't look like we have any good choices.

    I wanted to post here to retract my referrals for Forge Networking.

    The developers are active (at least one of them are, the others remain silent & never even post, and the active developer does not talk much), but they are either still too busy or idk- it just concerns me. The lack of supporter and the slowness of support if you're lucky enough & aggressive enough to get it, is just disconcerting. Especially when they came back promising fast updates & changes.

    I say this as I made a pretty big deal about a pretty huge bug in Forge, almost two weeks ago and there is still no fix. It also took significant work & effort on my part just to get them to address the problem, let alone acknowledge it is a problem with Forge, not a problem with my code. (I felt as if I had to jump through hoops just to get them to take me seriously about the problem.)

    All to do something very simple... Sending a byte array across the network. Why the hell doesn't that just work in the first place? Extremely frustrating, mainly due to the slow speed of any communication, or even a fix.

    However I'm not yet willing to pay for CCU costs and have already committed a significant amount of work & understanding of Forge, so it's not like I can just walk out & switch assets. Especially when others are just as flawed.

    The lack of slack activity & communication (announcements/updates) is the biggest killer of confidence in developers. The frustration of not being able to progress until someone else fixes their problems is incredibly demotivating too.

    So yea, my current referral for those who are looking for a multiplayer asset is to simply go elsewhere. And to those new to Unity, you might be interested to look into what Unreal provides when it comes to networking (if anything, idk). Because honestly, every Unity-native network package has some serious flaws. You could even say they're all, "unacceptable", :p
     
    Last edited: Apr 2, 2016
    tatoforever likes this.
  34. Brent_Farris

    Brent_Farris

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

    I am sorry about this issue, your issue was related to the multiple packet issue (from what I have heard). This bug has been fixed :). We also have been working on Websockets and one of the biggest things in Forge Networking since it's release. I am very sorry about the lack of communication. I actually have made more time to be able to work on Forge myself for the new upcoming things. This is why I have been popping up and responding to people on Slack this last week. Also no worries, since you are an owner of Forge you will get these HUGE new things for free, still no CCU :).

    I am very sorry about the support issue and I am going to be putting protocols in place so that we can answer more people and delegate tasks in a more streamlined way. I am confident that the new changes you will be seeing over the next couple of weeks will help ease your concern. We are set out to be the only networking solution that people will need, not only on Unity, but our new expanding platform base. I am even willing to share some of the information with you personally about what we have been working on if you would like via Slack. Maybe I can also ease some of the concerns you had with this terrible experience.

    I hope to hear from you soon!
     
    Last edited: May 14, 2016
    CarterG81 likes this.
  35. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    [repost from another post]

    With the major RPC bug fixed and the developers very active once again, I am forced by the quality of the product to once again endorse it & refer others to it for all their networking needs.

    I just wanted to remark that Forge is overwhelmingly the only good choice for networking solutions, even with any flaws it has or used to have. UNET in particular is significantly worse. These are some of the amazing features you get with Forge, that no other solution gives you.
    • Full Source Code (Don't let people fool you either. UNET is NOT open source. That's an outright lie. Forge is the ONLY asset of the major ones that gives you the source code.)
    • No CCU Limit, No Messaging Costs - Just Pay Once, Free Forever (Including feature updates - it just keeps getting awesome)
    • MUCH Quicker updates (While I can't speak for third party asset developers, I know from years of experience that Unity is especially slow with updates. Even at its slowest, active third party developers are still significantly faster than Unity.)
    • Github Access (Get the updates, before the updates! Commit changes to the project to improve it.)
    • Responsive Developers (Even at their worst, third party asset developers are significantly more responsive than Unity. I can't speak for other third party developers.)
    • Doesn't Require Unity (Bare Metal lets you run your server without Unity at all, and you can run both a Bare Metal version & a Unity version simultaneously.)
    I haven't checked into the newer features compared to other competitive assets (ex. Websockets), but the No CCU Limit + Full Source Code alone make it overwhelmingly better than any other asset. Instantly & Forever.

    Also Unity (UNET) is notorious for having buggy releases with problems that don't get fixed for years. Without that source code, you can't do anything but find a frustrating workaround. I can't stress enough how important that source code is. When UNET first released, it was outright broken. I don't know how well they've maintained their updates, but I know for a fact it's far from perfect & people still have problems with it all the time.

    With every bug fix & major feature update, Forge becomes increasingly better choice. And this is starting from the beginning, when Forge was IMO still the best choice the moment it released. I can't stress that Souce Code / No CCU combo enough. THAT is what is perfect about it.

    For the price, this networking package is unbelievable. IMO it's ridiculously cheap, just like all the wonderful assets in the asset store. The Asset Store which IMO, is the #1 best & biggest feature of Unity, and the absolute reason I decided to use Unity. Because of assets like Forge.

    Without Forge, I would not be making a multiplayer game. That is how bad all the other assets are, IMO.
     
    tatoforever likes this.
  36. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,869
    Isn't it like $25? :D
    Either way, this might be enough for me to jump on board. :) I used to use the old unity networking, but got confused about UNET real quick.

    Been wanting to try Forge... Maybe now's the time. (Only I'm a bit short of money right now, I'll be waiting till next week to think about buying anything)
     
  37. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,073
    @CarterG81 you're aware that Forge and Unet are exactly the same in terms of CCU costs (none) if you don't use the relay servers right? You could host your own servers and rely on hosts to forward their ports, just like you'll have to with Forge. Also, the source for UNET is always available on bitbucket here.
     
  38. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    I have heard multiple things from various forum membera about UNET CCU.

    As for UNET goving away source, that is false. The HLAPI is open source. The LLAPI is closed like all of Unity. And the LLAPI is everything. So the parts youd want open source are closed, and they give you the part that will do nothing to fix bugs.

    From your bitbucket link.
     
  39. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,073
    @CarterG81 fair enough re: source, but the hosting thing is trivial to test yourself before you start creating troll memes and calling UT greedy. They charge for relay server bandwidth (if you choose to use the MatchMaker) to guarantee connections between players (because NAT punchthrough is unreliable and expecting casual gamers to understand port forwarding is foolish). Yes, a player in the game "hosts", but because all traffic is routed through the relay server, the bandwidth consumption on UT's is the equivalent of the game being hosted on their servers, and expecting terabytes of bandwidth for free is silly.

    You can create a basic project with the NetworkManager and NetworkManagerHUD and start a server without the matchmaker and connect to it over the internet if you have the server ports forwarded. Unity doesn't (can't) even keep track of your CCU until you create your project on the multiplayer services section of the developer website and start using the matchmaker.
     
  40. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    I've been with Unity for an extremely long time, since before it became popular & by your join date, just as long as you. I've seen its decisions over the years, and my disappointment nearly every step of the way. So I don't make these accusations lightly.

    IMO, Unity has made some very questionable decisions in the context of multiple subjects. And when it takes them 4+ years to fix some major bugs? Among many, many other things....That makes me lose a significant amount of respect for them. Unity as a business clearly knows what it's doing, but it is a company that runs contrary to a lot of what I'd do myself, and some of what I believe is the more ethical decision for our industry. That's my opinion, anyway.

    Just please don't act like Unity is flawless or isn't in it for the profit motive. Both are laughable ideas. Especially when you go around revealing your ignorance when spreading common falsehoods like "UNET is Open Source!" Immediate loss of respect right there... it shows you don't even use UNET at any deep level. So why are you talking about it? And why should I believe you about the CCU stuff when you couldn't' even get the more obvious topic correct?

    And I apologize if this seems insulting, pretentious, or whatever negative term you want to claim. I just grow tired seeing ignorant fanboys mindlessly defending Unity the moment someone challenges Unity's perfection, then backing off the moment I deliver the facts against them.

    It seems every single time I bring up this fact that UNET is closed source, I have some ignorant bozo challenging me with an ignorant claim that it's actually open & that I'm some troll meme liar. It gets old. I like Unity, but I don't go around mindlessly defending it anytime I ever see someone point out a flaw.

    And UNET is so S***ty, like so much Unity does (hence why that Asset Store is so amazing), who the hell even cares about its CCU costs? We have Forge, which is so much better it puts it to shame. End of Discussion.
     
    Last edited: May 21, 2016
    AcidArrow and tatoforever like this.
  41. Paradoks

    Paradoks

    Joined:
    Oct 13, 2009
    Posts:
    422
    @CarterG81
    I wonder what is the level of complexity of your project, I have been working with photon for a little while before switching to unet, both have their strengths and weakness, but you can pretty much do all you want with both.
    I heard that forge is very good, but i heard that they have a few problems too.

    Could you show us what is the project you are working on ?
     
    CarterG81 likes this.
  42. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    No, sorry.

    UNET might be better than it was before, I'm sure, so you can do whatever you want with anything (which is usually the case with everything, or atleast everything with source code or bugfree).

    But the point is how easy it is to do, how much you must learn to do it, overall efficiency, how expensive (both $$ monetarily & game performance wise), etc. That source access is King though. Can't emphasize that enough. Also the always beneficial addition of asset developers giving you expert tips or helping you engineer your systems. The Forge developers really helped there. Even though it was only a few lines of advice of how theyd do it.

    Altho I'm very excited for their new project, "Forge Remastered". Sounds like a massive improvement over the old Forge. At least for me anyway.

    I can't show specifics about my current project, but it's not a complex MMO or anything. It's player hosted servers. Authoritative server or Host (Server + Player) and clients. Well, I guess it is a bit complex.

    The server handles a Huge open world & sends it / syncs it with the clients. The clients send server requests, and the server authorizes them. Only playerobjects & data is buffered (sent upon client connecting) while all other data is requested by clients & sent from the current state of the server.

    So anytime anything changea on the server, it sends out the changes to all clients. (Not large enough to require proximity only updates though. I just sync the entire world. Easier on me & game NOT designed for large number of players.)

    This way I can sync thousands of tiles, huge world maps (multiple large biomes), and tens of thousands / hundreds of thousands of objects over the network.

    I use custom RPC's for everything. No need for auto-synxs or buffered messages. I find those problematic even in Forge. So I handle everything myself, update upon request, sync manually, etc. All via authoritative server.

    It isn't that complex, but it isn't simple either. Took a bit of learning & contemplating trial/error to figure it all out.

    It was difficult enough in Forge. I cannot even imagine the nightmare that UNET would have given me...

    But if theres anything like it, I'd say that multiplayer wise it is similar to a open world sandbox game, like the survival genre or minecraft. Large world populated with trees, rocks, foliage, items (all of which can be manipulated or destroyed by player), npcs, many players (designed for 4-16 players, but no imposed limit), etc. With split-screen (same computer) multiplayer on top of authoritative server/client setup.
     
    Last edited: May 21, 2016
  43. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,747
    I think I will postpone writing that large open world tutorial for Forge, until Forge Remastered is out. I'd hate to write a tutorial, then have ppl required to convert everything to the new Forge Remastered.

    I'm just a novice, but it all works very well, so I hope to find the time to share how I made an open world sandbox, networked with Forge. That way others dont have to struggle like I did.
     
  44. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    I'll give Forge Remastered a second go. Had a huge number of issues (due to bugs) with Forge so I stopped using it.
     
    CarterG81 likes this.
  45. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Glad to hear that you'll give it a second go! :D However I am sorry that you ran into so many bugs in the previous versions :( would you mind me asking which version you left off on?
     
  46. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    I'm not quite sure, think it was way before v15.
     
  47. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Thanks! :D We will run some tests against v15 and see what bugs pop up on our end, then use the same tests against the latest version to determine if we have resolved the issues or if any still remain. :)
     
  48. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    You have any release date timeframe for Forge Remastered?
     
    CarterG81 likes this.
  49. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    We are actually well on our way to getting into alpha, we released 2 first look videos today (see below). We don't have a solid date yet, but we want to release alpha this coming week (is our hope) :)



     
    tatoforever likes this.
  50. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,922
    @farrisarts,
    Poke us out here once we get access to Forge Remastered, I'm an early adopter of Forge (bought through your website) and would like to update my old multiplayer prototype with Forge Remastered, see how it goes.
    Regards,