Unity mmorpg Multiplayer game

Me and my small team are working on an mmorpg game that was originally planned for singleplayer, but now we want to have it multiplayer where 100s of people can be on a single map and such. How do I create a multiplayer game or convert a single player game into a multiplayer one where people can login through the titlescreen with a user/password and it will respawn them from where they were last with all their skills, etc. Does anyone know of a tutorial that I can use for this?
Thanks in advance

It takes hundreds of thousands of hours to create an MMO. Please for your own sake, please do not create an MMO. Create something your team can handle, it is way more complex than you can possibly imagine.

So It is not possible to make the single player game multiplayer?

Just logging into an account for an mmo serverside should be several thousand lines that include;

  • a forward facing entry point to the collective serverside

  • Proper authentication of remote endpoint for the client’s connection; you don’t want your client’s connection to somehow connect to something other than your server and pass such sensitive information to that party.

  • n many multithreaded authentication servers/services that sit behind that forward facing point and have authentication requests routed to them. The value of n should be decided at runtime dynamically by the current load of logins being experienced. Using well made hashing algorithms for passwords will require relatively large and blocking computation so it’s likely more needed than it initially seems.

  • Proper authentication for connecting authentication servers to the forward facing entry point. You don’t want parties to establish themselves as an authentication service when they are very much not so.

  • A method of encryption for which only authentication servers/services should be capable of decrypting. Whether or not they share a key is up to you. You need to protect your clients to the full extent of data privacy laws. I’d recommend RSA. Neat implementation of it in .Net.

  • A database.

  • Some way to securely connect to the database from your authentication servers.

All this completely ignores the requirement of needing a decent foundation of code to even begin to implement those features. Meaning your highest level code shouldn’t be you using a binarywrite to write bytes to a socket. Recommendation is to use existing libraries. If you’re going to write an MMO. You’ll want absolutely the industry best, whatever the hell that is, otherwise you will be mired in unexpected issues with no fix from anyone other than yourself. Be prepare to pay for licensing and support from said company.

Once you do that all you have the first step down to your mmo down. Authenticating a connection request to your mmo. Now you’ll want to go back and protect yourself from your own code; you will have potential DDoS/DoS attacks at the application layer, trust me. You can address them as you implement the above features, that’d probably be best.

Edit: Or you could write your own custom libraries, as many major MMO projects have in the past, but that may set you back a couple months.

2 Likes

Ok thanks, do you know of any tutorials for this that may aid us? Or am I going to have to spend hours figuring this login system out xD

An mmorpg cannot be written with tutorials. There are things you could read individually about each piece I mentioned and there is likely someone out there who has compiled all of this into a single long guide.

You’re best off using google and studying these topics and skimming other people’s implementations of these things. I can’t imagine there is a singular resource to point you to for writing an mmorpg.

The only thing that comes to mind is CJR’s Photon Server mmorpg framework on Youtube. You could study some of his code, or others, to get an idea on how to write an mmo. He is an incredibly competent programmer so his videos may serve well as a resource.

2 Likes

Ok thanks, I think my problem may have been solved!

I second this recommendation.

It’s taken me over 1 year to properly develop (still in progress) a (MOBA) multiplayer game that hosts 6 players (3 vs 3) in a single game session… and you want to develop a MMORPG with 100’s of players with a small indie team? I’m sorry to crush you dream but it’s not going to happen. I’m not trying to be mean or anything, just being realistic. Try creating a small Multiplayer Game first before venturing off into an MMORPG. Small Multiplayer game is possible and realistic for a small indie team using Unity Networking, Photon, and maybe some other Unity Assets that make Multiplayer possible and easier to achieve, but MMORPG, na…

I originally created my multi-player using Unity’s own networking. Then I switched over to Photon. Both are great ways to learn networking. In the new year (soon soon), I plan on taking a look at Bolt. I have few tutorials that I’d like to write for Photon but not really sure if people really need them. It seems, everyone is figuring it out quite well. Photon really simplified the process with PUN.

You people… lol MMOs ARE extremely hard however with technology out there these days to do it it’s becoming increasingly possible for a Small team to Develop MMOs. Just keep at it. Never give up. and Know that it will take a while to do but that is most certainly possible.

5 Likes

Although there are some good answers here: Sometimes I honestly wonder if the people who post here even know what it means to develop a game. At the very least, what it takes to make a MMO.

I worked on a MMORPG towards the end of the project, when the game was about to be finished. It was done entirely by two programmers, using placeholder art. (They hired me once it was nearing the end of beta, to redo the artwork.)

Most seem to just regurgitate what they hear other people say, without any knowledge as to why they are idiots who have no idea what they’re talking about.

  • Developing an MMO is super easy. It takes no more than four hours.

  • The minimum number of people required to make an MMO is one, as demonstrated by LOVE, a released MMO developed entirely by Eskil Steenberg. To see LOVE in action, check out this youtube video.

Should we just ignore all the MMORPG’s made by small indie teams or lone wolf devs?

The list goes on and on.

Sources: 1 & 2

People say making a MMO is very hard. You know what is ALSO very hard? Making ANY video game.

MMORPG’s are just video games capable of having a lot of users connected at once. Not a big deal. Hell, even some AAA MMO’s don’t even connect you to all that many users at once. The scope of some servers is small (they just have lots of servers) and each “zone” has even fewer, and each person in a playable area is even smaller. Even AAA MMO’s are uncommon to have tons of players together at once. If it weren’t for raids, some would be nothing more than multiplayer games with a huge chat room. In fact, a huge chunk of MMO’s during a certain era used instancing, which was limited to something like 100 users at once before a new instance was formed. So 100 users could be in a zone before being separated in a new instance. These zones could be huge, so performance wasn’t a big deal most of the time. (Time to remember people gong into populated trade areas in capital cities and going “LLLAAAAAAAAAAAAAAAAGGGGGGGGGG!!!”

It begs to question what an MMO even is.
Even the very definition of MMO is vague and all-inclusive. I’ve seen some amazing DAoC battles with hundreds of users. Stuff like that is very interesting. However, I’ve also seen MMO’s where 99% of the time you play with <6 other players.

The real question a developer should ask themselves, is “What is a MMO? Why? How does that effect the game? Do I even need it to be a MMO or would MO or M suffice?”

A MMORPG is a video game, and a video game is whatever you make of it. A singleplayer game can have so much content that it takes 10 years to develop, and a MMORPG can take four hours to develop. What matters is what the video game is like, its content, its systems.

The reason you can’t just remake WoW in a month, isn’t because it is a MMORPG. It is because it has tons of content which took millions of dollars to develop. Just the same as any and all AAA video games which take loads of money to create content for. Yes, the networking is more work than simple multiplayer or singleplayer (no multiplayer). It still isn’t an impossible task like a bunch of know-nothings make it out to be. Especially these days…

It’s important to note that MMORPG != WoW.
WoW is just one of thousands of MMO’s.
Even so, I’ve seen small teams tackle projects not too far off from Vanilla WoW.
It also depends on the size of your team. “Small” can mean anywhere from 1 to 30+ people. All you truly need are the most important ones (at least at first). Programmers & Content Authors (Artists, Writers, etc.) If even that (the game doesn’t actually need art to be a game.)

It’s not this impossible task. Especially if you have a small team of talented individuals who are capable of making a video game. Just like with any project, you have to balance your resources and design around your capabilities and limitations. That is always true. Doesn’t matter if it’s a MMORPG or Text Based Singleplayer game.

12 Likes

You’re not being realistic.

In fact, what you are saying is contrary to the reality we live in. That is the OPPOSITE of realistic.

The reality where tons of developers (sizes of 1-2, up to 8+) have not only made their MMO’s, but have been successful with them. This includes developers who were successful long before tools like Unity or Hero Engine were ever created.

If any of you wish to cite as an argument, “Yea, but how many MMO developers actually finish their game?” I will simply point you to statistics which ask, “How many DEVELOPERS actually finish their game?” and maybe we can get some good data out of it- whether or not a MMO increases or decreases your team’s success of completion. For all we know, MMO teams may be MORE likely, not less likely, to succeed. Who knows until you compile the data.

2 Likes

There are tons of ways you can start. From just going full throttle and learning networking first, to developing a MUD using a book which teaches you how to develop a MUD.

Honestly, it depends on what you want, where you’re okay with starting, if you are okay with starting smaller first (and making your original project a sequel perhaps), 2D, 3D, if you prefer books, tutorials, videos. If you want to make-as-you-learn, or if you’d rather develop competence FIRST, unrelated to game dev, before developing the game.

No doubt, it will take a ton of learning, unless you already know a lot about this stuff.

You can always learn from other developers as to changing your game’s design or the “steps” to make a MMO from an earlier (smaller, released) version. For example, the developers of Life is Feudal have started out releasing an early access for a singleplayer/multiplayer version of their MMO. Using those funds, they will finish Life is Feudal: Your Own, and go on to make it a MMO.

I myself started with a MMO project, and although that project is paused, I have thought of transforming it into a multiplayer or even a singleplayer game. One in which may become MMO later, if the funds allow for it. Even if you go singleplayer, you can still think as to whether or not you wish to develop the game with multiplayer in the future or not. It would be a bit more work, but you can develop a singleplayer game in a multiplayer-way, to allow for future expansion of multiplayer. (Not sure if this is a practical idea or not. I’ve just heard people mention it as theory.) This is (theoretically) easier to do than making a singleplayer game, then adding in multiplayer. (Which means basically recreating the entire game.)

My biggest advice, is this: What makes your MMO different from other MMO’s? If the answer is nothing innovative, then why should you make it MMO? So people can have more of the same crap? If it’s innovative, what makes it innovative? Can you capitalize on the innovation through a singleplayer, CoOp, multiplayer, or player-hosted multiplayer experience? Can you separate the MMO from the game itself? (Sort of like browser + game combo games do, or LoL matchmaking). Then later, if successful, transform it into MMO?

Look at Shrouds of the Avatar. It is a Single Player, SinglePlayer Online, COOP, Multiplayer, MMO, game.

7 Likes

I’d like to take a minute to thank @CarterG81 for his post. Seriously, that’s how it is guys.

2 Likes

Carter, chances are most people on the Unity threads who are asking about how to create an MMORPG, they are thinking 3D, lots of content, and much more higher quality than most of the MMORPGs you mentioned. Sure maybe a 2D, or extremely low poly, low graphic quality MMO is possible in a short time, but i’m almost certain most of the threads on the Unity forum regarding someone wanting to make an MMORPG is not looking to create something with placeholder graphics. So from that perspective chances are the project will never be completed because most of the users here asking about how to create MMORPGs are newbie developers being way too ambitious with no clue of what they are up against. Why not go through all the Unity MMORPG threads and show us how many of those people actually produced anything.

@CarterG81 and since you are very passionate about the subject, why not develop an Unity Asset that helps people create MMORPGs. Lets put all that Passion to good use… and show us all how easy it really is by developing an MMORPG Template. :slight_smile:

I’m doing exactly that… I’ve got a Framework called UniVerse which is a Multiplayer Framework built on top of Lidgren. It allows you to quickly develop your own Servers and Client and uses Python for external Scripting. Servers can be built using a Basic Console App. or using Unity3D to simulate Zones. I will also be releasing a full Kit that will allow you to add your own Content and do the Scripting but you won’t need to Program much of anything.

2 Likes

If that is the case, why tell them “No it is impossible”? Wouldn’t it be much better to instead say, “If you have practical goals for how much content and a realistic idea for the quality of your MMO, then sure- it’s definitely possible.”?

Then add all the people who DID accomplish it, emphasizing the scope of their MMO and the qualifications that had at the start of the project as well as how long the project took.

I will, if you go through all the threads about all other genre of games (non-mmo’s) and show us how many of those people actually produced anything.

1 Like

I am not passionate about the subject. Although I am very passionate about learning and game development as a whole.
There is a difference between experience and knowledge about the subject combined with a passion to educate/inform others…and passion for the subject itself.

I mean, I guess I might be somewhat passionate about it? Depends on your definition. I’m just not anymore passionate about it than anything else- any other subject- and there are certainly things I am significantly more passionate about. So much so, I think it’s legit to say I’m passionate about those things, not at all this.

I just want people to know the truth, or at least my perception of it. Otherwise, I could care less what they do.

2 Likes