falseskill
v1.0.5
Published
A literal implementation of the Glicko-2 rating system in TypeScript. Got it?
Maintainers
Readme
FalseSkill
A literal implementation of the Glicko-2 rating system in TypeScript. Got it?
Usage
The make script generates an AMD module from the TypeScript sources. The npm package ( npm install falseskill )
uses amdefine to expose it as a CommonJS module.
- falseskill.ts is the commented TypeScript source
- falseskill.d.ts is just the TypeScript definition
- falseskill.js is the transpiled AMD module
- falseskill.js.map is the source map for the former, referencing falseskill.ts
- falseskill.min.js is the compressed AMD module
- falseskill.min.js.map is the source map for the former, referencing falseskill.ts
API
Configuration:
// Defaults
falseskill.Tau = 0.75
falseskill.InitialRating = 1500
falseskill.InitialDeviation = 350
falseskill.InitialVolatility = 0.06Create a rating for a new player:
falseskill.newRating() : PlayerRatingCalculate a player's new rating once a rating period has concluded:
falseskill.calculateRating(player : PlayerRating, opponents : OpponentRating[], outcomes : number[]) : PlayerRatingOr update in place:
falseskill.updateRating(player : PlayerRating, opponents : OpponentRating[], outcomes : number[]) : voidCalculate the rating of a player who has not competed in the rating period:
falseskill.calculateRatingDidNotCompete(player : PlayerRating) : PlayerRatingOr update in place:
falseskill.updateRatingDidNotCompete(player : PlayerRating) : voidCopy an already calculated rating to a player:
falseskill.copyRating(from : PlayerRating, to : PlayerRating) : PlayerRatingDerive a set of matches from a multiplayer (3+ players) game:
falseskill.deriveMatches(rankings : Ranking[], filterBy? : PlayerRating) : Match[]Update ratings in place, for a set of matches played:
falseskill.updateRatings(matches : Match[]) : voidCalculate the presumed match quality in advance:
falseskill.calculateMatchQuality(player : PlayerRating, opponents : OpponentRating[]) : MatchQualityInterfaces and constants
falseskill.Loss = 0.0
falseskill.Draw = 0.5
falseskill.Win = 1.0
interface OpponentRating {
rating : number,
deviation : number
}
interface PlayerRating extends OpponentRating {
volatility : number
}
interface Ranking extends Array<PlayerRating> { }
interface Match {
player : PlayerRating,
opponents : OpponentRating[],
outcomes : number[]
}
interface MatchQuality {
qualities : number[],
min : number,
max : number,
avg : number,
med : number,
str : number
}See falseskill.ts for detailed documentation.
License: Apache License, Version 2.0
