LOL matching algorithm

Source: Internet
Author: User

This is a post that riot's design Director Tom Cadwell specifically wrote for Chinese players on how the system works.


At the same time in order for you to better understand the matching system, if you think you have encountered a particularly unfair match, please reply to the game start time and the end of the game, we will investigate the department of how the match is completed, the pit father's players are added to this board.


A lot of people complain that they don't understand, and I'm going to have a streamlined version of the metaphor:

There's a basketball league. countless players and about 20 levels of league.


All players are members of the 10 league, they are free to mix and match each other, winning people, upgrading to the 11 league, losing people to the 9 league.


then every league tournament starts again, and some people escalate and some people downgrade, Finally, the 20-level league has players to participate in.


A lot of our data show that a player's level will stabilize it between about 3 leagues, that is, Kobe Bryant is in the 20 league, and when he and 4 of the 17 league team, basically will not lose to the 17-League of people. And by dropping Kobe Bryant into a 10-League tournament, he would easily return to level 20 within 20 innings.


Ideally, players are playing with the same players they have experienced, and a mid-level player will not match Kobe Bryant, and Kobe Bryant will not match the player who just played the game.


In fact, the grading of the matching system will be more complex and smarter than this, using the ELO system used in chess.


Add another FAQ:

Q: System in order to maintain the winning 50%, whether it will be in my winning streak after the benefit of a few dishes to my teammates let me lose?

A: The purpose of the system is not to keep your winning percentage, but to let players with nearly the same level play together. When you play with nearly the same level of players, the winning rate will be nearly 50%, so the system is not beneficial to pit you.


Q: I am only 100 wins, why the system old match 600 wins player to me?

A: The winning field does not reflect a person's level. Suppose the matching system is likened to running, practicing 3 years of talent into 11 seconds and the first to run into 11 seconds of people we are the same view. The matching system is based on level rather than experience.


Q: I win 60%, why match 40% winning teammates, 60% winning opponents to me?

A: The winning rate can not reflect the level. Matching system not only depends on whether you win, but also depends on who you win. Like War3 Sky in the professional circle winning percentage is actually not high, but the average player win is 100%. Players of the same level, due to random match to the opponent's relationship, winning will 40%~60% unequal.


Q: You say the levels are almost the same, why do I think they're so food?

A: A matching system provides a fair opportunity, not necessarily your ideal result. We are able to pursue system fairness, but we cannot predict the performance of the player's single-council.

System 100% matches Manchester United against Real Madrid, but there is no guarantee that one time Manchester United will not be 4:0 to crush Real Madrid, and in this game, Cristiano Ronaldo is Yts, and he is dragging his own. Or Manchester United may have a 3-time streak of Real Madrid. However, the system will only match Manchester United to Real Madrid and not Manchester United against the Super Shenzhen team. The details of whether Real Madrid win or Manchester United win depend on the formations, on-the-spot play, and tactical intentions.


Assuming this pit Daddy player is really not in your level, he will always pit teammates, lose, grade has been reduced, this will let him out of your match range, so he can no longer match you to. According to our data, the player's ELO is basically stable within a smaller range. This is the difference between Shenzhen and Real Madrid, but also the Chinese national team to win the French team, and will never enter the World Cup reason.


System can not give you perfect teammates, players will be due to a lot of reasons to play bad: the Use of heroes, played do not want to hit the location, play style and teammates are not enough to match, early unfavorable want to hang machine and so on. However, the probability that you and the other players encounter such a situation is the same, the system does not favor either party. So if you want to be a perfect teammate, team up with your friends, just so you can meet a bigger opponent.


Suppose everyone has a good idea of how to identify the player level, but the false idea is to show that the match system is unfair by complaining about the player's in-game performance, which is a duel with the windmill. Each person's view is different, the system infers that he and you meet the same teammates and opponents when the winning probability is almost the same, which is the best we can do now.




Here is the text of the article.


Overview:

The purpose of the matching system is as follows, with priority levels high to Low:


1, protect the novice not to be abused by experienced players, so that no novice in the Master Bureau.

2, to create competitive and fair game games, so that the player's game to maximize the fun.

3, do not have to wait too long to find the opponent into the game.



The match system does its best to match levels close to the player, and the level of the player is from the level of who they have won before and their opponents. When you defeat your opponent, the system will think you are stronger, and when you lose to your opponent, the system will feel weaker. Although this is not so fair to a game, in the long run, it is fairly fair to play in multiple games: Because good players always have a positive, positive impact on the game's results. We used a method like this: Give a new account to a player with a high level, and then look at the results of their game after a few innings. We proved our idea through a lot of tests.



Moreover, the matching system knows that pre-team players have some advantages, assuming you are pre-teamed and will give you some stronger players. We use some very clever mathematical methods to solve the match fairness problem of pre-team players vs solo players. I even let two math doctors to verify that they all say to force!



How is the match finished?


