/dev: Making Sense of Matchmaking
Matchmaking and Ranked are core parts of Wild Rift, but how do they actually work? Lead game designer Josh Menke is here to pull back the curtains on MMR, “loser queue”, and why Gold and Emerald players sometimes end up in the same game.
HOW DOES WILD RIFT MEASURE SKILL?
We use a rating system in order to measure player skill. The skill system creates a number that aims to provide the most accurate prediction of a player’s ability to win matches. We call this number a player’s matchmaking rating, or MMR for short. A player’s MMR tells us how they’re “expected” to play in their next match.
We currently have two MMR systems running in Wild Rift. Ranked uses the original system, and Normals uses an upgraded version that is significantly more accurate at predicting who will win matches in our data. We do have future plans to also upgrade the MMR system in Ranked play, but because a player’s rank has a lot of connections to their MMR, it will take more time to integrate the new system.
HOW DOES MMR WORK?
The exact mathy details are beyond the scope of this blog, but it’s basically just a more advanced version of the types of systems commonly used for determining skill, like Arpad Elo’s system. At a high level, at the end of each match, winners go up based on how hard the match was, and losers likewise go down. In an even match, players all go up and down about the same, whereas in a one-sided match, it depends on if the outcome was a surprise or not.
If the obvious happens, MMRs don’t change much, but if there’s an upset, it means the MMRs of the winners must be a bit too high, and the losers too low, so they will move more. Your own MMR will converge to a value equal to the skill of the players that play just as well as you do. This is why we try to matchmake you with and against players at that skill.
HOW ARE MATCHES MADE?
The goal of matchmaking is to get players into the best matches possible in terms of:
- Good teammates near your own skill (similar MMRs on your team)
- Fair matches where both teams have the same chance to win (similar MMRs on the other team too)
- Good latency (ping)
- While taking into account position preferences (if applicable)
When you hit Find Match, you are placed into a pool of players that are searching for a match in the same game mode.The matchmaker then basically repeats the following constantly every second, finding matches for everyone:
- Grabs the longest waiting player or party.
- Checks if there are enough players within a legal range of the player or party’s average MMR to create a match. If not, the system won’t find a match for this player this time around, and will try again almost immediately. The system also prefers the closest players it can find here, in order to give everyone similarly-skilled teammates if possible.
- If enough players are found, the system will create potential teams while balancing both the amount of MMR on each team, as well as position preferences. MMR per team is balanced to give each team the same chance at winning the match (close to 50%).
- Once teams are made, the matchmaker does a final check to make sure that the difference in MMR between the two teams is within a specified limit to prevent one-sided matches if possible. If it isn’t within tolerance, the match is thrown out and the system will go back to (2) until it finds another set of teams for the player/party, or runs out of candidates.
- Once the match is ready, players are notified and pre-game can begin. The matchmaking system then goes back to (1) and grabs the next longest waiting player.
In step 2, the matchmaker only lets players match if their MMR and rank are within a certain distance of each other. That distance starts small, and then grows a set amount every second. This happens over a 2 minute period. After that, the allowed Rank and MMR gap has fully expanded, and the system will stay in expanded state for the next 18 minutes for a total of 20 possible searching minutes. At that point the search will time out and need to be restarted. Note: this means it is always faster to keep waiting than it is to restart your search within that 20 minutes, because every time you restart your search, you have to re-expand over 2 minutes.
WHY DO I GET BAD MATCHES?
There are a few sources of what can feel like a bad match:
- Snowballing: We share the same philosophy on snowballing as League PC: “In terms of design, we want League to be a game where getting a small advantage and running with it is one path to victory. Any small successes that are snowballed can determine early leads, and then sometimes the result of the game.” So we can have two teams that are actually well-matched, but due to how the game played out, it doesn’t feel that way in the end.
- Team composition: Some champions, like assassins and mages, are often able to dish out tons of damage in a super short time. So, if you’re playing against a Rengar with a couple of items, and he grabs a double kill in the Dragon lane, it can feel like you have less power to make comebacks against him, but in reality you may have an equal technical skill.
- MMR variance: The matchmaker was unable to keep the MMR of the players in the match as close as it would have preferred (see #2 in how the matchmaker works). Right now, we have seen edge case players struggling to find matches and have had to increase the allowed gap across the board in order to accommodate them. This means in order to let some players play the game at all, we’ve had to widen the allowed MMR gap for all players. This can result in matches where the MMR gaps within a team are larger than we would have liked. We have plans in the near future to adjust those gaps more dynamically, customized to each player, rather than having to increase the gap for everyone. This will result in most matches being as tight as possible given who is currently playing.
- MMR prediction: The skill system sometimes misidentifies the skill of the players in the match. If the skill system thinks someone is better or worse than they actually are, then the matchmaker can end up doing its job just fine, but the matches aren’t as good as expected. As discussed above, the upgrade to MMR that we are running in Normals results in this being much less likely, going by how accurately the new system predicts which team will win each match. This improvement will make its way into Ranked as well, helping matches feel better across the board.
- Unlucky game: Someone is just having a bad game and not playing as well as usual. Nobody plays exactly at the same skill level every game. In fact, players can swing from Emerald down to Gold match to match. When this happens, what looked like an even match can change into a landslide even without the snowball effect.
WHY ARE RANKED AND UNRANKED DIFFERENT?
The matchmaker doesn’t consider ranked at all when it is matchmaking in unranked games. We feel players play differently enough between them that unranked and ARAM have their own MMRs separate from ranked. For example, players in unranked game modes may be looking to have fun with an unusual playstyle or build, or they may be trying out new champions. Separating the MMRs allows us to keep them tied to the differing intentions of players in each format.
WHY DO I GET LOW RANK PLAYERS ON MY TEAM?
A problem we see today is that because we currently try to match on both MMR and rank, players can be forced by one or the other into waiting longer than is necessary to get a fair match. For example, a player with a Silver rank, but an MMR more like Diamond, has a hard time finding matches because there are less players with their MMR in Silver. In order to make sure every player can find a match, we’ve had to expand the allowed rank gap, leading to larger apparent rank gaps on your team.
However, as long as the MMRs are accurate and the MMR gaps are close, the matches will still be fair. As mentioned above, we have a more accurate MMR system coming to Ranked in the near future, so in those cases where the Rank gaps look larger, you can expect those players to still play close to your own skill level.
As our MMR system gets more accurate, we will move away from matching on Rank entirely and focus on MMR, allowing for much shorter queue times and more fair matches. When you do get lower Rank players in your match, the game will display a special icon next to them when their MMRs are similar to the other players in the match, and on average they will play fine. When they don’t, refer to the section above on bad matches.
WHY DO YOU PUT ME IN “LOSER QUEUE”?
The short answer is, we don’t. There is no “loser queue”, and the matchmaker has no idea what kind of streak you are on. The matchmaker works exactly the same regardless of your current streak or even win percentage (which it also doesn’t use).
Keep in mind that streaks themselves are normal, even in a perfectly fair system. Longer streaks are less common, but even a 10-game losing streak will happen almost 10% of the time within 100 matches.
The more complicated answer is that there are some aspects of the older MMR system that could lead to a player’s MMR being briefly overestimated, potentially resulting in a few extra losses. This is a pretty subtle effect, however, and completely disappears under the upgrade to the MMR system launching in Patch 2.6. Any streaks experienced in Normals are, well, normal.
IN DIAMOND+, WHY DO I GET FEWER VICTORY POINTS THAN I EXPECT?
There are two ways your VP gains can become lower; potentially a combo of both:
- You are not winning as often as other similarly-ranked players against opponents of the same MMR, so your MMR has dropped to be lower than the average MMR of your rank. Because your MMR has dropped, the opponents you get are also easier than average for your rank, and so you will get less VP for winning because your matches are easier.
The way to “fix” this situation is to win more than 50% over a sustained period of time. This will raise your MMR up to the level of your current rank (or beyond) and give you more VP. Once that happens, you no longer have to win more than 50% of your matches in order to climb. In fact, if your MMR is much higher than most in your rank, you can climb quite quickly winning only 50% of your matches.
Note: This happens naturally when you get promoted into a new Rank. Your MMR may have been high for a Master level player, but it could be just average for a Grandmaster. VP gains stabilize at around +/-15 when your Rank is close to most players around your same MMR.
- You will also experience a drop in VP gains if the MMR of the players in your rank increases past your own MMR. If, over the course of the season, the skill of the other players within your Rank goes up faster than your own skill, then despite your MMR actually not going down, everyone around you has gone up. This creates the same situation as the previous point, with the solution still being to increase your MMR by winning more than 50% until VP gains stabilize or go positive again.