Logo
  • Home
  • Game
  • Research
  • Economy
  • Community
Join Discord
👑

Ranking System

  • Overview
  • Elo
  • Elo Methodology
  • Elo Adjustments
  • Match Ups

Overview

Each NFT submitted into Ranked Battle is ranked on a global leaderboard.

The Ranked Battle mode is currently using an ELO scoring system .

Elo

Elo, named after Arpad Elo, is the basis for ranking systems in many games, ranging from competitive sports to chess. In a typical Elo system, players start with the mean score of 1500. If players perform well (wins against their opponent), their Elo score rises. If they perform poorly (lose against their opponent), their Elo score falls. The system balances at the mean score, meaning from an Elo score perspective, each match is zero-sum (the winner’s score rises as much as the loser’s score falls).

Over time, each player’s score should accurately represent the skill relative to the other players on the leaderboard. In fact, the system is designed in a way to represent the expected win rate of players. Specifically, a player ranked 200 points higher than another player is expected to win against the lower-ranked player ~76% of the time while a player ranked 100 points higher than another player is expected to win against the lower-ranked player ~64% of the time.

This also means that upset wins affect the scores more. For instance, in a match between two players with vastly different scores, if the player with the lower score wins, their score will go up significantly. However, if the player with the higher score wins, their score may not change.

Elo Methodology

Let RAR_ARA​ and RBR_BRB​ be the ratings of Player AAA and Player BBB, respectively.

The expected winning rate of Player AAA is calculated as follows:

EA=11+10RB−RA400E_A = \frac{1}{1+10^\frac{R_B-R_A}{400}}EA​=1+10400RB​−RA​​1​

The expected winning rate of Player BBB is calculated as follows:

EB=11+10RA−RB400E_B = \frac{1}{1+10^\frac{R_A-R_B}{400}}EB​=1+10400RA​−RB​​1​

EAE_AEA​ and EBE_BEB​ can be interpreted as the probability that Player AAA and Player BBB wins the matchup against each-other, respectively.

💡
Consider a matchup between Player AAA with an Elo rating of 150015001500 and Player BBB with an Elo rating of 160016001600. We calculate EAE_AEA​ as 11+101600−1500400≈0.360\frac{1}{1+10^\frac{1600-1500}{400}}\approx 0.3601+104001600−1500​1​≈0.360 and EBE_BEB​ as 11+101500−1600400≈0.640\frac{1}{1+10^\frac{1500-1600}{400}}\approx 0.6401+104001500−1600​1​≈0.640.

This means that Player AAA has around an expected 36% chance of winning against Player BBB while Player BBB has around an expected 64% chance of winning against Player AAA.

We note that EA+EB=1E_A+E_B = 1EA​+EB​=1 since the matches are played between two players. The ideal match ups are those where the skill differences between the two players are minimized, in other words, a match up where EA≈EBE_A \approx E_BEA​≈EB​, which is possible only if RA≈RBR_A \approx R_BRA​≈RB​.

Let Player AAA be the instigating player (from whose perspective we consider the results of the match). The ResultResultResult is recorded as 111, 0.50.50.5, or 000, depending on whether Player AAA wins, ties, or loses.

The adjusted Elo rating after the match for Player AAA is calculated as follows:

R’A=RA+K∗(Result−EA)R’_A = R_A + K *(Result-E_A)R’A​=RA​+K∗(Result−EA​)

The adjusted Elo rating after the match for Player BBB is calculated as follows:

R’B=RB+K∗(1−Result−EB)R’_B = R_B + K *(1-Result-E_B)R’B​=RB​+K∗(1−Result−EB​)

The KKK is known as the K-factor or the development coefficient, and it’s the maximum absolute amount a player’s score can change in one Elo update. In other words, the higher the K-factor, the more volatile the player’s Elo ratings will be. See Elo Adjustments section on methodology for determining KKK.

In the calculations for both players, the K-factor of the instigating player, in this case Player AAA, will be used.

