I have a 1v1 game that I would like to apply a ranking system to like most competitive multiplayer games out there.

I'm specifically looking for systems like League of Legends where they have Silver, Gold, Plat, Diamond etc and players can move between those ranks as they win or lose.

I'm calculating player ratings with TrueSkill. I actually have not a clue if I'm using it correctly I'm starting off everyone with a mu of 50 and a sigma of 10?

After some iterations people end up with different mu and sigma values. How should I determine what mu values are what ranks?

  • 1
    \$\begingroup\$ It doesn't look like TrueSkill is meant to replace an XP/ranking system. You could have players level up/down based on their performance, and then use TrueSkill to determine which players should play against each other. \$\endgroup\$
    – jhoffman0x
    Commented May 1, 2018 at 23:31
  • 1
    \$\begingroup\$ @jhoffman0x I think TrueSkill is the definition of their performance. An XP and a ranking system are not synonymous. The ranking system is supposed to map to skill while XP maps to time played. The ranks in theory should be determined by player ability. If I was using Elo for example it would be easy to determine as that system is well documented. I was wondering if anyone knows how to interpret TrueSkill scores. \$\endgroup\$
    – Harry
    Commented May 2, 2018 at 18:31
  • \$\begingroup\$ Yeah I guess it would've been better to say "ranking" instead of "XP/ranking." Blurry's suggestion seems feasible: ordering players by their MU and assigning ranks based on percentiles. I'd rather have more control over how quickly a player can move through the ranks though. \$\endgroup\$
    – jhoffman0x
    Commented May 3, 2018 at 0:11

2 Answers 2


While I'm not that familiar with TrueSkill; I would probably use the MU to indirectly determine their rank. If you had Gold be "Within the upper 10th-percentile of MU" and Silver be "Within the upper 30th-percentile of MU" (etc..) then you don't have to futs-around with specific numbers.

You could, instead, run a reasonable sized beta test to see where percentages you would consider using seem to stabilize and then use a nice round number that's nearby. Say you have 1000 users and the upper 10% have a lower-bound MU of 516; you may then decide that everyone over 500 is "Gold" now that you've seen how your algorithm performs in the real world.

Heck, you could actually do this with simulated games to start with to get a rough estimate.

If your TrueSkill Mu can go to infinity over time (as in, if everyone is playing the upper ranks continue increasing) I'd lean back into my first suggestion and basically have a percentile cut-off.


Variables in consideration: You need to decide if Silver, Gold, Plat, Diamond ranks are fixed to a value or not. Also if your rank is in relation to the number of players or not. If it is so, for the first players will be easier than the latest ones or not.

As for example in a soaring simulator game, the rank is fixed. If the pilot makes more than an amount of time it gets silver and if it passes that and makes more than an amount of altitude it gets Gold. Each rank will be in function of the amount. Mu will be the rank and sigma the amount but:

Using Microsoft TrueSkill, ("Published formulas for Trueskill are not complete" Wikipedia) is better if you read the latest state if the patent that will help you to understand how this tow variables mu and sigma are used: LINK


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .