Search Unity

Does Unity support Single Shard Server Arhitecture for MMOs ?

Discussion in 'General Discussion' started by MelodyApril, Dec 10, 2020.

?

Would this be a feature you'd love to see in a multi platform videogame?

  1. Yes

    1 vote(s)
    33.3%
  2. No

    2 vote(s)
    66.7%
  3. I'd rather prefer lower latency and stability.

    0 vote(s)
    0.0%
  4. Perhaps, if it would be optimised enough to not have the game lag when there's a large battle, etc.

    0 vote(s)
    0.0%
  1. MelodyApril

    MelodyApril

    Joined:
    Dec 10, 2020
    Posts:
    3
    Hi guys,

    I was wondering if it would be possible to have a 3d Open World MMO with everyone being in the same server, similar to how Eve Online is but with no loading screens whatsoever.

    How would you guys go about this, what hosting service would you choose, what add-ons and or other services would you use to achieve this ?

    And at the end of the day, this would have to work on all platforms, with every single platform using that same single shard server.

    Is it currently possible?

    If not, why?
    If it would be too expensive, what would be the closest cheaper option to that?
     
  2. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    World of Warcraft is great example of case study for you.
     
    Joe-Censored likes this.
  3. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    It is possible, but you will not find any pre-made networking systems which support this out of the box. You're going to be writing your own networking system and custom server handoff solution. I came up with a few ideas on how I would accomplish this, but the endless corner cases and difficulty specifically with testing them all didn't seem worth it for a solo developer to avoid a loading screen when transferring between server zones.

    Working with "all platforms" is a tall order, since certain platforms have rather strict networking restrictions. WebGL for example can only use web sockets and many asynchronous operations are run as blocking instead of async, so loading new scenes in the background uninterrupted probably won't work out well. So you're better to first decide what "all platforms" means to you.
     
    Antypodish likes this.
  4. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    I would have the map devided into sections. You then define overlapping sections that you sync to your neighbouring sections. With clever map design your can keep the overlapping sections down to a minimum (well that's harder with space as the arena since there is no terrain to mask with) .

    It's also a cost involved, with a subscription based model that doesn't matter but for people to commit you really need to have made it big in the community. It's easier to break in on the pay once market. But that also means at after a certain time a given customer have used up their pay once fee in server costs. After that they are just costing you money.

    Network usages cost money so you need to be creative in keeping your costs down
     
    Joe-Censored likes this.
  5. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,570
    World of Warcraft has instances.

    I wouldn't bother with this kind of project without at least multi-million dollar budget. It is not kind of task one person can complete.
     
  6. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    We wrote our network engine from scratch. One guy on the network code. So its not impossible. But yeah. It takes time.
     
  7. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,982
    Its possible, but I would imagine you already know that because you likely have a team of 10+ veteran developers, at least $1 million in funding right? If not, I am sorry but you will not make a successful MMO, its unlikely you will even finish it.

    If you search these forums there are literally 1000s of posts like this, nobody has ever come back to say they made their mmo and completed it, the few that do, well its not like they have any active players whatsoever due to the lacking quality of what was made.

    MMO is pretty much the most difficult thing you can make, and most expensive, as well as most likely to fail. As a result, newcomers asking about making MMOs here (and on most gamedev forums etc) has become pretty much a meme at this point.
     
    SurlyDwarf likes this.
  8. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Seems to be some successful indie MMOs

    https://www.reddit.com/r/MMORPG/comments/3b47xj/20_indie_mmorpgs_that_you_can_play_right_now/
     
  9. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,982
    Cogent likes this.
  10. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Any senior dev could do it though. At least the technical aspect.
     
  11. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,982
    We can agree to disagree :) Do you have experience making an MMO, an actual successful MMO not some system that is "similar" in your much smaller scope FPS VR game? If not, then I dont really think you are in any position to make such claims and anyone coming here for advice who is new should bare this in mind when reading your replies.
     
  12. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    Umm..months and months on a trigger pull system does not bode well in regards to timeframes for an MMO. The MMO team would have had to make a trigger pull system inside a week and get on to other things.
     
    Cogent, neginfinity and Ryiah like this.
  13. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,776
    And perhaps it wasn't MMO oriented. What about Data Base, open world and support of hundreds - thousands of players?
    Can you really scale up your networking system? I think you got different goal with your networking. Hence different design as well.
     
  14. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    We are not making only a FPS we are making an entire framework for our studio. The current game is just a testing platform for that framwork. Our network code is built to scale for dayzvr. That includes network LOD (we scale tick rate, we have domain specific compression that works with LOD). Etc, everyrhing built to scale up to a VR open world game. That's alot of challenges in VR, since you have as much data in a 12 player match as you have in an entire pubg 100 player match. And we are only a team of 3.

    There are so many failed dev's on these forums with alot of negativity I just try to be a counter part to that.

    Edit: you still need to be realistic offcourse, if you are a newbie maybe a pong game is better.
     
  15. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,982
    Thats fair enough and I agree with the point of being positive, but I think its important the realistic part too. Most people asking the MMO stuff are complete newbies with massive dreams and so these threads will get more negativity, to stop them going down the path that will likely lead to headaches.

    But its also good to counter that with some positivity and I think you are good for doing that :)
     
    Cogent and MDADigital like this.
  16. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Its a balance being positive and realistic. :) Most unity users don't have the understanding or experience to pull of a MMO. Though these forums are very toxic, I got a list of toxic users to put on ignore list from our CEO and in almost every thread we write in i can see that there are ignored messages :) even in this one :)
     
  17. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,982
    I have to agree that in general the forums have gotten worse in terms of positivity, but I think a lot of that is also the fault of unity to some degree. Things were a lot more positive here a couple of years ago, there is much less now but it has been a crazy 2 years of upheaval so I think its understandible that the regulars would be feeling more angry and tired.

    I think the MMO question gets a lot more negativity though just because its been asked so many times that its almost like a gamedev meme now :D in general I try to be much more positive to newbies on here other than when asking the MMO question, and I suppose even then I should try to be but its hard to not get tired of it haha
     
    MDADigital likes this.
  18. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Maybe it comes from frustration with Unity I dont know :D We are also frustrated with them from time to time :p But we try to stick to the mentality that anything is possible if you put your mind to it. :D
     
    MadeFromPolygons likes this.
  19. MelodyApril

    MelodyApril

    Joined:
    Dec 10, 2020
    Posts:
    3
    Thank you for the insights guys, I think it'd be a better idea for me to have it work as a singleplayer first, build a playerbase and then maybe try adding the online modules bit by bit.
     
    neginfinity likes this.
  20. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Getting a player base before building your MMO is definitely a good idea. However, in most cases multiplayer isn't ssomething you can effectively just "add" to a single player game, particularly if you're aiming for MMO scale operations.

    Consider: in a single player game, all of the code for an enemy to decide where to move to, then to actually perform the motion, and animate it all occurs entirely on my own computer. In a multiplayer game the decisions and motion are all handled somewhere else, and my own computer is being sent just enough information to animate whatever is happening.

    It's certainly possible to do what you're talking about, but it's going to require a fair bit of understanding and work in its own right.
     
  21. MelodyApril

    MelodyApril

    Joined:
    Dec 10, 2020
    Posts:
    3
    No worries, I've made up my mind. I'll try to start with a single-player story based title or sandbox title with low poly design in mind. This would help me gather some insights on how games work and after I feel confident enough I could start digging into multiplayer sutff.
    From what I see it's pretty costly as well when you're solo dev without any previous experience so it's best to start small so that it only costs time.
    I guess a pro dev may be able to pull something out by themselves in a few months, even if it's simple.
    If I'm not mistaken Mojang started working at Minecraft like this but they had alot of experience beforehand so they were able to slowly scale the whole project up, plus that he was able to monetise the game from the beginning by launching it in open alpha/beta state (I didn't look into it but this is what I remember reading a long time ago).
    This looks to me as a great business model for a single dev, build something interesting that you can sell in a an early access state and scale it up as time goes on. Over time I suppose one can aquire every needed resource and experience while also making a sustainable income to be able to keep working at it.
     
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,187
    I recommend building the prototype in a framework that handles the multiplayer aspect for you. Roblox and Hero Engine are two examples that come to mind. Both of them will handle the nasty multiplayer work for you while you flesh out the actual gameplay and once you have that you can go back with all of your content and make the game.
     
  23. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    Improbable's engine definitely supports this sort of tech. I haven't followed them in a while, but this was pretty much the reason for their tech, to have unlimited, seamless worlds, spread across many servers.
     
    Joe-Censored likes this.