“When you understand something, then you can find the math to express that understanding. The math doesn’t provide the understanding.” – Lamport
Lately I have been working with analyzing different ways to calculate, update and track user skill depending on different pre and post parameters. The first question I asked myself was: what is actually player skill? This might seem like a question with only one answer, but if you think about it you will soon notice that you can twist it in many different ways; e.g. is the player that helps the team (true sportsmanship) the best player, or is it the single player with most kills that should earn that title? As I have been working and studying a lot in the area of game design I soon realized that the number of answers to this question is a function that depends on the complexity for the game. That is, in a game like chess the answer to the question might be trivial and depends only on the winning and losing condition of the particular match.
During my research I came across the TrueSkill algorithm, which is a skill based ranking system for Xbox Live developed at Microsoft Research. For long (far too long in my opinion) the Elo ranking system has been widely used and modified for different kinds of games and today many refer to the word “Elo” when talking about how skilled and experienced they are. However, the Elo system comes with many flaws, such as not taking team composition into account (and you already know that teams are a big part of our game).
So, what is the TrueSkill algorithm and how does it work? Well, to put it really really simple it takes two different factors into consideration:
- The mean (average) value which is often represented by the Greek letter μ (mu)
- The standard deviation, represented by the Greek letter σ (sigma). This indicates the systems uncertainty of the player.
If a player got a high sigma this means that the system is unsure about that particular player and in the same way a low sigma means that the system is pretty safe about the players skill level. This means that a player with high mu and high sigma isn’t certainly going to be merged with other players with high skill, but instead depends on the conservative skill value that is a composition of both the player’s mu and sigma value.
These two diagrams illustrate two players:
- Eric with a pretty high μ and low σ (the system is sure about this player)
- Natalia with a quite the same μ but much higher σ than Eric.
After Natalia won the match we see that Eric’s skill curve remains almost the same but Natalia’s curve has been both narrower and taller, which means that the system has been surer about the skill of Natalia.
For more information I refer to Moserware: Computing Your Skill by Jeff Moser, a great article where I got the information from and that digs deeper into the subject of TrueSkill.
Don’t forget to follow us on Facebook