- The league is meant to run indefinitely, with occasional breaks.
- Each player starts with 1000 rating. Winning a match gains rating and losing does the opposite. The higher your rating, the less you gain and the more you lose. The exact algorithm is explained below:
- Before every round each interested player must react to the Discord message with sign-ups for the given round.
- The organizer of the league is allowed to take part in it.
- There need to be at least 4 players for the round to start. If there are fewer players, the start of the round is moved by two weeks.
- At the start of every round all pairings are announced, which are based on the algorithm explained below. In short, players with similar rating are more likely to be paired, but it's never guaranteed.
- You can play a completely different deck every round; you can even decide on your deck after the pairings are announced.
- Decklists/hashes don't need to be sent and will remain hidden.
- Every round lasts two weeks – this is the time you have for scheduling and playing the match with your opponent.
- You can play on any platform you and your opponent agree on. In case of a disagreement, Cockatrice has to be used.
- In case you and your opponent can't schedule the match, a win will be awarded to whoever showed more initiative in trying to schedule it. If it's uncertain, ratings of both players will remain unchanged.
- Each match is best-of-three.
- There are no sideboards.
- There is no in-game time limit for matches, but players are expected to finish their turns in reasonable time.
- Regular Rules Enforcement Level is used.
- Normal 1v1 Pauper Commander rules apply.
Algorithm
Difference
Difference in rating between the players before the match (greater minus lower).
Worse win chance
Assumed win chance of the worse player.
100% / (1 + 10^(Difference/2000))
Worse win chance rounded
Worse win chance rounded to the nearest integer.
Better win chance
Assumed win chance of the better player.
100% − Worse win chance
Better win chance rounded
We don't want rounding to mess up the ratio between win chances, so first we multiply the chance by whatever the previous rounding changed.
Better win chance × (Worse win chance rounded / Worse win chance), rounded to the nearest integer.
If the worse player wins, they gain Worse win chance rounded rating (and the opponent loses this much).
If the better player wins, they gain Better win chance rounded rating (and the opponent loses this much).
Example
The worse player has 1000 rating.
The better player has 1400 rating.
Difference = 1400 − 1000 = 400
Worse win chance = 100% / (1 + 10^(400/2000)) = 38.6863…%
Worse win chance rounded = 39%
Better win chance = 100% − 38.6863…% = 61.3136…%
Better win chance rounded = 61.3136…% × (39% / 38.6863…%) = 61.8108…%, rounded to 62%
If the worse player wins, they gain 39 rating (and the opponent loses this much).
If the better player wins, they gain 62 rating (and the opponent loses this much).
Algorithm
1. If there is an odd number of players, we select one of them at random who won't take part in it.
2. We select one remaining player at random (let's name them X) and for each other remaining player generate the probability weight of being paired with X, based on the assumed win chance versus X:
(Worse win chance / Better win chance)²
These weights are used to pair X.
For example, if one player has probability weight of 1 and another has probability weight of 0.5, X is twice as likely to be paired with the first one.
We repeat step 2 until all players are paired.
If any of these pairings appeared in the previous round, pairings are discarded and step 2 is repeated.
Example
There are four players in a round:
A, with rating 1000
B, with rating 1000
C, with rating 1000
D, with rating 1400
There is an even number of players, so everyone will play.
Let's say that first we randomly select A, whose pairing weights are as follows:
vs B: (50% / 50%)² = 1
vs C: (50% / 50%)² = 1
vs D: (38.6863...% / 61.3136...%)² = 0.3981...
Which means this is the probability of A being matched with other players:
B: 1 / 2.3981... = 41.6995...%
C: 1 / 2.3981... = 41.6995...%
D: 0.3981... / 2.3981... = 16.6008...%