Unity MMORPG Making Tutorial: How To Create Multiplayer Game

How To Code An MMO In Unity - Multiplayer Game Creation Tutorial

Making a game is one thing. Making a game that sells is another thing. And making an MMO game that sells is a thing from another world.

Despite all the challenges, MMO is one of the most interesting genres. Not only there’s a sense of accomplishment whenever you level up, but also a sense of competition among players.

For this reason, it’s understandable that every new game developer wants to create MMORPG, MOBA, Battle Royale and the like on their own.

But how possible it really is and how likely are they to succeed considering all the work required to create interesting gameplay, good looking graphics and proper marketing? Let’s dive in.


Why MMO Games Really Fail

Creating multiplayer game of any kind is huge challenge. However, if you list all the needed steps, and carefully rethink the plan thoroughly, the process gets easier than it initially seemed!

Reasons Why MMO Games Fail

So lets start from listing the most common reasons why MMO games fail.

Lack Of Time

One of the culprits is time. You will need a lot of time to create playable game, let alone MMO, MMORPG, MOBA, Battle Royale and anything with multiplayer.

If you take part time job instead of full, or don’t work at all, or decide to stop socializing so often, then you will have about 6 clean hours of production daily.

But for how many years you will have to keep this pace? Even if you want to do it, do you think after 3 years you will say “it was worth it”?

Of course you can make multiplayer games in few days as well. There are, although not many, successful multiplayer games that didn’t require much work to release their initial versions, like Slitherio.

Is Slitherio successful? Considering how many players it has, for sure it is! And its absolutely simple concept – browser based multiplayer snake game. For all we know, it could be made by one person, and I would be shocked if it was not.

Dying Commitment & Discipline

Discipline is something many people lack, unless its about their job or university (and sometimes even then). When you think about your job, you feel and know that you have to do this. To wake up early, get ready, then travel to your workplace and spend 8 hours in it. Because without money you won’t survive.

But creating your own products of any kind (here, multiplayer games) is different. You have to absolutely enjoy, believe and be passionate about the creation process, or you will give up.

And you also have to believe in financial success or benefits of other kind (e.g. recognition) so you won’t stop halfway because you “could spend that time on making money” or for some other reason. Human brains can become very productive once we are convinced that the thing we do is the right and will bring benefits in the long run.

Weak Budget

You don’t need a dime to create your MMO as long as you have time (here, most likely years). However, many companies are not so patient, and that’s why they hire more employees than they need, and spend on more expensive tools and services than required.

And its completely alright. To make money you need to have money, they say. So creating huge companies (that later fail) is nothing new.

However, to maximize the chances for success you should optimize the project, plan, budget and potential spendings, before hiring people and making other huge investments.

So problem of weak budget can be solved either with lot of time, or with proper planning. Or both.

Poor Planning

MMO games can be successful when made by one person, when made by five or thirteen people, and they can be complete failures even with 50 developers behind it.

And it all narrows down to poor planning. That’s why you should pay seriously huge attention to this step.

  • How will you acquire players?
  • Where will you promote game?
  • Why someone should play your MMORPG for $40 instead of World Of Warcraft For $70?
  • What are the key features that will keep players addicted?
  • Is the graphic good enough to not lose players over it?
  • Can you pay programmers and marketers their salaries for many years to come without any profit?
  • How will you monetize the game?

All steps are important and require a lot of brainstorming. However the last step is critical. Without monetization, you will sooner or later fail to pay your employees and servers.

Not Starting At All

This one is huge. Internet is filled with negativity when it comes to indie MMO games. No one says its good idea, and everyone says its the last thing you should attempt.

Are they right? Factually yes. What are they essentially saying is that you shouldn’t do things that require huge team and budget when you don’t meet these requirements, e.g. you don’t have team and are broke. Its only rational to not do things on your own that require a lot more workforce.

Are there exceptions or workarounds? For sure! For example Minecraft despite being multiplayer game, although its not MMO (there are MMO servers though) was made by single person!

And the world is self-generating, therefore developer doesn’t ned to add “new locations every month or people will stop playing”. Did people stop playing Minecraft? I don’t think so.

Except Minecraft there’s RuneScape MMORPG, which was made by three people, and ton of smaller browser games like previously mentioned Slitherio, and similar games Agario and more. They are all networked and more or less resemble MMORPGs, but many of them were made just by one or three people.


Real World Example Of Failed MMORPG

Reasons why MMO games games fail are obvious. Everything narrows down to poor planning. If your MMO failed, then it means your game-plan had an error in one of its steps, so you need to think your plan more thoroughly to avoid it.

Example Of Failed MMO Game & Bridge

Easier said than done? That’s obvious. Even if you plan the heck out of every step, there’s still place for unknown variables and mistakes to come in when unexpected. Perhaps the competition was bigger than you thought, employers were less effective and you’re running out of budget before game started making money.

Planning without having particular examples in mind is pointless work. So here I’ll talk about real life example of really great, full-fledged 3D MMORPG with amazing gameplay that failed despite it, due to obvious mistakes.

Incorrect Game Monetization

Game was sold on steam, and that was great. But it wasn’t enough to cover developers salaries. So they added item shop. What can go wrong with item shop, you ask? There are two ways to do it.

One is Pay To Win system, where players buy weapons and other items with much stronger statistics than items acquired in game can have. You may think that’s rare, but it’s actually very common in MMORPGs, despite how unfair it is towards players who don’t pay. Other way to implement item shop is to add cosmetics, character and mount skins, tattoos, and so on.

One could assume that the first monetization concept brings more money. Maybe at first, but it will also damage the game reputation, gameplay, and decrease player numbers. Second concept is more safe to gameplay. Doesn’t favorize players who pay at all. Its successfully used in games like League of Legends and yes it brings ton of money. And not because that game has ton of players, but because huge percent of player-base actually buys them.

So both ways are viable monetization systems. However in this particular game it didn’t work. They tried second approach – skins for real life money. But their huge mistake was that they also hard free skins in game, really huge quality.

There was no reason to pay for skins, if there were ton of free available skins, easy to acquire, and so damn well looking. Who could make such a rookie mistake during game planning phase?

Expensive Server

They spent way too much money on servers. Game’s key feature was that everything as physics-powered. And that will significantly increase server cost.

Other than that, the map was too damn big. Not only it’s harder to find other players, which is annoying, but also it increases the price for servers.

And in the end they didn’t stop on these two mistakes related to pricy servers, they also went for the most expensive provider there was… And wasted ton of time and money, making none.

Unnecessary Staff

Another thing that required ton of money was hiring unnecessary staff. Positions like few not-so-dedicated blog writers (that were just friends of friends, and were creating content indeed, but not good content), and so on, were totally not required.

Posts on blog were boring to read, the person behind them was clearly not passionate about the game at all. Not only that, but they weren’t too useful. Posting on site of new MMO project absolutely doesn’t require full time positions.

And they were fired few months before project was canceled. Perhaps they could save some money they didn’t hire them.

Too Huge Project

The map in this game was so big that the game felt empty most of the time whenever you went, even though it still had 300 players online in same time.

And it was PvP game, mind you. What’s the point of such game if I need hours to find other players to finally have a fight?

With smaller map, there would be more action, players would be less bored, and developers could spend that time working on something else.

Not Advertising

This shows that not even very good games take off on their own without proper marketing. Maybe some of them do (Minecraft?), but not many. And you shouldn’t count on it.

They had insanely huge map, they had blog writers, they had the most expensive servers there were, but who will make use of that map? Who will read these blog and change-log posts, and who are the servers for?

If they decreased effort in these places, and instead increased in marketing – more players would be interested in the game. People share good games to their friends.

Of course you can’t count on it alone, but with bigger marketing, not only you would increase public interest and knowledge about the game, you would also increase the sales, and the echo effect would skyrocket.


Crafting The Finest Multiplayer Game Plan

To make a successful MMO game you need two things. The first thing is to stick through the endless production phase. And second is to be able to support yourself, your projects, and eventual hired developers before your game starts making money.

Roadmap To Creating Multiplayer Game

Usually people make a plan, then more or less follow it, then analyse results and adjust the plan accordingly, rinse and repeat till it works.

However in case of something as complex as MMORPGs, adjusting your plan every time you failed and starting over could take years and you would still be at square one.

You would obtain a lot of experience, which isn’t wrong, but who is calm enough to keep working on project for years without seeing any profits, results and benefits?

That’s why we will minimize our mistakes and save as much time as possible by creating a proper plan. So what things such plan should include?

Game Changing Features

If you just make something that was made 100 times before, then there’s no reason to buy, download or play your game. Nope. Not even for free.

That’s why you need key features what will steal gamers attention and make them your players. The more of such pillar mechanisms your game has, the easier it will be to bring players.

First 3D Grand Theft Auto games were great because you had freedom, you could kill, use weapons, steal cars, it was amazing experience for someone new to computer games. Minecraft is essentially one of first games in sandbox style where players can collect things and build their houses. It’s like Lego blocks, and who didn’t like building cool things out of it as a kid?

