Login  |  Register

Author Topic: Ratings & Leaderboard  (Read 8058 times)

Offline Stef

  • Administrator
  • *****
  • Posts: 380
    • View Profile
Ratings & Leaderboard
« on: 31 March 2017, 12:55:05 pm »
Since release 1.2 players have a rating, based on glicko-2.

Every player is assigned a level, which we try to keep between 0 and 100.
- New players start at 20.
- You can go up by winning games.
- The only thing that matters is win/tie/lose (point margin is irrelevant; resigning is the same as losing).
- You can also go up if the system gets to know you better (e.g. after winning a game and losing one).
- You will go up more if you beat a higher ranked opponent.

There are two rating systems. One for 2-player games, one for 3-4 player games. This is because we intend to add an automatch queue for 3-4 player games in the near future. These rating systems are completely independent of each other. If you win a 3 player game, it counts as a win against both opponents. If you end up 2nd in a 3 player game, it counts as a loss against the winner and a win against the loser.

The leaderboard will update on a daily basis at 0:00 UTC. Players who haven't played any games that day will see their level go down a tiny bit. You will not be visible on the leaderboard if you haven't played any rated games. The leaderboard displays you, your friends and the top 20 players.

If you don't use automatch but create a table of your own, you can select whether or not this game will be rated. Games with bots, games with 5+ players and games respecting familiar cards will always be unrated though.

While it's possible to beat up dummy accounts in order to game the leaderboard, this is not a good idea if you're interested in the longevity of your account.

Offline Stef

  • Administrator
  • *****
  • Posts: 380
    • View Profile
« Reply #1 on: 31 March 2017, 01:28:47 pm »
Find a game will get you rated games. The game will not respect opponents familiar card settings (or your own).
- "Equal opponent" means someone whose level differs at most 15 levels from yours (approximately)
- "Any opponent" means someone whose level differs at most ~60 levels from yours.
- "Wait for expansions" accepts any opponent that has a subscription to at least half the expansions.

Find a practice game will get you an unrated game. It will respect both your familiar card settings and that of your opponent. It will not match you with someone whose familiar card settings are very restrictive compared to your own.

"respecting your familiar card settings" means that a kingdom is generated with only cards that you have marked as familiar, plus a configurable number of unknowns (2 by default). You can select which cards are familiar in the familiar cards tab, and set the max unfamiliar cards under options.

Offline Stef

  • Administrator
  • *****
  • Posts: 380
    • View Profile
Rating Details
« Reply #2 on: 31 March 2017, 03:42:00 pm »
This post is only for people interested in the underlying details

Your rating in glicko-2 consists of three numbers (μ, φ, σ).

μ is your estimated skill which starts at 0 and will go up for players better then average and down for players below average.
φ is your deviation, which starts at 2 and will go down whenever results come in and go up when they don't.
σ is your volatility, which starts at 0.06 and impacts how quickly your skill will change based on new results.

Glicko2 claims it's 95% certain your actual skill is between (μ-2φ) and (μ+2φ), and suggests using (μ-2φ) for rating / leaderboard, so we're doing that. It's also common to translate this (μ-2φ) to a more human-friendly number. We decided to go with levels, which are 50 + 7.5 * (μ-2φ), rounded to the nearest integer, but never below 0.

The 2P leaderboard updates are computed with τ=0.4; for 3-4P τ=0.3. These are relatively low values, because Dominion is a game with a relatively high chance that a weaker player beats a stronger player.

It's quite possible that 50 + 7.5 * (μ-2φ) is not very good at mapping everyone to the 0-100 range. If too many people end up at 0, or if someone goes above 100, we'll change the 50 or the 7.5 later on, but that won't impact the actual rating system under the hood.


There is only one queue with ranked players, even though there are several buttons to enter this queue. When you enter the queue, the system first looks at eligible opponents already in the queue. For every opponent it tries to assess the suitability on a scale of 0-1 on three different factors:

- level suitability = 1 - (atan(levelDifference / 20) * 2 / π)
- waiting suitability = atan(duration / 10000) * 2 / π
- familiar cards suitability = percentage of cards your opponent familiarized of the cards that you "expect to see". (you "expect to see a card" if you both subscribed to it and are familiar with it).

Both players have to say yes to eachother. For this decision, both the time and the familiarity factor are irrelevant.

- players who are "searching for a suitable opponent" will say yes to anyone with level suitability > 0.6 (~14.5 levels)
- players who are "searching for any opponent" will actually say yes to anyone with level suitability > 0.2 (~61 levels)
- players who are "waiting for expansions" will say yes to anyone who has subscribed to half the sets or more.

If there is at least one match (i.e. both players say yes to eachother) you will instantly find a game. You will be matched with the player where (level suitability + waiting suitability) is highest. If you're not matched, you're added to the queue.

familiar cards suitability is only used for the unrated queue, because that's the queue that will actually respect familiar cards. In that queue, players say yes to eachother if the familiar cards suitability is at least 0.4, and when selecting the best opponent this is based on the sum of all three (level suitability + waiting suitability + familiar cards suitability).