I know of the Truskill algorithm, it's quite complex but effective.
My question is there other algorithms/methods to determine a players skill for accurate measuring for multi-player competitive play?
|
I know of the Truskill algorithm, it's quite complex but effective. My question is there other algorithms/methods to determine a players skill for accurate measuring for multi-player competitive play? |
|||||||||||
|
|
I think asking for "simplest most effective" is an unrealistic requirement, but there are certainly a few good approaches. Rather than go into detail, I'll link to an article: http://www.lifewithalacrity.com/2006/01/ranking_systems.html This covers:
On the whole you'll see that they're all pretty much variations on the same theme - you pick a starting or average value for a player, and then the values are used to predict the game outcome. The difference between the actual outcome and the predicted outcome is used to modify the scores for each player, and the process repeats with the adjusted scores. Since each modification to the scores makes the predicted result more accurate, the scores converge on their 'true' values. (This actually assumes that it's a game of skill rather than chance, that the skill in question is capable of being linearly ranked, etc.) |
|||
|
|
What did you find complicated about TrueSkill? I thought it was a straightforward algorithm with just the right amount of knobs to tweak for different game modes, and it reduces to Elo when the game is head-to-head with high certainty. If you're looking for the simplest way to to effectively rank and measure a player in a multiplayer environment - my recommendation is TrueSkill. |
|||
|
|
Depends on the game. There are a few problems you can get into:
|
|||
|
|
|
What about a pairwise system like elo? It has been used for ages in "normal" sports with excellent results. For free-for-all-matches you could interpret them as a bunch of pairwise matches and assign points based on the relative standings. |
|||
|
|