Socket
Book a DemoInstallSign in
Socket

falseskill

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

falseskill

A literal implementation of the Glicko-2 rating system in TypeScript. Got it?

latest
Source
npmnpm
Version
1.0.5
Version published
Weekly downloads
2
Maintainers
1
Weekly downloads
 
Created
Source

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.06
Create a rating for a new player:
falseskill.newRating() : PlayerRating
Calculate a player's new rating once a rating period has concluded:
falseskill.calculateRating(player : PlayerRating, opponents : OpponentRating[], outcomes : number[]) : PlayerRating

Or update in place:

falseskill.updateRating(player : PlayerRating, opponents : OpponentRating[], outcomes : number[]) : void
Calculate the rating of a player who has not competed in the rating period:
falseskill.calculateRatingDidNotCompete(player : PlayerRating) : PlayerRating

Or update in place:

falseskill.updateRatingDidNotCompete(player : PlayerRating) : void
Copy an already calculated rating to a player:
falseskill.copyRating(from : PlayerRating, to : PlayerRating) : PlayerRating
Derive 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[]) : void
Calculate the presumed match quality in advance:
falseskill.calculateMatchQuality(player : PlayerRating, opponents : OpponentRating[]) : MatchQuality

Interfaces 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

Keywords

skill

FAQs

Package last updated on 31 Jan 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts