public sealed class EloRatingModelElo: one number, and everybody knows how it works.
Remarks
Right for 1v1, and right for any game whose players will ask. Doc 28 names transparency as the reason it ships alongside a better model rather than being replaced by one — a rating a player can compute themselves is a rating they will argue with rather than about.
⚠ A team's rating is the mean of its players', not the sum. A sum makes a five-player team five times as strong as one player and matches it against nobody; the mean is what the expectation formula's four-hundred-point scale is calibrated for.
Fields and properties (3)
public double KHow far one result may move a rating.
public string NameWhat it is called, in a queue definition and in a report.
public Rating StartingWhat somebody starts on.
Methods (5)
public EloRatingModel(double k = 32, double start = 1500)Makes one.
public static double Expected(double rating, double opponent)What one rating is expected to score against another, from zero to one.
public double AfterPeriod(double rating, IReadOnlyList<double> opponents, double score)What a rating becomes after a set of games treated as one period.
public IReadOnlyList<Rating[]> Update(IReadOnlyList<Rating[]> teams, IReadOnlyList<int> ranks)Updates every team's ratings after a result.
public double Quality(IReadOnlyList<Rating[]> teams)How even a match would be, from zero to one.
Used by (2)
- DuelsVixen.Live.Matchmaking.Tests
- EloTestsVixen.Live.Matchmaking.Tests