However, if you made game like GTA or Minecraft today, with zero of your own invention added, you would fail to acquire players. Because exactly same alternative games currently exist, and they come from trusted brands. So no one will pick your game if it doesn’t have something new in it, or an combination of existing concepts.

Proper Genre

If you decided about all the pillar features thoroughly, then that list most likely tells you what genre your game will be, or it narrowed the list of possible genres.

It’s important to remember that you can mix genres and create new ones. That’s because… What’s the point of creating yet another normal RPG game? Where you take role of aknight, kill rats and bigger mobs as you grow in strength, then sell loot and buy upgraded items?

That concept isn’t wrong, in fact, it’s quite likable and addicting when done right. But that alone will make your game boring and nothing new. If you played WoW, there’s no reason to play Guild Wars. If you played Minecraft, there’s no reason to play Terraria. And so on.

But if you mixed WoW and Minecraft and created one big MMO containing key features of both games – wouldn’t that be awesome? Players wouldn’t be able to resist.

Reasonably Chosen Tools

This is the good part – you can save a lot on tools. You don’t need pricey game engines or 3D modelling software, that could even cost altogether as much as $300 USD per month and more.

Because there are great, free alternatives! For modelling, try Blender. Blender was always great choice not only for independent developers but also for teams and companies. Maybe with little annoying controls and GUI, but they changed it completely in newest version. So now modelling in it is also enjoyable.

It’s great tool for your MMO. For actual game, you need a framework or an game engine. Engines simplify and speed up work more than frameworks and libraries, so pick an engine.

Two good choices not only for MMOs but also for single player games are Unity 2019 and Unreal Engine 4. In fact, these two engines are at the top of game design tools hierarchy. The difference is that in Unreal you would use their native networking system, while in Unity you would use third party networking solution (there’s few very good ones).

Eventual Teamwork

Now you know how your game will look like, its genre and how many key features it will have. With all that information its possible to divide the work between few people.

If you are indie developer then most likely you don’t have a team, or have a team of up to few, unpaid people. Assign modelling to one, landscape development (also known as level design) to another, and code scripts by yourself, preferably with one more person, as there’s a lot to code.

If you don’t have a team, consider asking an IRL friend, or seek potential prospects online. Its important to realize that since in our project people will be unpaid, therefore they will only continue working if they have time, enjoy the work, believe in the concept of your game, and are convinced that game can profit on it in the future.

You can also code your game without team to avoid eventual problems in cases where one of developer’s interest level in the project decreases or he has less time.


Step By Step MMO Tutorial

Till now you’ve learned the most common mistakes during MMO game development, real world example of failed project, and how to create a plan. But how to actually create our game?

Step By Step Meme & Online MMO Tutorial

Make The Plan

During the planning phase, it’s important to keep stuff concise. List all the major key traits and mechanisms of the game that will either make it or break it. Without them, your multiplayer game is just another nameless pack of compiled code that will be forgotten as soon as it’s published.

Choosing The Right Tools

To save the money without cutting on quality you should choose Blender for 3D modelling and Unreal Engine 4 (with native networking) or Unity 2019 (with one of many third party solutions).

I was always fan of native solutions however in this case I strongly recommend Unity due to simplified work, C# support and other major factors. And some Unity’s networking frameworks are really great.

Code Single Player Prototype

A lot of people will say that you shouldn’t change single player project into MMO game, as in you shouldn’t modify your code. This is true to an extent. Doing that will add more work.

However if you aren’t highly skilled whatever language or game engine you’ve picked, then you absolutely should try to make single player prototype first. You will learn a lot about game development so when it comes to your MMO then things will confuse you much less.

Not only that, but you can actually reuse your code. Whenever you code system like inventory for your single player, you’re writing code that will also work in your MMO, after slight modifications. So you can always copy it later, modify a bit, and it will work.

Make The First Networked Version

Now that you learned how to code single player, it’s time to learn the advanced concepts of multiplayer games. At first focus on getting the whatever-framework-you-picked to work, as in try to host a server, login with two players, and make player movement changes visible in both clients.

At first you will probably move in one client and the other won’t pick up the position changes, that’s common mistake among newbies and only means that we made some simple, easy to correct mistake. Fix this before you start coding your key features. Learn strong basics before you try to make your inventory networked, or an database-connected registration system.

Add The Key Features

If your game plan was done correctly, then you should have a list of key features that will make or break the game, such as:

  • Advanced inventory system.
  • Mining resources and crafting.
  • Spaceships and other machines.
  • Building your own houses.