First, the system puts you in the appropriate matching pool-depending on the game mode (match mode, rank solo/double, rank 5 people, other modes, etc.)


Then, the system tries to divide the people in the matching pool into a finer matching pool--5 team vs 5 team, low level novice vs some other low level novice, and so on.


When you're in a match pool, the system starts trying to find the right pairing, with the goal of matching a two-party winning 50% game.



1th step: Determine your strength:


* Assuming that you are a solo, use your personal matches directly (i.e. ELO values, matching patterns and qualifying matches with different matching points)

* Suppose you are a pre-team, your match points are the average of your team, and will be slightly improved depending on the size of your team, so you can match up to a stronger opponent to counteract your team's advantage. I and a PhD in computer Biology (computational biology Ph.D) studied the results of hundreds of games and calculated the advantages of a pre-team. We've also made some other tweaks behind the scenes, such as beginners and high-play teams, such as which of the blue and purple players on a map have a better edge.



2nd step: Determine your appropriate opponent:


* First, the system will match your ELO value to the player you are very close to. Finally, the system will relax the matching conditions, give you some not so perfect match, because you certainly do not want to never match people.

* Novice will get some special protection, usually the novice will only match to other novice (in the mature server, this proportion reached 99%+. Unless the novice and a senior player friend pre-team)



3rd step: Determine the match:


* Finally, the system will match 10 players of roughly the same level and rank, contributing to a game.

* The system will try to balance the team and try to make both sides ' chances of winning 50%. In most of the time, the error will be within 3%-similar to 50/50,49/51,48/52. There will be a little bit of difference in the chances of winning (which will be answered in q&a), but our research indicates that in most cases this is actually a very accurate prediction.



In the long term, how is my matching score (ELO value) measured?

We have used a modified ELO system. The basic point of the ELO system is to pre-measure the results of the two people by using a math score of two people-similar to "A and B tournaments, a will win 75% innings".



Then the results came out. Assuming you win, you'll add points, assuming you lose, you'll be deducted. Assuming you're "surprisingly" winning (the system thinks you're more likely to lose), you'll win a lot of other points. Extra, assuming you are a new player, you will be able to add points and subtract faster so that you can get into your level at a high speed. In the long run, this means that good players get high match points, and because they always exceed the expectations of the system, they will keep adding points until the system is able to predict their winning percentage correctly.



We changed the system to match the team, and the basic idea was to get a team ELO value based on all the players in the team. If your team wins, the system will be "stronger" if all the players in the team are better than the system, plus points. Although there are some problems, it is effective on the whole, especially when players are pre-teamed.



For example, I have 2000 normal match mode ELO on server in North America. Suppose I build a trumpet, even without talent and runes, when I hit level 8, I already have 1800elo. The system is not perfect, but it does allow the player to get close to the level of his or her position at high speed.



When you start playing, we also make some tweaks to the ELO, allowing you to get into the position of your level faster.

* We have a number of priority methods to identify a player, more skillful and more fierce than a standard new player. Suppose we find that yes, we'll improve his ELO a notch behind the scenes.

* We'll tell the same thing about the real rookie.

* Raising the level will also greatly increase your ELO value. This will also help the system distinguish between a 30-level summoner and a low-level summoner.



Suppose you want to know the theory of the ELO system, and many other details, you can look at this:

Http://en.wikipedia.org/wiki/Elo_rating_system

Http://zh.wikipedia.org/wiki/ELO



Uh, wait, how do you deal with team player vs Solo (single row) players?

In most cases, we will avoid this (almost all cases) by matching teams of 5 people to another team of 5 people.



We did a lot of research on the "part" team and found that the advantages were not as big as we thought, so we would also mix them into solo (single row) play home. We find that there are a number of factors that affect the size of the team advantage: from pre-team size (e.g. 2, 3, 4, 5 teaming), to the level of the team player, to the combination of high-play with rookie, to different levels of the player, and other subtle factors that must be taken into account. This is a bit more than some of the point-to-point algorithms we've seen--mixing random stats together to score--to be more reliable

By discovering these advantages, we know how many ELO values need to be raised for pre-team teams to achieve a fair match and to determine a proper, mathematically reasonable adjustment. The results are surprising in some cases (the statistics are corrected at the same time).



Although we do not give accurate values, as this is a trade secret, we can tell you:

* The 5-person team is only slightly stronger than the 5 passers-by.

* Some teams are only slightly stronger than 5 passers-by.

* Rookie 5 team does not bring too much advantage, but high-play team will have a very big advantage.

* Teams with a high variance in team strength, such as lower teams will be stronger. (Variance is simple, is the same as the average value of the reaction of the different elements of the size difference, large variance indicates a large difference, high variance of the team similar high play with low play, low variance of the team of each player strength close. )

* This shows that in general, a high level player's carry effect (which can be understood as a lead or thigh) is more powerful than that of a low player (feeder).



All right... So why match pre-team players with non-party players?

Here are some reasons:


