Does Unity support Single Shard Server Arhitecture for MMOs ?

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?

World of Warcraft is great example of case study for you.

1 Like

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.

1 Like

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

1 Like

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.

We wrote our network engine from scratch. One guy on the network code. So its not impossible. But yeah. It takes time.

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.

1 Like

Seems to be some successful indie MMOs

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

Most of those are made by veterans. Project gorgon is probably highest quality on the list , and its made by people who have 20 years experience making AAA mmos…

1 Like

Any senior dev could do it though. At least the technical aspect.

We can agree to disagree :slight_smile: 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.

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.

3 Likes

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.

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.

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 :slight_smile:

2 Likes

Its a balance being positive and realistic. :slight_smile: 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 :slight_smile: even in this one :slight_smile:

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 :smile: 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

1 Like

Maybe it comes from frustration with Unity I dont know :smile: We are also frustrated with them from time to time :stuck_out_tongue: But we try to stick to the mentality that anything is possible if you put your mind to it. :smile:

1 Like

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.

1 Like

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.