Ticket #1610 (closed enhancement: fixed)

Opened 3 years ago

Last modified 3 years ago

Elo fix for large games

Reported by: Yogzototh Owned by: licho
Priority: minor Milestone:
Component: Springie Version:
Keywords: Springie elo rating Cc:

Description

If you havent noticed, players' elo changes A LOT slower in games with large teams than in small games or 1v1's. First i thought it was due to teams having almost completely equal ratings, but then i found out that after each game, the points are divided between players. As result, the more players there are, the less each one gets.

This means that large games affect player's rating many times less than 1v1's. Though its partially true, i dont think the difference should be as large as it is now. In a 1v1 ith equal players, one loses 16 points. Look at the rankings. 16 points is a difference between 13'th position and 16'th. 3 positions, in a one 1v1 battle that usually takes less than 20 minutes.

The new system doesnt slow down the ELO change in 1v1's. It just speeds up ELO change in large games. This will result in MUCH higher score variation than it is now, which i consider a good thing. 100 points difference in ratings leads to a prediction of 64% to win. Can you think how ridiculous would be the teams with 100 elo difference in the current system? Currently, even having 40-50 less elo usually means that you are pretty much fucked. But springie will say that you have 42% to win. And if the variety seems too great, you can just decrease the k-factor anyway.

If you want to make 1v1's give more rating change than mass games, you can try to replace lines' 235 and 235 "$sumcount*16" to something like "sqrt($sumcount/2)*32".

Attachments

globalsNEW.php (7.6 KB) - added by Yogzototh 3 years ago.
the modified script file

Change History

Changed 3 years ago by Yogzototh

the modified script file

Changed 3 years ago by SirMaverick

First i thought it was due to teams having almost completely equal ratings

Which is exactly the case. The more equal the ratings the less the change after the battle.

but then i found out that after each game, the points are divided between players

Not true. In large games the average elo is used for calculations. Point are not divided between players.

As result, the more players there are, the less each one gets.

Lets say elo difference between teams is the same, the elo change increases with the square root of the number of players (sumCount).

$scoreWin = sqrt($sumCount) * 16 * (1 - $eWin) / $winnerInvW;

More players -> bigger change.

You removed the sqrt which will lead to even bigger changes. This will give big ffa games a huge influence, because they still have a significant elo difference compared to team games.

You also removed the winner/loserInvW from the equations. They represent the reliability and should be kept.

Changed 3 years ago by licho

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.