💡
Consider a matchup between Player AAA with an Elo rating of 150015001500 and Player BBB with an Elo rating of 160016001600. Assume that Player AAA instigated the match and their KKK is 202020. We recall that EA≈0.360E_A \approx 0.360EA​≈0.360 and EB≈0.640.E_B \approx 0.640.EB​≈0.640. The three possible cases are as follows: If Player AAA wins, then Result=1Result = 1Result=1. The new Elo for Player AAA is ≈1500+20∗(1−0.360)=1512.8\approx 1500+20*(1-0.360) = 1512.8≈1500+20∗(1−0.360)=1512.8 while the new Elo for Player BBB is ≈1600+20∗(1−1−0.640)=1587.2\approx 1600+20*(1-1-0.640)=1587.2≈1600+20∗(1−1−0.640)=1587.2. If Player AAA and Player BBB tie, then Result=0.5Result = 0.5Result=0.5. The new Elo for Player AAA is ≈1500+20∗(0.5−0.360)=1502.8\approx 1500+20*(0.5-0.360) = 1502.8≈1500+20∗(0.5−0.360)=1502.8 while the new Elo for Player BBB is ≈1600+20∗(1−0.5−0.640)=1597.2\approx 1600+20*(1-0.5-0.640)=1597.2≈1600+20∗(1−0.5−0.640)=1597.2. If Player AAA loses, then Result=0Result=0Result=0. The new Elo for Player AAA is ≈1500+20∗(0−0.360)=1492.8\approx 1500+20*(0-0.360) = 1492.8≈1500+20∗(0−0.360)=1492.8 while the new Elo for Player BBB is ≈1600+20∗(1−0−0.640)=1607.2\approx 1600+20*(1-0-0.640)=1607.2≈1600+20∗(1−0−0.640)=1607.2.

We note that since we use the same K-factor to update both parties and since EA+EB=1E_A+E_B = 1EA​+EB​=1, the points being gained by the winning party is exactly the points being lost by the losing party. We also notice that the player with the higher Elo score has more to lose; the higher-rated player gains less than the lower-rated player for a win but loses more than the lower-rated player for a loss. This is because the higher-rated player is expected to be more likely to win (in the example, EBE_BEB​ was higher than EAE_AEA​), and thus if they win it’s less of an upset than if the lower-rated player won. Furthermore, we also note that even if the two players tie, the lower-rated player still gains Elo score from the higher-rated player.

Elo Adjustments

The methodology for determining a player’s K-factor is taken from FIDE Rating Regulations. The system is dynamic and the criteria are as follows:

  1. K=40K=40K=40 → This K-factor is used for players who has played less than 30 games; we want more variability to speed up Elo score discovery. The higher initial K-factor adds extra variability and ensures that new players can be quickly moved into a range commensurate with their skill.
  2. K=20K=20K=20 → This K-factor is used for players who have played more than 30 games and have a score of less than 240024002400. More experienced players are assumed to already be in a range commensurate with their skill; less variability in ratings changes assists with more accurate matchmaking.
  3. K=10K=10K=10 → This K-factor is used for players who have played more than 30 games and have a score of over 240024002400; the K-factor remains at 101010 even if the player’s Elo drops below 240024002400. Highly-experienced and highly-skilled players do not need as much variability in ratings change to have an accurate score.

Match Ups

When a player initiates a fight with their NFT (we will refer to this as the Challenger NFT), the matchmaking system randomly selects a group of NFTs that are within an acceptable deviation of the Challenger NFT’s Elo. We then determine a target size of the opponent pool. A random opponent will be selected out of opponent pool and matched against the Challenger.

Example

➡️ Challenger NFT Elo: 1,600

➡️ Acceptable Elo Deviation: 100

➡️ Opponent Pool Elo Range: 1,500 ≤ x ≤ 1,700

➡️ Opponent Pool Size: 30¹

Opponent Pool Makeup

15 opponents will be selected between 1,500 to 1,600 and 15 opponents will be selected between 1,600 to 1,700.

Notes:

  1. Number of players for opponent pool will be finalized closer to the launch of the game.
⬅️
Back
➡️
Next
Logo

©️ ArenaX Labs Inc. 2023

DiscordXYouTube