Matchmaking Essentials for Cross-Platform Multiplayer Games
By: Accelbyte Inc
Tags: Matchmaking, Game Development, Backend Development, Cross Platform, Backend

Matchmaking is the core of any multiplayer game. It is the system that connects a player with the other players and enables them to play together, whether as individuals or in a team. While building a matchmaking system, there are several other backend features that need to be created:

Lobby System

Generally a lobby is a hall or corridor connected with a series of rooms and used as a passageway or waiting room. In video games, a lobby usually appears as a menu screen where players can see the ongoing or upcoming game sessions they can join, review the outcome of the last match they were in, adjust their game settings, and communicate with other players.

Having a lobby in your game makes it convenient for players to navigate where to go in the video game. From a lobby, players can easily create or accept a party invitation, chat with party members before a game session begins, and request a match from the matchmaking service. Lobbies have become a standard in all multiplayer games, but in cross-platform games they’re even more critical as they become the first place that players from different platforms can come together.

AccelByte lobby services provide continuous connection between the players and the game. We ensure reliable, real-time data transfer by allowing two-way communication between the server and clients.

Party System

A party is a group of players working together as a single entity in a match. The system matches a party with another or other parties to play in a game session. A party can consist of just one player if the game includes a player-vs-player mode. In group-vs-group mode, a party usually consists of two players or more. Parties can either be filled by player’s invited friends, or random players who are joined together for the match. In a cross-platform game, the party system enables players from different platforms to group together and play as a team.

Our party system enables players to create a party, leave a party, invite friends to a party, join a party, and kick party members. AccelByte matchmaking service employs flexible party matching configuration with customizable attributes.

Chat System

In a multiplayer game it is essential for players to be able to communicate, not only during gameplay, but also throughout the matchmaking process. Giving players chat service to use in party forming helps players to strategize better before the game begins.

Our lobby and matchmaking system supports global, party, and individual real-time text based communication in-game.

Friends System

The ability to add other players as in-game friends is crucial for modern games. A friend system makes it possible for a player to save like-minded people in the game to team up in matches, or to challenge other players to a friendly match. In cross-platform multiplayer games, it is essential for a player to be able to befriend other players from different platforms to bring your whole player community together.

AccelByte supports both in-game friends and platform or launcher level friends. In-game friends can chat and play together within a game title, whereas platform level friends allow players of different games to interact with each other.

Server Browser

It is convenient for players to be able to browse servers or game sessions to play in. It is common to browse for a game session based on filter criteria such as the server name, its location, game mode, player count, and latency.

It can be a little tricky to manage and set up game sessions, especially when they are created on-demand. With a fluctuating number of players and game sessions, the number of servers and the matchmaking service needs to be flexible and scalable. If your server is not dynamically scalable, when there is a player surge in the game, players will face long waits in the matchmaking queue, waiting for other game sessions to finish before they can play. On the other hand, providing servers that you don’t need will incur unnecessary costs. And things become even more complex if you use more than one server provider for your game.

Our Armada service is a smart game server manager for multiplayer games that can help you deal with all those problems mentioned here. With our server manager, servers can be spun up on the fly and you can mix and match server providers to maximize performance and minimize cost.

Ranking / Score History

In a match, players expect to know who won and how well they performed. By having the scores from each match recorded and shown at the end of the match, players that do well get the satisfaction of achievement.

In games with a progressive plot, you need to have the scores from each match recorded to enable the player’s stats to grow as they play the game. Beside players being able to see their own past matches and the scores they get from them, we can also set up progressive leaderboards players can compete in. We can even enable game achievements when a player reaches a particular score, to recognize their effort in the game.