From MegaGlest
Jump to: navigation, search

MuwuM's Concept of ELO ranking in MG[edit]

Every (human) player starts with an ELO ranking of 1000. Winning will increase and loosing decrease a players ELO. CPU-Players have fixed/static ELO ranking:

CPU (Easy) 400
CPU 600
CPU (Ultra) 800
CPU (Mega) 1000

On each match a ranking for each team is calculated\[R_{team} = Round(\sqrt{\frac{\sum_{i=1}^{n} R_i^2}{n^2}}*2)\]

Where \(R_{team}\) is the ranking of the team, \(n\) is the number of players of the largest team (if one team has 2 players and the other team 3 it is 3), \(i\) is the index of the player of the team (1 is the first player of the team) , and \(R_i\) is the ranking of the player \(i\), if no player is found at the team with the position \(i\) use \(R_i = 0\).

Afterwards a \(k\)-factor for the team is calculated.

\(R_{team} \le 2100\) \(k_{team} = 32*n\)
\(R_{team} \le 2400\) \(k_{team} = 24*n\)
\(R_{team} > 2400\) \(k_{team} = 16*n\)

based on the \(k\)-factor for the team the \(k\)-factor of each player is calculated\[k_{player} = Round(\frac{k_{team}*R_{player}}{\sum_{i=1}^{n} R_i})\]

Now the ELO-difference between the teams is calculated\[Diff_{team} = max( min( R_{enemy team} - R_{team}; 400);-400)\]

Now the expected score is calculated\[E_{team} = \frac{1}{1 + 10^{Diff_{team}/400}}\]

Now set \(S_{team} = 1\) for the winning team and \(S_{team} = 0\) for the loosing team

And finally the ranking of each player is changed\[R'_{player} = R_{player} + Round( k_{player} * ( S_{team} - E_{team} ) )\]