* This will help the system find the matching points that are right for you faster and give your system a fair match faster. This works by assuming that you have a team that will reduce the ingredients of your luck, assuming that you have a single row and that your teammates will have a greater impact on your winning or losing. Assuming you're teaming up, you'll make a team of players with nearly the same level as you, and you'll be less likely to encounter a macho/pit mate randomly. Because of the results of the game many others come from you and the level of friends performance, rather than random factors, so your matching chapter faster to reach the precise value.

* We want players to be able to play with their friends, as this will make them more fun to play with. You also can't set up a separate 2-person match pool or 3-person matching pool for 5v5 games, and you need to combine them to make the system work. We chose to include a team of 5 people because it was fun. Assuming we have enough matching pools in the future, we may be able to differentiate between teams of 5 and some teams, but the data tells us that this basically does not improve the fairness of the match, and the effect is basically the same.



Some other common problems are:


Q: Why not add some other details, like kill number, to determine my matching score?

A: because this is biased, and because it is difficult to score the number of kills, you use a gank hero (like Mice and masters), how many people to kill talent is good? And this will make good auxiliary players very bad, because their goal is not to take the head, and even for their own carry block die. Finally, the player will be useful to brush the data, to drag long game time, and then take a large number of farm each other's head, rather than to win the game. We try to put a measure of the level of the player and the mechanism that motivates the player to try to win, we avoid unnecessary peripheral behavior, which is not fun, but also disrupts the matching system.



Q: I am very indignant, because the matching system old to my pit Daddy teammate (feeders, send head of). Why not stop this situation from happening?

A: We do try to prevent this from happening, but suppose you are matched to a significantly weaker player, which also means that the matching system matches you to one or more powerful players at the same time. According to our research, we found that carry (thigh) has a stronger effect on the team than feeder (the head, the pit father). The reason is that in lol, the benefits of killing the same player multiple times are diminishing, unlike other games. Our analysis indicates that, in the same situation as the average ELO, a player's ELO value of 100 is increased or decreased (the other player corresponds to a decrease/raise to maintain an average score), and the strength of the entire team increases by about 7 ELO values. It also shows that the role of carry in LOL is more than that of feeder. Sure, sometimes you lose this game because of a match to feeder, but that's because your team's carry is not enough.



Q: In this case, assuming I have a streak of several, will I be matched to some totally invincible opponent?

A: not all of them. Winning a streak leads to a higher match, you will continue to meet a stronger opponent-but we are not profitable to keep your winning percentage at 50%, and our goal is simply to predict the results of the game correctly. Finally, you will reach your limit, you will be roughly 50% of the winning percentage. Players with a higher than average level tend to have a slightly higher winning rate than 50%, because there are a lot of other players that are weaker than they are, and fewer players than they are strong. So when matching, it tends to "match down" slightly. For top-ranked high-end players, they often have a 90% winning percentage.



Q: How will you design a fixed team? An arena team like Wow?

A: It's a good idea, and it gives us a chance to design a better matching system. We will do this sooner or later, and use the new methods we have developed. We need to examine and figure out how strong you are in general (such as your personal points) and agree to create/disband teams at the same time. It's a big project, but we're passionate about it.



Q: Assuming that the matching system is really that fair, then why do I always meet that kind of one-sided game?

A: There are two reasons. First, lol sometimes "snowball effect" will be very obvious. The early poor performance will cause the game to feel very one-sided. In particular, some teams, assuming they start very downwind, will always be very downwind. We met the same team, the first inning 25-5 win, the 2nd inning did a similar score to lose. The second reason is that the player does not play well, and the team chooses the lineup is not good. To play a close game, you need to balance the player's level and balance the selection of the lineup. Sometimes players choose a less than a slag lineup, such as 5 melee DPS, or 3 tank 2 mage or the like, or did not choose to play wild heroes and opposite there. This kind of words, although your team strength is also very good, but the situation often dire not bear to see.



Q: Why do I, as a high-level player, sometimes match up to some low-level players? They all look like they're here to send a head.

A: when a high-level player and a low-level player are teaming up, this is a very frustrating problem. We want players to be able to play with their friends and hope it's a pleasant experience. But we do not want to set some people's happiness on the pain of some people, so we tend to score this combination higher, to protect the new players will not be abused by high-level players. Unfortunately, no matter what we do, we match this combination to any game, which can lead to unpleasant experiences. Therefore, we plan to implement an "unbalanced teaming" queue, similar to the one we try to match 5 people to a team of 5 people.



Q: I'm level 20, and then I've been matched to some level 10 and some 29 levels, what's going on?

A: when players of different levels are teaming up, we will use their average level as a matching reference. The rank is not the dominant parameter of the matching system--the matching system is usually matched by strength--but we also try to match the players with similar levels. In the case of pre-teaming, we are unable to choose the player, so we do our best to use the average grade. We will think of level 30 players in this computing system as level 36, so we can usually make the player's game without a level 30 player, but sometimes, the level 29 players can be inserted.


LOL matching algorithm

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.