Code Monkey home page Code Monkey logo

openskill.py's Introduction

Multiplayer Rating System. No Friction.

A faster and open license asymmetric multi-team, multiplayer rating system comparable to TrueSkill.

Stand With Ukraine

Tests codecov Documentation Status DOI badge

Description

PyPI - Python Version Conda (channel only) PyPI - Implementation

Discord

In the multifaceted world of online gaming, an accurate multiplayer rating system plays a crucial role. A multiplayer rating system measures and compares players' skill levels in competitive games to ensure balanced match-making, boosting overall gaming experiences. Currently, TrueSkill by Microsoft Research is a notable rating system, but gaming communities are yearning for faster, more adaptable alternatives.

Here are some, but not all, of the reasons you should drop TrueSkill and bury Elo once and for all:

  • Multiplayer.
  • Multifaction.
  • Asymmetric faction size.
  • Predict Win, Draw and Rank Outcomes.
  • 150% faster than TrueSkill.
  • 100% Pure Python.
  • 100% Test Coverage.
  • CPython and PyPy Support.
  • 5 Separate Models.
  • Fine-grained control of mathematical constants.
  • Open License
  • Up to 7% more accurate than TrueSkill.

Installation

pip install openskill

Usage

The official documentation is hosted here. Please refer to it for details on how to use this library.

Limited Example

>>> from openskill.models import PlackettLuce
>>> model = PlackettLuce()
>>> model.rating()
PlackettLuceRating(mu=25.0, sigma=8.333333333333334)
>>> r = model.rating
>>> [[a, b], [x, y]] = [[r(), r()], [r(), r()]]
>>> [[a, b], [x, y]] = model.rate([[a, b], [x, y]])
>>> a
PlackettLuceRating(mu=26.964294621803063, sigma=8.177962604389991)
>>> x
PlackettLuceRating(mu=23.035705378196937, sigma=8.177962604389991)
>>> (a == b) and (x == y)
True

Support

If you're struggling with any of the concepts, please search the discussions section to see if your question has already been answered. If you can't find an answer, please open a new discussion and we'll try to help you out. You can also get help from the official Discord Server. If you have a feature request, or want to report a bug please create a new issue if one already doesn't exist.

References

This project is originally based off the openskill.js package. All of the Weng-Lin models are based off the work in this wonderful paper or are the derivatives of algorithms found in it.

  • Julia Ibstedt, Elsa Rådahl, Erik Turesson, and Magdalena vande Voorde. Application and further development of trueskill™ ranking in sports. 2019.
  • Ruby C. Weng and Chih-Jen Lin. A bayesian approximation method for online ranking. Journal of Machine Learning Research, 12(9):267–300, 2011. URL: http://jmlr.org/papers/v12/weng11a.html.

Implementations in other Languages

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.