Feature #403

Updated by Spyhawk almost 4 years ago

The idea is simple: Implement a new, proved metric that can be used to compare skill of players over time.

The existing XPs count measures player's score based on of specific action (kills, construction, revive, ..) but is far from evaluating all aspects of the 'skill' of a player. Also, XPs are useful to control the various skill levels, but don't give any indication of the real global performance - they basically only give a hint about the time the player has played on a specific server (xpsave).

A 'skill rating' could be defined as a metric measuring "all the parameters of a player that help his team to win" and the only way to do that is by a probabilistic, Bayesian approach. It simply should look at the global output of a game instead of the various micro-parameters (accuracy, number of kill, ... you-name-it).

ETPub implements such a metric with its "Player Rating", giving a normalized skill score. The TrueSkill system is a more modern algorythm that has been developed by MicroSoft for its XBox matching service. It has the advantage over the ETPub PR that it starts very low and increases over time (like XPs), before stabilizing when the skill rating is accurate (like the ETPub PR).

The algorythm is well documented (see Mooserware below) and several existing implementation can be found on the Internet, including this "Lua implementation":https://bitbucket.org/visionik/forged-alliance-forever-lua.

Also, we could use that Skill Rating to develop several nice feature later (showing probability of winning a map, team balancing, or even match making with players of similar skills, ... )

* http://en.wikipedia.org/wiki/TrueSkill
* http://www.moserware.com/2010/03/computing-your-skill.html


More detail and analysis is available on the wiki here "Bayesian skill rating":http://dev.etlegacy.com/projects/etlegacy/wiki/Bayesian_skill_rating here: [[Bayesian_skill_rating]].