I'll recap some of the arguments for the league system because the original discussion is some years old already and was mainly held between contributors, so might have missed quite some people.
One main thing is that we want to hide the intricacies of the Trueskill calculations, because they are quite complicated and not easily understandable by just looking at rating changes.
From this it becomes clear that we can't just keep the rating system next to the leagues, because then we defeat one of the main purposes of the change.
About the negative rating thing:
It happens regularly. I took the time to search for some examples and found multiple in just the recent months
Capping rating at 0 is not a good solution for this. The capping can only be done visually or you fuck up the trueskill calculations. But then if you are negative and you win or lose games you don’t see any rating change at all anymore which will look like a bug to people.
I also found a nice example for confusing point changes on a draw
There are more problems: Different point changes for people in the same team and different point changes for wins in different games. I didn't collect examples for these, but I hope you all know that these happen and that they are not easily understandable. I've repeatedly seen people complain about being treated "unfairly" by the rating system.
From discussion on discord I gathered that people have two main complaints about the league system as it currently is:
- The rating range of people in a division is too high, so they are meaningless to assess the skill level
- top players are not really sorted by rating, robbing them of a proper leaderboard.
We can improve both problems with slight changes to the system. Divisions are already assigned to a rating range. At the moment players are placed 100 rating lower than they are to provide a sense of progression when they rise to their designated division simply by playing. This has the side effect that people are more spread over divisions. We can reduce this by placing people exactly where they are supposed to be. Then a division will hold people of a bracket that is slightly smaller than 100 rating, basically giving you the same granularity as global rating does at the moment. This should be close enough.
We can also change the grandmaster division so that the score points directly reflect the rating. This way people in grandmaster are always sorted by the underlying rating.
One other advantage of the league system is that because of the seasons we have a leaderboard that isn't cluttered with people that haven't played in years. Instead you have to be playing at least three games in the current season to show up.
We could easily increase the season length to six months for example if people think active players should be visible for longer.
For the future it's planned to show the divisions in the ingame scoreboard instead of rating soon. This is already coded.
Later we can also show them in the custom lobby, but this is not yet implemented and might take a while because the lobby code is pretty nasty to work with.