Weekly Recall: Meet Your Matchmaker

Share25 Comments
Weekly Recall: Meet Your Matchmaker

This week, we're pulling back the metaphorical curtains to share more about one of Overwatch’s most complex topics: matchmaking...dun dun dun!

There are two major goals we’re trying to accomplish with our matchmaking systems: to create fun matches, and to keep you from waiting too long to jump into them. That second goal is self-explanatory, but the first is a bit more nebulous.

Our matchmaking philosophy is that fun stems from fairness. In an ideal scenario, both teams in a match would have a 50% chance of victory. The outcome of that match would depend entirely on the choices, strategies, and big plays of each person in the lobby. Winning is fun (of course) but player agency and the idea of a competitive or “winnable” match is something we’ve found to be even more important. When you feel as though your actions matter and any outcome is possible, that makes for a compelling game of Overwatch.

Let’s jump into how we approach this in both the core modes as well as Stadium.

Matchmaking 101

Before we get into the nitty gritty, it’s important to understand how matchmaking works.  Every Overwatch 2 player has a matchmaking rating (MMR) number that acts as an approximation of their skill and is used to place them in matches. While you see your MMR as a labeled skill tier, such as Diamond 3, we view it internally as a data point on a bell curve where the center is 0.0. As you go up or down from that point, the number of players on either side drops dramatically.

CompetitiveRankDistro.png

Let’s say someone is internally rated a 2, which is considered a high-skill player around Masters 5. As soon as they queue up, the system tries to find players that are also rated at 2. If it can’t manage to find a full lobby of players at that exact MMR in a set period of time, it expands outward both positively and negatively to fill the match. That final lobby may have a skill range between 1.9 and 2.1, which should feel quite balanced.

Building The Best Match

Mathematically, the best match will include ten players of approximately the same skill. If in reality we can’t create the “ideal match”, what tradeoffs are we making to get as close as possible?

We have a bunch of matchmaking systems that try to ensure balanced matches. One system that helps achieve this is called Role Delta. It aims to match the skill levels of individual roles on both sides of the lobby in those cases where we can’t create a match where all of the players are exactly the same MMR. For example, if one team’s tank has a 1.5 MMR rating, Role Delta will do its best to find another tank rated 1.5 to compete against them in a specific match. This makes for a less frustrating experience because players go head-to-head with similarly skilled opponents.

There are also many ways we can relax match quality and work within a more realistic matchmaking framework. We weigh these options against “team-level” fairness as well as “player-level” fairness. The former relates to the probability that Team 1 will beat Team 2, and the latter is at the role level; for example, what are the chances that one team’s damage player will noticeably outperform the other team’s damage dealers?

Role Delta was partially motivated by these team-level fairness assessments. We noticed that if one team had a vastly higher-rated tank, win rates were distorted in a way that wasn’t reflected by simply assembling matches based on a flat MMR rating or the sum of the entire team’s MMR rating. It’s relatively easy for us to consistently make matches fair on a team level thanks to the systems in place. In Competitive mode, we take steps to ensure that the absolute lowest win rate probability a team encounters is 40%. That would be an outlier, though; most matches (80%) of Competitive Role Queue have a win rate probability within the 45-55% range. 

Creating lobbies with a narrow skill range is important because inconsistencies show up at the team level. A team of Silver 2 players will approach coordination and communication very differently than a stack of Diamond 2 players; if a team includes both of those skill tiers, it’s likely that both sides will believe their counterpart is playing ineffectively or incorrectly.

Player-level fairness is a much more difficult thing to achieve and it’s one of the leading reasons why queue times can sometimes be unpredictable. Assembling a lobby of 10 similar MMR ratings can be tricky if there are low player populations online, like at extremely high skill levels, off-peak hours, or in low population regions.

In the past, we’ve experimented with extending the MMR range allowed in matches to mitigate longer queue times for those cases. Unsurprisingly, the matches ended up less balanced and less fun as a result. We’re always analyzing the tradeoffs we’re making between queue times and match quality and tweaking our systems for better outcomes.

The Stadium Situation

We’ve talked a lot about how matchmaking in general works and how it applies to Overwatch’s Competitive modes, but Stadium is an entirely different animal and we want to dive deeper into that.

Unlike Overwatch’s core modes, Stadium rank isn’t tied directly to MMR. Instead, MMR serves as a “goalpost” toward which you can climb as you play more Stadium matches. Ranks reset in Stadium every season and every player begins at Rookie, gaining more points as you play. You may have noticed that you often get more points for winning a game of Stadium than you do for losing, which allows you to climb faster. In Core modes, this would never work since MMR needs to be “zero-sum” to function: you’ll gain the same amount of MMR for a win as the other team loses.

That’s why MMR and approximate Stadium skill tiers sometimes don’t match up. Two players with similar MMR ratings and similar amounts of won Stadium games will have very similar ranks, but someone with a higher core MMR will still start in Rookie since they’re new to the mode. 

Since Stadium’s calibration differs so much, we have two options: put players together based on Stadium MMR, or on Stadium rank. Putting players together based on rank feels awkward since actual Rookies will be playing alongside high-MMR players, so for the moment, we’re assembling matches based on Stadium MMR. While this means you may see a Rookie in your high-ranked games, that player’s Stadium MMR reflects their actual skill. We’re evaluating ways to make matchmaking smarter so that situation happens less often.

Queue times are also something we’re looking at for Stadium, but improvements may only come with time. Long queues are affecting high-skill players in specific roles—namely support—due to low populations of players at that skill level as well as general role disparity. We’re actively thinking about ways to improve the situation here and will share more as our plans evolve.

Thanks for taking the time to learn more about matchmaking.

25 Comments