My view.
First I would like to know what is the objective behind the new leaderboard, otherwise we may discuss about pointless stuff.
For example is the new system meant to take away points from the system?
-
inactive players displayed by defaultI disagree with this, I would like to see how I am doing against people that played recently, not being in a league filled by people that do not play.
At the same time, the "all of fame" (or inactive players) leaderboard that exists now is somehow informative about how people fared in the relatively recent past.
-
50 pts per inactive week plus 'minimum score = current league demotion score'I disagree against this too. As in my opinion it doesn't incentive more activity as players that play every now and then but they are strong they will have to climb every time back to their right scores, skewing things a lot or even frustrating people.
If the "-50 points a week" is a system to lower the inflation, inflation meant as "points produced out of thin air", then the main culprit are the ghosts. (Really no one saw this when ghost were introduced? It was so obvious I mentioned it quite early
viewtopic.php?f=7&t=60&start=340#p15448 1 March 2018)
At times I am baffled. Sometimes some pretty nice ideas are introduced, like the ghosts. Sometimes ideas are proposed that I think "do people even test their ideas checking the evolution of a system for a couple of times or they just say what they think without any analysis?". I mean one can do it of course, but it is producing a negative effect on his reputation in the topic. Anyway I digress, back to the topic.
Now presuming that the "-50 points a week" is a system to lower the inflation I would first test a possible solution slowly instead of trying to fix everything at once, or cramming a solution, normally produces poor results. Especially for a dynamic system like the scores.
If
we want to take points introduced by ghosts, the ghosts themselves should be affected as well. Otherwise there will be often plenty of ghosts available with a lot of points (for a while at least, until those become all old and farmed), like the mcompany pimped ghosts around 2300.
Second point is that I am not thinking that a score can be skewed with too much decay. As when a player goes down his real score (say someone has an ai that is 2100 but the score is decayed down to 1800), one has to grind it back and it is frustrating for the players that are really 1800.
According to the motto "let's try slowly" let's reason a bit.
Thanks to ghost we see that players that didn't play for relatively long have still good ghosts (at least with the current system), see bhead, joni ja pojat, masterplayer, vectorpleximus, zgeneral and others.
Therefore can I say "ah this player didn't play for 4 weeks, he is surely 200 points weaker"? Not really, reality doesn't agree.
So my suggestion is as follows. If we go on the path of removing points for inactivity, we could do:
- "-25" points a week, for a maximum decay of -75 points. (so maximum 3 weeks)
- all the ghosts of that player get the same decay, that won't count against the "deactivate" threshold (so the decay won't count for the 150 points that one ghost needs to lose be deactivated)
- the point above may happen multiple times for the player and his ghosts (imagine a player playing on and off, say a week each month), so the limit lower cap is 150 points less than the original score of the ghost. (The player score doesn't matter, as the cap is -75, then each time he plays he has a new score with decay points set to 0)
This also means that every ghost would be identified by the tuple: ["original score", "actual score", "removed points for inactivity"]. Where "removed points for inactivity" cannot get past 150 points and it is increased at most with "25" points steps and the deactivation threshold should be counted like this.
Code: Select all
if ( ghost.actualScore() + ghost.removedPointsForInactivity() + 150 < ghost.originalScore() ) then
ghost.deactivate()
end
The tuple is not needed for active players as they get a maximum decay of -75 each time and they can always recover getting better. Instead the ghosts are fixed.
In this way tons of points are removed from the system (especially from inactive players with hundreds/thousands of ghosts), but gradually and without bringing the system in a strong deflation circle. It doesn't sound that smart from "oh, we have strong inflation" to "oh, now we have strong deflation".
Quick short example.
The player PLAYER1 stops playing at a score of 1950. After one week, his score will be 1925, all his ghosts will have -25 points less.His most highest ghost, say GHOST1A that is at 2070 is now dropping at 2045.
Player1 plays again. Then he stops playing again and after one week his last score is 1980. Suddenly drops to 1955. His ghosts loses also -25 points again. So the GHOST1A mentioned before that is now at 2040, drops to 2015, adding up the decay points to -50.
Player1 is not really playing, after 3 weeks it gets the maximum decay of -75. So its score is now 1905 and will stay so until he plays again.
In the meanwhile GHOST1A got also -75 decay points plus the -25 that he got in the cycle before, so it has now -100 decay points. Nonetheless its ai is quite good so he is farming back people, floating around 2000.
The example shows that ghosts of players that have good ai slowly go down and bring down with them the active players that do not have so much better ai. This will happen somehow gracefully. If instead a vectorpleximus is at 1750, having not played for 4 weeks (he was 1900+ before stopping playing, losing 50 points per week), playing a bit with an ai that is really much stronger than 1750 will just produce a strong force (read ghosts) that tends to bring all the active players down.
Without even mentioning the case that if players go down too much, active players that retain their points because they play (see mumpsimus, bockwurst, elvenmonky, milkhunter) will be quickly without opponents, as all the other players that didn't keep going just go too down while the ghosts stay up.