And so on. Your game is all about its main features. This is why most MMORPGs are so lame. They have nothing new in them. Just leveling up, hunting mobs, and doing some boring quests. If your game has unique features in it, then you’re already above 80% of competition.

The reason why you should make singleplayer prototype first, and then make simple things like movement work through internet, is because all the things you will code (well, almost all) will be networked as in they will have to work for every player, e.g. taking loot from dead monster has to be an option in every game client not just one.

Advertise And Create Community

If you have key features done and some neat models, textures and visuals, then its time to create screenshots, video trailer, and create a community that will not only motivate you to finish your work but also will positively influence your marketing.

Elements to create:

  • Screenshots.
  • Video trailer.
  • Website.
  • Game plot.

Marketing channels to use:

  • Create Discord for your game.
  • Make Reddit “sub”.
  • Post about your game in forums of similar games and genres.

A lot of people here think if they create a game, make screens and show it to people then that’s 100% success receipt. Couldn’t be further from truth. This approach will only work if the screenshots and trailer you made are great.

And if you want them to be great, graphics also needs to be good. Graphics that won’t make players leave your game, and graphics that make the screenshots and trailers interesting are two different levels. You can play games even with bad graphics and not feel it if gameplay is good, but if graphics presented in trailer were bad looking then your marketing plan is fundamentally wrong.

People are visual creatures and a lame game with great trailer can have really good start (that will later drop, like Atlas, from 55K players online to 2K in a year). And great game with lame trailer can have really tough start. And you don’t want a tough start because you can’t wait for profit infinitely.

Finish The MMO

Now it’s time to finish your multiplayer game. Thought you don’t really finish your game, as you always need to update it. In this step you have to get your game to the point of being a worthy closed beta.

The good part about it is that you can send your closed beta for free to people in your Discord server and they will be happy to test it. You basically get beta testers for free and whenever they say that the game is lame, you know what should be fixed, and there’s always this excuse “but it’s still a closed beta”.

Before publishing closed beta you should:

  • Make sure your MMO works 24/7.
  • Remove any serious graphical bugs and poorly looking things.
  • Play the game and make sure the gameplay is fundamentally okay.
  • Enable a system that let’s easily report bugs from the game-level.

Last step is essentially important. Without it, lot of people will be lazy to report the bugs if it involves logging in a website. But if it can be done quickly from game, then you will catch way more bugs and issues. Also, attach number of hours spent in game, character level and screenshot to these reports. With number of hours spent in game you know which reports are from professionals and which are from newbies.


Best Unity Networking Frameworks

Now that I recommended Unity to you, I can’t really leave you without listing best free networking frameworks.

Best Unity MMORPG Frameworks, Libraries & Technologies

Official UNet

UNet is now deprecated, default Unity’s way to do networking. You don’t want to make your MMO in it if you aren’t a pro, and probably not even if you were. However listing UNet was essential because many other frameworks are based on it. That doesn’t mean they’re outdated though.

Photon Unity Networking Classic

Photon is like Unity of game development world, or Blender of 3d modelling world. It’s been here for long and it’s not going anywhere. Perfect from beginners and professionals. The only problem with Photon is that it supports paying per CCU (the more players you want to have online in same time, the more you have to pay). So perhaps if you’re like me and hate this system then pick other solution. Free plan supports only 20 players online in same time.

Forge Networking Remastered

Forge is mainly for professionals. It supports a lot of features and digs into advanced concepts so if you are a geek then Forge is probably the way to go. I wouldn’t recommend it to beginners though as there are more documented and simpler solutions.

Mirror Networking

Mirror is really good and simple networking solution for MMORPG lovers and beginners. It’s based on UNet but its regularly updated and supports a lot of transport systems. Supports rooms, browser games, dedicated servers and more. Can host really insane amounts of players if your hardware and internet is good enough.


Summarizing Indie MMO Development

In this post you’ve learned:

  • What are the most common mistakes during MMO creation.
  • About real world example of failed MMORPG and why it failed.
  • How to plan your online game.
  • What is the step by step process to creating your multiplayer game.
  • What are best game development and networking tools.
Lightbulb Of MMO Game Creation Ideas

Creating MMO as independent game designer is hard task. You don’t have a team to help you, and you don’t have a budget. You will need to make perfect gameplay but also perfect graphics, models, and visuals that will later play great role in marketing of your MMO. And marketing is completely different subject, that you also need to put a lot of effort in.

Doing all these on your own is really insane challenge but it’s still possible if you really want to do it, have the time, discipline and commitment. Who knows, maybe you are exceptionally good at game design and MMOs are your specialization? There’s only one way to check that :).

Leave a Reply