What Is A Multiplayer Backend?

What Is A Multiplayer Backend?
What Is A Multiplayer Backend? A Beginner Friendly Overview

Introduction

Here at Rushdown Studios, we specialize in building incredible multiplayer games. Employees here have contributed to, led, and collectively worked on some of the largest systems in the world including PUBG, League of Legends, Destiny 2, Among Us, and Last Epoch, to name a few.

Whether you are a casual gamer, student, hobbyist, or working in a non-technical role in the industry, you might not know exactly what we mean when we say  “multiplayer backend”. Today we’ll provide a beginner-friendly overview of the systems that power online multiplayer games.

Playing With Friends

A useful place to start is taking a look at how I explain this stuff when I’m talking to someone outside of the industry that asks what I do for a living. I’ll tell them that I work in games, but my specialty isn’t what they think it is.

“First off, I’m not an artist. I write code, but the code I write doesn’t do much to make stuff show up on your screen. Instead it makes it possible for you to sit down in your living room in New York and play a game with a friend of yours that lives in Michigan.”

Sometimes the conversation ends there, but if someone is particularly interested I’ll go a bit deeper.

“Well, the code I write makes it possible for you to find your friend in-game in the first place. It makes it so your PlayStation can communicate with your friend’s Xbox. It makes sure that the virtual space in the game that you’re experiencing is the same virtual space in the game that your friend is experiencing. We facilitate all of the technology that is required for information to flow through the pipes of the internet that makes playing online games possible.

Beyond that we make it possible for you to play on your PlayStation, stop, start playing on your PC, and have all of your progress synced between the two of them.

Everything that I work on for multiplayer backends is stuff that you’ll likely never think about if it’s working, but when it isn’t you’ll know. It’s when you boot up your game and you are completely unable to play because the game requires an internet connection.”

Let’s Pick That Apart

With that high level description, let’s peel back the curtain on the specific features that work together to deliver players the experiences a multiplayer backend enables. We’re going to go a bit out of order so we introduce concepts in an easy to understand way.

Before we dive into any specific system, it’s worth highlighting the various components and how they run.

  • The Game Client - This is what runs on your machine (PC, PlayStation, Xbox, Nintendo Switch, etc.). This is what people commonly think of when they think of games.
  • Backend Systems - These run on servers, not on your machine. These servers could be “in the cloud” (which typically means run by Amazon, Google, or Microsoft) or operated by companies directly, otherwise known as “bare metal”.

The Foundation

Let’s start with the building blocks for virtually all features an online multiplayer game might have.

“Beyond that we make it possible for you to play on your PlayStation, stop, start playing on your PC, and have all of your progress synced between the two of them.”

The key component that makes this possible is a Central Account System. This account system keeps track of who you are across different first party providers, which are companies that provide virtual storefronts where you may actually download and play a game from; like PlayStation, Xbox, Nintendo, Steam, Epic Games Store, etc.

Typically, the account system alone is not enough to allow your progress to be synced between platforms. That is where an Entitlements System and an Inventory and Progression System come into place. Entitlements track what an account has purchased, earned, or been gifted, and what game content they are entitled to. Think of this like a digital receipt that works across all platforms. Inventory and progression systems track what items a player has accumulated through gameplay and how far they have progressed in the game. This could be things such as your level, unlocked characters, weapons, gold, or achievements.

Social Components

Building on top of our foundation are the social components that online games utilize.

“Instead it makes it possible for you to sit down in your living room in New York and play a game with a friend of yours that lives in Michigan.”

The first component to talk about it a Matchmaking System, which can evaluate players that are looking to play with others and group them together. This is done using a variety of information, such as the game mode a player wants to play, their physical location, and their relative skill. A good matchmaker will group players in an ideal way, ensuring that casual players have fun in every match they play and competitive players face appropriate challenges.

Then there are a slew of other social features that a backend can provide. A Friends System, an Invites System, and a Parties System can all work together to make it easy for you to directly connect and play with friends. These may also work with the Matchmaking System to make sure that you and your friends are put in matches to meet the play experience you’re looking for.

Backend systems also make these experiences richer with features such as Voice Chat or Text Chat, allowing players to communicate in real-time.

Networked Components

Once we have an account and there are ways to get grouped with other players, we also need to solve for synchronizing moment to moment gameplay across multiple players.

It makes it so your PlayStation can communicate with your friend’s Xbox. It makes sure that the physical space in the game that you’re experiencing is the same physical space in the game that your friend is experiencing.

Depending on the type of game you’re working on this can be solved in a variety of different ways. Options include Peer to Peer Networking, Relay Servers, or Dedicated Game Servers.

When online games use Peer to Peer, players' machines will communicate directly with each other to share game state for moment to moment gameplay. This used to be common practice, but it’s tedious for a player to ensure their home network is configured correctly to support this. Relay Servers are now used more commonly for “Peer to Peer”, where there is a server that all players connect to that forwards network traffic in between them.

For more complicated situations, or when you want to prevent cheating, a Dedicated Game Server is used. This is a server that runs a copy of the game itself, without all the graphics, and is the authority on the true state of the world in the game. If a player’s view of the game gets out of sync, the server can correct them. This is what you’ve likely experienced before when you glitch backwards in a game while playing online.

No matter what specific networking approach a game takes, moment to moment gameplay is facilitated by Netcode. Netcode is how games synchronize many players in a virtual physical space so every individual is experiencing the same simulation, even when some player’s internet connection is poor.

Everything Else

While my high-level description covers a lot of ground for the components that make up multiplayer backends, there are quite a few other types of features that make up common game backends.

These include:

  • Leaderboards, which are largely self-explanatory.
  • Reporting, Banning, and Player Moderation Systems, which help to make sure that online experiences are safe and enjoyable for everybody who participates.
  • Micro-Patching Systems, which allow developers to update the content that you have on your device.
  • Telemetry Systems, which allows developers to measure how players are behaving in-game. This allows them to make smarter decisions about how to improve their games.
  • Live-Ops Tooling Systems, which is a bit of a catch all for all of the software we write to make it easy to manage all of the complexities of running a live service game!

Conclusion

Whether you’re interested in the technical details or simply want to understand what makes your favorite games tick, these systems work together to create the online multiplayer experiences we often take for granted.

In the future we’ll dive deeper into many of these components, building on top of these beginner-friendly descriptions and going deep into the nitty gritty of how they all work in the real world.