New Multiplayer Lobby Rating System - MatTojMon

New EE2 Government (since: 01.03.2014), everything about the EE2 management. You can report other players here.
Post Reply
User avatar
Dr.MonaLisa
High Representative
Posts: 7324
Joined: 17 Jun 2010, 11:21
Location: Poland

New Multiplayer Lobby Rating System - MatTojMon

Post by Dr.MonaLisa » 17 Feb 2019, 15:02

The Ministry of Game Affairs is proud to announce changes in the EE2.eu Multiplayer Lobby Rating System. The new calculation formula is named:
MatTojMon
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.

General Information:
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:
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)

Description:

LostPoints Formula:
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.
GOOD:
It should discourage high rated players to play against much less rated ones.
BAD:
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.

WinPoints Formula:
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.

GOOD:
It is pretty similar to Gamepsy's formula
BAD:
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.
Rating System is still in BETA stage:
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.
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains


User avatar
Dr.MonaLisa
High Representative
Posts: 7324
Joined: 17 Jun 2010, 11:21
Location: Poland

Re: New Multiplayer Lobby Rating System - MatTojMon

Post by Dr.MonaLisa » 19 Feb 2019, 04:19

Players' ratings recalculation has been finished today - 19.02.2019 at 04:00 CET.
The Rating History website has also been updated: https://www.ee2.eu/multiplayer/rating/? ... =1&days=30

The Lobby was shut down between 18.02.2019 22:00 to 19.02.2019 04:00.
I was live streaming the recalculation proces, and players on the Support Chat could comment or see how it's going.
When it was close to finish, I detected that one of Anti-Point Cheating methods (based on the old Rating History database) was not working correctly (it was selecting from a new, clean table). After that I accidentally removed the old table, and lost historical data. Then, it took a while to restore this table from the EE2.eu backup which was done right before we started. Then I managed to cache some queries in PHP arrays instead of molesting the database all the time, and next recalculation process took less than 10 minutes.

Thanks for everyone for patience. Special thanks to me (Dr.MonaLisa) for wasting over 2 weeks coding this stuff, Matty & Tojo for preparing mathematics formulas + discussion, Vetinte for technical help and allowing me to use his server for streaming.

I hope everyone is happy with the new Rating System. Leaderboards positions changed, so log in to check how it looks like now!
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains

Post Reply

Return to “Ministry of Game Affairs of the Empire Earth II Community”