A JavaScript based server running the TrueSkill ranking algorithm.
There are 3 simple steps to get this server up and running:
- git clone https://github.com/racingjellyfish/TrueSkillServer.git
- cd TrueSkillServer
- node app.js
You should now be able to visit: localhost and see the results of the match between two default ranked players with player 1 winning the match.
Or you can add one or more of the following URL parameters to override the default settings:
- teamOneMean: specify the team one mean skill
- teamOneStd: specify the team one skill standard deviation
- teamOneRank: specify the team one rank
- teamTwoMean: specify the team two mean skill
- teamTwoStd: specify the team two skill standard deviation
- teamTwoRank: specify the team two rank
This allows you to specify the team skills before the match and the result of the match, for example:
- explore Express/Jade
- try the node debugger
- deployment
- write the server app to use the library code
- figure out how the UI should work
- database for storing skills
- look into calculating handicaps from team differences, also does the actual match result matter, i.e. 10-9 vs 10-0
- consider adding attack/defence flags for players and track skill separately, so a player might have 3 skill values, attack/defence/combined?
- match quality display, i.e. calculate quality for all possible matches and display a leader board?
- graph skills over time
- if tracking attack/defence position separately include in match quality calculations
- take intermediate calculations of team skill when combining players and rank?
- how to handle different game formats, e.g. first to 5, is this equivalent to all players having a 50% partial play?
- player registration
- league management
- in addition to an all-time league also implement a rolling league calculation, i.e. only include results from the last n days
- figure out what match quality actually represents
- for each match show the probability of the actual result, is this possible before the match is played? see: TrueSkillFactorGraph.getProbabilityOfRanking()
- could this be used to analyse football matches/horse races/etc?
- ...
###Done###
- figure out how to package a module for re-use
- upload true skill library code to github
- publish true skill library code to npm