Rust crate for calculating multiplayer rating based on elo ranking system
This multiplayer elo algorithm is heavily inspired from this article.
It works quite similar to the normal elo ranking. But the expected scores calculated by matching all the players against each other.
$$ EA = {\sum{1i-RA)/D}}\over N(N-1)/2} $$
where we have player $A$, number of players $N$ and the ranking of player $A$ is $R_A$.
And the score is a bit more complex then the usual two player elo rating. Currently only a linear method of getting the scores for the players has been implemented:
$$ SA^{linear} = {N-pA\over N(N-1)/2} $$
where $p_A$ is the postion of the player (1st, 2nd, etc...)
We can then calculated the new ranking of a player with:
$$ R'A = RA + K(N-1)(SA-EA) $$
Where $K$ is the usual K-factor.
If you are on Rust 1.62 or higher use cargo add
to install the latest version:
sh
cargo add elo-multiplayer
Alternatively, you can add the following to your Cargo.toml
file manually:
toml
[dependencies]
elo-multiplayer = "0.1.5"
```rust use elo_multiplayer::EloRank;
fn main() {
let players: Vec
```