Creators: Matty, Tojo, Dr.MonaLisa.
Implementation Details & Schedule:
- The current Skirmish and Tournament Rating will be reset, however historical results will still be accessible at: https://www.ee2.eu/multiplayer/leaderboards/
- The reset doesn't affect unrated games, total number of games played, total number of time spent in game. Your statistics are safe.
- All games played after 2015-10-17 00:29:36 (Server launch day) will be recalculated using the MatTojMon formula.
- The Multiplayer Rating System Log website will show games calculated using the new formula: https://www.ee2.eu/multiplayer/rating/
- On 18th of February 2019 (or later) the Multiplayer Lobby will be shut down for a few hours. Users trying to log-in will see a special information about the maintenance in progress.
- Recalculation process takes a long time and uses all available Server resources. It's because there are over 40850 game results to recalculate. The Rating System scripts have been rewritten to improve performance, but still there are over 4000 lines of code, and every player in game creates multiple database queries / insertions. We're not caching results during recalculation, to make sure everything works as expected in the same environment. The Lobby will be shut down to prevent potential data re-synchronization.
The new formula is a compromise between the old EE2 Rating System (available on the GameSpy Lobby in years 2005-2012) and fair points allocation.
We have worked hard for over two weeks trying to reproduce the original rating system, but we have found too many disadvantages to keep it in the old form.
What's the same as on the old Lobby?
- The minimum points for lose/victory are: -5 and +5.
- The maximum points for lose/victory are: -50 and +50.
- Players with the same rating win/lose: +25 / -25 points.
- Win/lose points depend on the other players in game. More rating your enemy has, more points you can win (and vice versa).
- Victory depends on your team. Even if you quit game, but your team still manages to win - you'll win rating points.
What's different comparing to the old Lobby?
- We rebalanced team-games. For example a team with 2800 rating will not longer lose 50 points to a 7000 rating player. EE2/GameSpy used some weird punishments at higher ratings, making it unfair.
- We kept the beloved in our community "time bonus", unfortunately in a very reduced form. From now on you can only get maximum +10 bonus points, +1 for each 20 minutes spent in game, and you get them ONLY if you lost the game.
- We kept the Anti-Point-Cheating and Anti-Host-Quit tweaks. If your game was not counted, you will see a reason at the Multiplayer Rating System Log website: https://www.ee2.eu/multiplayer/rating/
The MatTojMon Formula Details & Analyze:
Rating System is still in BETA stage:Matty wrote:[if PlayerRating <= 1000] LostPoints = (25 * (2 * SumOfTeamPlayersRating/SumOfAllPlayersPoints)^1.94336365844) * (PlayerRating/AverageOfTeamPlayersRating) * sqrt(PlayerRating/1000)
[Else] LostPoints = (25 * (2 * SumOfTeamPlayersRating/SumOfAllPlayersPoints)^1.94336365844) * (PlayerRating/AverageOfTeamPlayersRating)
WonPoints = (25 * (2 * (SumOfAllPlayersPoints - SumOfTeamPlayersRating)/SumOfAllPlayersPoints)^1.94336365844) * sqrt(AverageOfTeamPlayersRating/PlayerRating)
The main part (25 * (2 * SumOfTeamPlayersRating/SumOfAllPlayersPoints)^1.94336365844) gets the ratio between your level(or Team Level) and the average of all players, rasises it to 1.9433 before multiplying it with 25.
The number 25 is needed so that against same rated players you lose 25 points (it becomes 25 * 1=25), and the exponent 1.9433.... is picked to make it lose 50 points for a 2.5k against a 1k rated player.
A structure like this is not linear but looks more like a parabola, so it becomes heavier at the extremes compared to a linear function.
It should discourage high rated players to play against much less rated ones.
With +5 minimum limit as victory the previous thing loses effect, since it's more convenient to play against a much lower rated player getting +5 99% of times and losing 50 1% of times.
Still this 5 and 50 points limit (that dont dont show up in these formulas) were used in old rating system so it's fully understandable using them, even though this is paid in fairness.
The second part (PlayerRating/AverageOfTeamPlayersRating) is made so that players with higher rating (compared to their team mates) lose more points.
This has a principle: Higher rated players in a team are more likely to have bigger responsability in victory and defeat. At the same time it doesnt depend almost at all on low rated performance, so if low rated player loses then it's not much his responsability (generally)
The third part sqrt(PlayerRating/1000) is to make things easier for low rated players (it doesnt affect ratings>1000). It prevents even more players to reach 0 points, even though, as we know, there is the 5 point limit that makes it possible to reach 0 rating.
The main part is very similar to LostPoints formula's main part: indeed it is made so that the lowrated player gets as much as the higher rated player loses.
The second part sqrt(AverageOfTeamPlayersRating/PlayerRating) is needed in order to give different win points to player who belong to same team. The more they are low rated compared to their team, the more they win.
The formula is made that in 1v1s this value becomes 1 since AverageOf.... is equal to PlayerRating.
It is pretty similar to Gamepsy's formula
It's not much fair, because as higher rated players in a team are responsible for a defeat and should lose more, at the same time for the same reason they should win more.
I'd have done that in team games you get fewer winpoints and losepoints, based on your level compared to the team, because you will never have as much responsability as 1v1s. It does not entirely depend on your performance because there are team mates.
But again, made in this way it's more similar to gamespy's logic.
Due to "poor" methods of the EE2 game scoring reports, although sessionID and other features to prevent issues were added - the rating system is stil in the BETA stage. Sometimes game reports are not sent to the Server at all, sometimes we're unable to determine who won the game after the Host Quit. I'm out of power trying to keep fixing this system. Incorrectly counted points WILL NOT BE REFUNDED as our Systems work fine, it's just clients who have problematic Internet connections or the game simply likes to send incorrect data from time to time.