MMORPG Creation Tutorial: How To Make Multiplayer Game

Charles Brant

29.10.2019

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

Making a multiplayer game is one thing. Making a game that sells is another thing. Both are hard tasks, but doable. But making an MMO that sells – it’s certainly a thing from another world. Despite all the challenges, MMO still is one of most interesting genres. Constant competition and rivalry, trying to get better items than your friends and to become the best PK on the server… What else is there to wish for?

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 graphical assets and proper marketing? Let’s dive in.

This article is tutorial to making multiplayer games. However, such games require a lot of assets. You can make them on your own, which is my preferred way, but you can also get ready assets from someone else, sometimes even for free! If you are interested in downloading ready to use video game assets, then check out my video game assets download tutorial – this guide covers how to get 2D-3D game assets and resources for free. It also lists best websites with assets, such as models, textures, sprites, sounds, scripts, features and frameworks.

PS, actually I’ve started developing my own Indie MMORPG alone. If you are interested, read about it on devlog. I post an update every month.

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-time, or don’t work at all, or decide to stop socializing so often, then you will have about 6 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 wasn’t.

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 any 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. We can become very productive once we are convinced that the thing we do is 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, that’s why they hire more employees than they need, and spend on expensive tools or services, even when it could be avoided.

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 spending, 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 them.

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 WoW for $70 (made up price, I don’t know how much it costs)?
  • 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?

You need to answer every of these questions, as they’re all important, 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. It’s only rational to avoid tasks that require a lot more workforce if you are on your own.

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 need 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 SlitherIo, AgarIo, PowerLineIo, WildsIo and many more. They are all networked, have players and more or less resemble MMO games.

Many of them were made by just one or up to three people, so there’s a lot of proof that you can make multiplayer indie game on your own and even acquire players, whether its just multiplayer browser game or full-fledged 3D MMO with open world.


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 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? 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.

Mistake 1: 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? 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, so things that don’t upgrade your strength but your look.

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 only because that game has ton of players, but because huge percent of player-base actually buys them, even I bought a Jayce skin despite usually avoiding spending money in this way.

Both ways are viable monetization systems. However in this particular game it didn’t work. They tried second approach – skins for real money. But their mistake was that they also had free skins of really huge quality already obtainable from random chests that spawned in the map. What a huge mistake.

There was no reason to pay for skins and clothes, if there were already tons of free ones in the game, easy to acquire, and so damn well looking. Who could make such a rookie mistake during game planning phase? If you are going to sell skins, then you should limit the ways players can change their character look for free, not increase them

Mistake 2: 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.

Mistake 3: Unnecessary Staff

Another thing that required ton of money was hiring unnecessary staff. Positions like few not-so-dedicated blog writers (they were creating content indeed, but not good content), 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 company could save some money if they weren’t hired.

Mistake 4: 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. So much money could be saved this way.

Mistake 5: Not Advertising

It shows that even very good games won’t take off on their own without proper game marketing. Maybe some of them do (e.g. 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 aware of the game. Since it was already very good game, not only it could be saved if they did that, but it also could become one of most successful and popular MMOs.


Creating The Plan For Multiplayer Game

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 analyze 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 fail and starting over could take years and you would be still 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 or 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?

Condition 1: 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 attention of gamers and make them your players. The more of pillar mechanisms your game has, the easier it will be to attract 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 3D games in sandbox style where players can collect things and build houses. It’s like Lego blocks, and who didn’t like building cool things with them 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 games already 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.

Condition 2: Unique Game 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.

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 a knight, 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, you won’t be interested in Guild Wars. That’s because GW is similar to WoW, and if anything, it’s an downgrade not upgrade. You could argue that it all depends on taste, but GW doesn’t really bring anything new to the table that WoW doesn’t already have.

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. Not only you would be able to build your house, but also you would have to protect it from monsters that are actually real threat and not like these in Minecraft.

Condition 3: Reasonably Chosen Tools

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

Because there are great, free alternatives. For modeling, 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 the newest version. So now modeling in it is not only efficient but 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 the 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 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). I’ve written a long comparison post about the best game engines, reading it will help you decide what engine is most efficient choice.

Condition 4: 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 modeling 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. In your project developers won’t be paid initially (or maybe they will), 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 in the future.

You can also code the game without team to avoid eventual problems in cases where one of developers loses interest in the project or he no longer has free time. In case you decide to create a team, consider writing game design document to maximize efforts of every person.


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

Step 1: 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. Without them, your multiplayer game is just another nameless pack of compiled code that will be forgotten as soon as it’s published.

Step 2: Choose The Right Tools

To save the money without cutting on quality you should choose Blender for 3D modeling and Unreal Engine 4 (with native networking) or Unity (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.

Step 3: 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 in 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 you will be much less confused.

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.

Step 4: Make The First Networked Version

Now that you’ve learned how to code single player game, it’s time to make first steps in creation of our MMO game. At first focus on getting the whatever-framework-you’ve-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 basics before you try to make your inventory networked, or before you create registration system synchronized with database.

Step 5: Add The Key Features

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

  • Crafting unique things with resources from mining.
  • Spaceships, submarines and other machines.
  • Building your own houses, villages and castles.

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. situation where one person takes loot from dead monster has to be a change visible in every client, not just one.

Step 6: 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 community on Reddit.
  • Post 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 mind it if gameplay is good, but if graphics presented in trailer were bad looking then your marketing plan is fundamentally wrong.

We assign quality to appearance, 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). In the same way 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.

Step 7: Finish The MMO

Now it’s time to finish your multiplayer game. Though, you don’t really finish your game, as there’s always a possibility 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 get feedback about what should be fixed or improved, and there’s always this excuse “it’s still a closed beta so bugs may happen”.

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. Newbies will be more likely to report things that aren’t bugs.


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 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 modeling world. It’s been here for long and it’s not going anywhere. Perfect for both 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 dislike 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.


Will You Make An Indie MMO?

So… 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.

Comments (Guests Allowed)