I will never forget when Halo 2 was announced; everyone in the gaming community let out a collective scream of excitement and anticipation. We were eagerly awaiting not only the sequel to Master Chief’s first solo adventure but more importantly, we were waiting for the sequel to the excellent multiplayer.
Days and nights, my friends and I were torn up inside that we couldn’t play Halo in multiplayer online. I had heard you could mod your Xbox, but that seemed like too much trouble. Our prayers were answered when Halo 2 was released with a legendary and addictive multiplayer mode.
We didn’t know how the team at Bungie did it; all we know was that they waved their technological magic wand at issue and crafted a fantastic multiplayer experience, one that we couldn’t even begin to dream of.
The rest is history, with the multiple releases within the Halo franchise, each with its own multiplayer components and unique features.
Back to Bungie’s magic wand: how exactly does one make a multiplayer game? I mean, when we were younger, it seemed all but impossible. Is it true?
For the developers of Halo, it surely was a trying task, what with a large number of players in one match, dedicated servers, the overall demand. It was a lot, but Bungie delivered.
But what if you wanted to create a multiplayer game? No, really! I am sure you have some creative projects rattling around in that noggin. Why not add a multiplayer to your game? How do you make a multiplayer game?
Just because Bungie was able to do it doesn’t mean it is out of the question. Sure, they had the funds and manpower, but who’s to say that can’t be you too?
Also, chances are you aren’t developing one of the most anticipated video game follow-ups in history…yet!
What Is A Multiplayer Game?
…and how does it work?
Basically, a multiplayer game is a video game in which more than one person can play the same game together. More specifically, though, the same exact game area, not just the same game. The different players are all in the same match, server, or level experiencing everything in real-time at the same moment.
This includes a bunch of other game modes, not just a competitive multiplayer. Games like Left 4 Dead illustrated that you can all play the same exact story missions in coop, helping one another through some seriously tough times.
I can’t tell you how many times I had reluctantly played Left 4 Dead with complete strangers, only to know them by name and crack jokes with one another by the end of our harrowing mission of survival.
Playing older Nintendo 64 games cooperatively and competitively like WWF: Attitude and 007: Goldeneye, has changed who I am as a person. And don’t forget: if anyone plays as Oddjob in Goldeneye, they are a dirty cheater!
LAN & Dedicated Servers
As a teen back in the early 2000s, I would go to an internet café and play Counter-Strike with other gamers. This was before a giant Wi-Fi network could connect us, so we were using what is called LAN, or a local area network.
LAN allowed for connections from system to system to let gamers play multiplayer with one another. Of course, this wasn’t limited to internet cafes; indeed, it was used a lot at sleepovers, parties, and just friends gaming at each other’s houses. This was the precursor to what we now take for granted with Wi-Fi.
It used to be a real slog taking along your Xbox to a friend’s house so you could hook up to the local area network. But we made it work, and we created some fun memories (sometimes just making the LAN work in general).
Another avenue for multiplayer gaming is called ‘dedicated servers.’ These are usually set up by the game makers or company. Think of a bunch of computer servers taking up an entire room somewhere in Silicon Valley.
Those servers run automatically, making no one, in particular, the host. These dedicated servers are kind of like rented rooms. Although you don’t have to pay anything, they host your heated multiplayer matches for you, taking out a significant pain in the neck for some host-based gaming.
The company has full control over the servers, allowing for a massive benefit in the means of streamlining, internet speeds, and hardware used in the game. Dedicated hosting is used more by big companies like EA, Activision, and Bungie.
Halo 2 was a more famous example of peoples’ first foray into dedicated server gaming and has become somewhat routine for many big-budget games.
The First Multiplayer Game
Multiplayer games have been around longer than you think. You’re probably thinking it’s from the 1980s. Wrong! How about the late 1950s? Insane, right?
It was called Tennis for Two, and it was the precursor to the multiplayer boom of our current video game era. It was designed by William Higinbotham, who had set it up as an exhibition in the Brookhaven National Laboratory in New York, unbeknownst to him, showing us the first video game with a graphical display, as well as the first with a multiplayer component!
Unfortunately for Tennis for Two, shortly after the exhibition, the game was all but forgotten by everyone. Could you imagine seeing the very first video game, then stripping down the very machine for spare parts?! I cringe thinking about it!
However, the popularity of Tennis for Two grew by the late 1970s, on the cusp of the video gaming boom. Higinbotham was called to testify in court about Ralph H. Baer, the creator of the very first video game home console, the Magnavox.
By now, video games were picking up speed and popularity, and arcades were filled with young gamers ready to experience the future.
Biggest, Best, and Worst Communities
These multiplayer games, including coop, have evolved over the years from being strictly ‘couch’ based, (basically that the gamers needed to be in the same room), to international in scope.
Instead of being forced to play a multiplayer match with my next-door neighbor, I can now play against an online clan in Rainbow Six Siege from France.
As corny as it may seem, multiplayer games indeed do bridge a gap in communities of players and allow others to experience different communities. Sure, there are some toxic players out there; I know, I’ve played a few rounds of Call of Duty with them. But the rise of multiplayer games online, I believe, is a net positive.
Communities like the Team Fortress 2 community and Dark Souls have been praised as having some of the better online communities. These communities are filled (more often than not), with enthusiastic individuals who are just trying to have fun.
My own favorite, Total War franchise, makes an appearance on a ‘best of the list’:
“Considering these games include death and destruction on a scale perhaps unrivaled by any other game, they’re really rather friendly. The forums are full of tactical debate, strategy guides, and well-meaning discussion. Players seem genuinely enthusiastic to educate others on improving their gameplay and RL historical facts. The games draw in like-minded, intellectual (even if I say so myself) players with interests in history and strategy. Heartfelt praise is commonplace for mods who’ve taken the time to produce awesome game variants. And yes, that includes lizard-men.”
The Total War community has helped me in surprising ways. They have turned me onto different eras in history I would have never regularly explored, gave me great tips in which to increase my skills, and offered up some fantastic game-changing mods to freshen the experiences of the franchise.
And that’s with just one online community! Think of the hundreds more.
On the other hand, the online multiplayer phenomenon is not without its more toxic aspects. I have experienced a ton of negativity from the Call of Duty and Counter-Strike: Global Offensive communities. It doesn’t mean that everyone is harmful or toxic, it is just that that’s where a gamer could regularly expect to be mistreated.
For these games, it is recommended to play with friends rather than go solo in multiplayer. Avoid if you have a sensitive stomach!
Okay, gamers, here are some beginning tips if you have a project, the budget, and the team ready to take on the challenge of creating a multiplayer game.
How Do You Make a Multiplayer Game?
What a tall order this must seem like. You need to do a bunch of things actually to develop a multiplayer game. I’m here to help you organize what you need to do to accomplish this better.
Before you start actually coding and creating, you should make sure to build a great base of what your game is going to be, who you are working with, what software you are using, and a laundry list of other must-haves.
First thing’s first: create a game design document!
Basically, think of it as an outline of your game. If you are making a multiplayer game, there is a good chance that you aren’t working alone. The team that you work with will need to be on the same page, no matter what. If you aren’t on the same wavelength, you waste your time, and the game itself could suffer in quality.
The game design document allows for the project leader to lay out all of the basics of the planned game: story, features, characters, game mechanics, and more. Make sure you tweak this as best as you can and communicate with the team!
Excellent communication cannot be emphasized enough. It could very well mean the difference between bad and superior performance.
With the game design document out of the way, you need to make sure that your computer and system is up to snuff. Obviously, you are going to have a really tough time developing a multiplayer game on an older system.
This isn’t the place for Windows XP or Windows 7; you need an updated computer and a great operating system. However, chances are if you can make a multiplayer game, this shouldn’t be a problem at all.
I know you want to get right into the meat of the matter, but there are a few concepts that you should nail down before you start development. Curb your eagerness for a second, as there are a few steps beforehand.
Like with a gaming document, you need to agree on an art style. Determine what your game and assets will look like.
- Are you shooting for a mashup or realistic and campy cartoonish styles like that of The Outer Worlds?
- Or is it a gritty shooter taking place in a desert landscape?
These things are your framework and will dictate many of your actions in the developmental process.
Along with the look and feel, determine what your characters will be doing, as well as systems they engage in. Think of Call of Duty, where the characters are soldiers with varying skins, who engage in gunplay, dictated by a prestige system that has perks, skills, and bonuses.
Remember to establish these early on, as they can ease the headache of being bogged down in the little stuff later on. Knowing is half the battle!
Like all other games, you will need to utilize code. With multiplayer games, you have the same options you do in any different scenario; coding languages like C++, C#, and HTML5.
Again, you should layout in the game design document what coding you will take advantage of and allow your team to know which you aim to use. Obviously, you would probably want to use the coding language you are most familiar with.
However, the beauty of the internet and other resources is that you could really learn different coding languages through tutorials or by trial by fire. Each Engine you use can and will use different coding languages, each with their own preferred language.
This is another aspect to look over before you begin, especially when choosing which engine to use.
Which Engine to Use?
Luckily, this is another preference-based decision. Very simply, if you are developing a heavy-duty game, something like Gears of War, or Halo, you will want to use an engine like Unreal.
Unreal Engine is known for being able to take some severe punishment when it comes to performance and will be your best bet if you want this game to run on the best systems, with beautiful graphics and usually a high budget.
Chances are if you are a first-time game developer, Unreal might be a little out of your wheelhouse, especially if you aren’t the best at coding games. This is where an engine like Godot and Unity comes in.
How Do You Set Up Multiplayer on Unity?
Like I said before, each Engine has their preferred coding language that they use. In Unity’s case, the programming language is usually C#. You should definitely have a background in this language, or at least be willing to learn it to make this experience as smooth as possible.
Another aspect of setting up a multiplayer on Unity is familiarity with Unity’s features. Assets and the asset store are a fantastic feature that you genuinely trick out your game and make it unique. Learning the ins and outs of how the Engine is structured, how it performs, and the capabilities are also highly recommended.
Tutorials, Courses, Videos, and Documentation
As a side note, thankfully, there are many different tutorials on how to use the Unity engine. Along with that, many sites can offer some courses for you to better get the hang of Unity and get some certifications that can actually help you along with your development career, especially if you are trying to make it big in the developing business. Some sites are:
When learning online, everyone is different. Some people are strictly visual learners, and they need video lessons and things planned out step by step. Others only learn well by doing.
Zenva Academy blends all of these different learning styles to create an accommodating service for those curious about specific technological skills.
It emphasizes that the best way to learn is by doing, and it really puts that to the test in many of the courses.
To learn more about Zenva Academy and their course offerings, check out this post. To learn more about their Unity Game Development Mini-Degree, click here.
- “Learn C#, a powerful modern language, from scratch. No prior programming experience is necessary.”
- “Build a solid foundation for game design and game development that will help you build your own games.”
- “Become excellent at using the Unity game engine.”
- Udemy’s course in Unity engine is comprised of 221 lectures spanning about 35 hours, give or take. Although this is a long time, it is a great resource and crucial if you want to learn the basics of the Unity engine.
- The coding section, (arguably the most important), is just a little over an hour, making up 10 lectures. Just think you can really learn a lot about C#, the language of choice, in under 2 hours.
Pluralsight: Unity Game Dev Courses: Fundamentals
Pluralsight’s guide to Unity is a definitive set of great tutorials that can help you set up a multiplayer game in Unity. You will even have incremental ‘IQ tests’ to determine how you are doing in the courses.
If you are on the search for further help, I would highly recommend some different sites, and especially YouTube videos.
YouTube is filled to the brim with tutorials for various software, especially Unity. For some of you developers out there, the visual aspect that YouTube offers can maybe make a difference in your learning how to use Unity Engine. I know it sure helped me!
For those that aren’t into watching longer videos, you could also access the extensive documentation online, (many pieces provided by Unity themselves), and the countless online forums that discuss these things in depth. Don’t be afraid to stop lurking the message boards and ask some questions you may have.
After you have these two factors down, you need to start a new project in Unity. It seems simple enough, right?
Before you begin in earnest, make sure you have all of your assets and other miscellaneous content organized perfectly into different folders. I can’t tell you how helpful that is with life in general: I am a wreck when it comes to organizing papers for different classes in college, so imagine if that happens when setting up a multiplayer game in Unity engine!
A Canvas, Networking
Not a canvas for painting, but rather the fundamental background for your multiplayer game.
You need to label the canvas as something that is easily remembered, ideally something like ‘background’ or ‘background1’. You then need to scale the user interface to make sure the background stays in the back and doesn’t get in the way of other aspects of your canvas.
Move on to networking, which includes its own heads-up display. This will be the very first baby steps of your prospective multiplayer game in Unity.
Using LAN, (remember, a local area network), is a great way to test out internet connections concerning your game. By using a LAN, you can both test how a server will run, and how well others can connect to the multiplayer game. You will most likely need a separate LAN client for this.
The next step is actually to test the network by building. You access the build mode by going to ‘build and run.’ After entering play mode, Unity will create a duplicate of your game, allowing you to see better if your multiplayer game will run.
Objects & Movement
You then need to actually import characters, items, and assets into your build. This is the beginning of what your game will look like. Will it be a 2D side-scrolling adventure or more of a 3D action title?
You decide. Remember the basics I laid out beforehand.
Movement is obviously one of the most critical aspects of your new game. To program movement, you need to harness your knowledge of C#.
For whichever object you want to make a move on the screen, you need to remember to include it in the network manager, so it remains in the multiplayer portion of the development process.
The aspect of Network Transform allows the object to be transferred to the different servers online, making sure it runs consistently with the various servers and connections. Having the purpose not consistent with other screens is a mistake that can be easily made, so don’t worry.
You also need to make sure that object collision is realistic, so you need to add new commands like RigidBody, along with the type of perspective the game is in, either 2D or 3D. The last thing you want is an awkward movement for your objects. Think of how frustrating it is when in a multiplayer match, connection speed or collision can mean the difference between life or death in a multiplayer game.
This is just a pure taste of the first steps of how to set up a multiplayer game in Unity. There are still other engines in which you can develop these types of games.
Think of Godot, a great little free engine that is a tremendous experimental training ground for your different developmental skills. For more information about how to use Unity as a game engine, and more specifically, how to create a decent multiplayer game with it, check out many of the online sources and tutorials a simple search can offer you.
I hope now that you can get a better idea of how to create your very own multiplayer game. It sure isn’t easy for first-time developers, but it isn’t impossible by any means.
Remember that many game engines can help you tremendously when it comes to multiplayer game development. Just be sure to take advantage of the right resources.
Of course, one resource for one developer may not be as helpful for another. Therefore, do some exploring. Most importantly, do some playing around in the different game engines, as it could give you valuable insight into what you can create and what you are capable of.
Different engines can produce different results, and a lot of the work purely depends on what type of multiplayer game you are creating, as well as the graphical capabilities of your title.
Again, if it a game like any in the Halo franchise, Unreal Engine is probably a better bet than something like Unity Engine.
If you are new to multiplayer game development, it may be useful to practice coding and more in a smaller game engine like Godot.
Whichever you choose, make sure your team is on the same page. Different individuals bring different aspects to game development and having a competent and talented team can really separate good games from genuinely great games.
If you are well organized, (remember the game design document!), if you have proficiency in some programming languages, and the encouragement and assistance of a great team, you can easily create some of your very first multiplayer projects.
Who knows, maybe you will be on the team that develops the next highly anticipated title like Halo 2? If that is your goal, boot up an engine like Unreal, get your developer buds together, and get working! I believe in you!