# Design a game matchmaking system: system design interview question

> Matches need compatible skills, acceptable latency, and complete parties. Short queue waits can conflict with these goals.

Source: https://sysround.com/questions/design-game-matchmaking-system
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a service that groups players into game matches based on skill, latency, and party size. Balance match quality against queue wait times."

## What to clarify first

- Match format and parties
- Scale
- Read and write mix
- Skill and match quality
- Latency and regions
- Time targets
- Correctness and availability
- Game server interface
- Durability and retention
- Scope limits

## Scope of a strong answer

Core requirements:

- Create and cancel a ticket for a solo player or a complete party
- Form two teams of five without dividing a party
- Balance skill quality against queue wait time within the latency limit
- Assign a ready game server without assigning a player to two active matches

Usually out of scope:

- Calculate player skill ratings
- Create parties or manage friends
- Run game servers or implement gameplay
- Detect cheats
- Search several regions at the same time

## What interviewers probe

### Forming two complete teams

Ten available players do not always form two valid teams. Party boundaries, individual latency, and skill spread can invalidate an apparent match.

### Queue wait and match quality

Common player groups can match quickly while rare skills and party sizes wait. Wider skill choices can reduce waits but harm match quality.

### Repeated requests and uncertain outcomes

Repeated requests and worker failures can assign a player twice. Lost database writes can erase an acknowledged ticket or match assignment.

### From a match to a playable game

A roster can commit before a game server exists. Lost replies and late server creation can leave players waiting or create conflicting assignments.

## Common mistakes

- Treats ten available players as proof that two valid teams exist.
- Uses team mean skill as the only measure of match quality.
- Ignores individual party members when checking latency.
- Promises short waits without enough compatible players.
- Promises durable acknowledgement without explaining replication and safe promotion after a machine failure.
- Treats server allocation failure as a simple retry without checking for an existing server.

## The bar by level

- **Senior:** Defines age-based skill relaxation and bounded team search. Handles repeated requests, cancellation races, party admission, worker recovery, and uncertain server allocation. Explains how acknowledged writes survive machine loss.
- **Staff+:** Defines authority across queue owners and regions. Explains fairness under scarce supply. Sets measurable quality limits. Defines safe promotion and recovery from stale workers or late allocations.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=game-matchmaking


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
