In esports games, especially when there are multiple players in the game need to balance the level between the team, so that the game more interesting. Such a contestant the ability to balance system usually consists of the following three modules:
- A module that tracks the game results of all players and records the player's abilities.
- A module that matches the members of the game.
- A module that publishes the capabilities of each member of the competition.
In fact, the existing game scoring system is the ELO score, but the ELO score is only a game played by two players. TrueSkill system is a Bayesian inference based scoring system, developed by Microsoft Research to replace the traditional ELO scoring, and successfully applied to the Xbox Live automatic Matching System. TrueSkill Scoring system is the extension of Glicko scoring system, which is mainly used in multiplayer games. The TrueSkill scoring system takes into account your level of uncertainty, taking into account the player's winning rate and possible level fluctuations. After the player has played more games, even if your winning rate is not changed, the system will change your rating because of your level of knowledge.
how to calculate capacity
The TrueSkill ranking system is designed for the player's ability to overcome the limitations of the existing ranking system and to ensure the fairness of both sides of the tournament, which can be used as a ranking system in the league. It is used as the Bayes theorem for player rankings. The system is characterized by the assumption that each player's ability is not fixed, the ability level of the performance of a bell-shaped curve (normal or Gaussian distribution).
The green area 15~20 represents the rating of the ranking system pair. It can be seen that the system score is relatively conservative. The smaller the σ , the closer the μ , the higher the ability of the corresponding player. Overall, the player's level is influenced by "average score" and "player stability".
Since the TrueSkill ranking system uses the Gaussian belief distribution to describe the ability of a player, it means that the player's ability always falls within 4 times times the σ (probability is 99.993666%). 650,000 of player data tracked by Microsoft showed that 99.99% fell within 3 times times σ . Interestingly, the TrueSkill ranking system can use 1 as the initial uncertainty to do all the calculations, multiplying μ and σ can be scaled to any other range. Assuming that all calculations are based on the initial values of μ=3 and Σ=1, if a player has a level 50, almost all μ occurs at ± 3 times times the initial σ,σ can get 50/6 = 8.3. The biggest difference between two players is that μ is worth a size. Assuming σ is equivalent, the greater the number of players who win the opportunity, the higher the principle applies to the TrueSkill ranking system. But does not mean that μ high will certainly win. In a single match, the player's personal performance is quite the same as the player's ability, and the results of the game are determined by personal performance. Therefore, the ability to think of a player in the TrueSkill rankings is the average performance in a large number of games. The principle of change in personal performance is a parameter of ability performance.
How to update competency values
The TrueSkill ranking system will only update μ and σbased on the results of the match, and it assumes that the situation is a player's performance around his ability to change the water, if a player plays a game based on points, He defeated all the other 10 opponents and he had the same score as the one against the other, but the two games did reflect the abilities of the different players. It usually makes σ fall. Before calculating a new game result, the TrueSkill ranked system calculates the position of the contest and the position of the player before the match. The change in rankings ultimately affects the uncertainty σof player skills. This parameter can be used by TrueSkill to record the player's skill changes. Also σ could never be for 0.
The table below is from Microsoft Research, which gives the 8 newbies a change in μ and σ after participating in a 8-person game.
Here's a very interesting phenomenon: pay attention to fourth place Darren and fifth Eve, their σ is the smallest, in other words the system thinks that their ability can be the smallest fluctuation. This is because we know the most about them through this game: they won 3/4 people and lost to 4/3 people. And for the first Alice, we only knew she had won 7 people. If you want to know more detailed quantitative analysis you can first consider the simplest two-person game situation
In the above equation, the only thing unknown is the performance of the player. There is also the game mode. The coefficient β2 represents the average variance of all players. v (.,.) and W(.,.) are two functions that are more complex. ε is a parameter related to game mode. In short, you win the increase, lose the decrease, but whether winning or losing, are in the reduction, it is possible to lose a rise in the situation.
how to match a competitor
A close opponent can bring the best game, so when you automatically match the opponent, the system will arrange as many players as possible with the closest level possible. The TrueSkill scoring system employs a function with a range of (0,1) to describe whether two people are evenly matched: the closer the result is to 0, the greater the gap, the closer the 1 represents the level. Suppose there are two players A and B, their parameters are (μa,σa) and (μb,σb ), the return value of the function to these two players is
The value of C is given by the following formula
If two people have a greater chance of being matched together, the average value is close enough (the E index), and the variance is also closer (d).
How to create a competency leaderboard
TrueSkill assumes that the player's level can be represented by a normal distribution, while the normal distribution can be fully described with two parameters: mean and variance. Set a rank value of R, which represents the player level of the normal distribution of two parameters mean and the variance is μ and σ, then the system to the player's rating is rank value r=μ-k*σ The larger the K value, the more conservative the system score. On Xbox Live, the system gives each player an initial value of μ= 25 and σ= 25/3,k=3. So the player's starting rank value is r=25-3*25/3=0.
Code Reference:
Python version: http://packages.python.org/trueskill/
C # version: Https://github.com/moserware/Skills
Reference Links:
Http://research.microsoft.com/en-us/projects/trueskill/default.aspx
Http://research.microsoft.com/en-us/projects/trueskill/details.aspx
Http://research.microsoft.com/en-us/projects/trueskill/calculators.aspx
Http://research.microsoft.com/en-us/projects/trueskill/faq.aspx
Http://www.moserware.com/2010/03/computing-your-skill.html
TrueSkill Principle and realization