TrueMatch Matchmaking System

Established: November 17, 2017

The TrueMatch matchmaking system decides which people should play together in an online multiplayer game. TrueMatch was developed by Microsoft Research (opens in new tab) and launched in Gears 5 (opens in new tab). It was subsequently incorporated into Gears of War 4 and Halo 5. TrueMatch can work with any skill-rating system. So far, it has been used with TrueSkill 2 (opens in new tab).

What is matchmaking?

In a game like Gears of War or Halo, players queue up to play matches against each other. These games are more fun when the players are physically close to each other, to minimize network latency or “ping”. They are also more fun when players have a similar skill level (opens in new tab) in the game, keeping scores close. However, players don’t want to wait too long to find a match, and the set of available players is constantly changing.

Many games use Xbox Live SmartMatch (opens in new tab) and PlayFab Matchmaking (opens in new tab) for cloud-based matchmaking. These systems compare the skill gap and network latencies between players to allowances set by the game developer. If the game developer says that a skill gap of 2.5 and a ping of 500ms is allowed, then these systems will match you with anyone meeting those criteria. The same rules apply no matter where you are or how many people are around you.

TrueMatch is different

TrueMatch uses Artificial Intelligence to dynamically adjust your matchmaking allowances based on your location and skill level. If there are many players near you, then TrueMatch shrinks the allowances so that you only get fair matches with low ping. If there are few players near you, then TrueMatch expands the allowances. Previous systems expand the allowance only after a player has waited a long time in the queue. TrueMatch starts the search pre-expanded, cutting wait time in half in low population regions. TrueMatch can also give you a personalized estimate of your wait time, before you queue up to play.

TrueMatch is based on reinforcement learning (opens in new tab). The results of its actions are used to continually update a probabilistic model of the matchmaking process. It then uses nonlinear optimization on that model to find the best combination of matchmaking allowances for each region. More details can be found in the GDC 2020 talk “Machine learning for optimal matchmaking” by Josh Menke (opens in new tab).