How to Properly Use AI to Optimize Game Matchmaking Systems? — Some Insights
A briefing of my four years (2017-2021) researching game matchmaking systems.
Preface
Previously, I only published a few papers—focused on fancy AI algorithms—and gave a GDC talk that covered results up to 2020. I had planned to write a blog in 2021 and even aimed for GDC 2022, but an unexpected team reorganization cut that short.
To be honest, I wouldn’t be revisiting this topic if my name hadn’t recently been linked to Marvel Rivals. I’ve already moved on to generative models and haven’t studied Marvel Rivals, so I won’t be using it as an example here.
I also shared some projects on GitHub to encourage more research into AI for matchmaking, since the field is difficult and underexplored. Unexpectedly, that brought me player complaints—but I can’t address them: I don’t know the dev team, can’t pass on feedback, and have no influence over the game.
Insights on Building Matchmaking Systems
Back to the Topic: Insights on Building Matchmaking Systems
AI isn’t a silver bullet.
AI can be useful in matchmaking, but it’s never the whole solution. Every practical system needs a mix of algorithms and carefully designed rules, shaped by the team’s understanding of the game and its players. If AI contributes to even 50% of the matchmaking logic, that’s already impressive.Evaluating match quality
A balanced match isn’t always a good match. Early AI systems often use balance as a proxy metric, but mature teams must go deeper. If matches drag on too long or frustrate players with negative experiences, then even a balanced scoreline doesn’t mean it was a good match. Evaluating match quality requires richer, more nuanced metrics.Mis-modeling user satisfaction
A common data-driven approach is to use retention rate. For example, as I mentioned in my GDC talk, we observed that certain win/loss patterns could improve same-day retention. But later research showed that a sudden win after a losing streak often reduced retention. Purely following data, one might design a system that keeps losing players losing—yet from a developer’s intuition, that’s obviously wrong. Rage retention inevitably leads to rage quit.- One solution is to introduce new metrics that better capture eventual churn, helping us prove why rage-retention patterns are harmful. The right time window for churn rate analysis depends heavily on experience.
- Another solution, which can be applied here, was manual intervention:
- Apply “soft” adjustments: if a player keeps losing, assume they’ve been matched with overly strong opponents. Since skill fluctuates (e.g., good/bad days), the system can use both long-term and short-term ELO. After several losses, sharply lower short-term ELO until the player wins again, then gradually readjust upward.
- If losing continues past a certain threshold, lower ELO more to recalibrate the player’s skill window for that session.
Bots in matchmaking
The question of how to adjust matchmaking when bots are introduced is broad and business-sensitive, so I won’t expand on it here.
For readers in this field:
- If you’re an academic researcher, operations research offers promising directions (e.g., discrete optimization, reinforcement learning).
- If you’re a developer building matchmaking services, focus on three core aspects:
- How to model player skill (long-/short-term ELO, feature vectors, etc.)
- How to evaluate match quality (what truly makes the game enjoyable)
- How to model satisfaction (when retention data conflicts with game intuition, trust the intuition—fun is something you can feel, not just measure).