diff --git a/modules/lobby/src/main/Hook.scala b/modules/lobby/src/main/Hook.scala index ecd4b50512..4e799ff6d7 100644 --- a/modules/lobby/src/main/Hook.scala +++ b/modules/lobby/src/main/Hook.scala @@ -93,7 +93,7 @@ case class Hook( member = lila.pool.PoolMember( userId = user.??(_.id), sri = sri, - rating = rating | lila.rating.Glicko.defaultIntRating, + rating = rating | lila.rating.Glicko.default.intRating, ratingRange = realRatingRange, lame = user.??(_.lame), blocking = lila.pool.PoolMember.BlockedUsers(user.??(_.blocking)), diff --git a/modules/lobby/src/main/LobbyUser.scala b/modules/lobby/src/main/LobbyUser.scala index 80a1588343..332644b1c0 100644 --- a/modules/lobby/src/main/LobbyUser.scala +++ b/modules/lobby/src/main/LobbyUser.scala @@ -42,5 +42,5 @@ case class LobbyPerf(rating: Int, provisional: Boolean) object LobbyPerf { - val default = LobbyPerf(Glicko.defaultIntRating, provisional = true) + val default = LobbyPerf(Glicko.default.intRating, provisional = true) } diff --git a/modules/rating/src/main/Glicko.scala b/modules/rating/src/main/Glicko.scala index 3b1aec3fec..a69017a6dd 100644 --- a/modules/rating/src/main/Glicko.scala +++ b/modules/rating/src/main/Glicko.scala @@ -62,19 +62,11 @@ case object Glicko { val minRating = 600 - val default = Glicko(1500d, 500d, 0.08d) - - // managed is for students invited to a class - val defaultManaged = Glicko(900d, 500d, 0.08d) - val defaultManagedPuzzle = Glicko(800d, 500d, 0.08d) - - val defaultIntRating = default.rating.toInt - val minDeviation = 45 val variantRankableDeviation = 65 val standardRankableDeviation = 75 val provisionalDeviation = 110 - val maxDeviation = 350 + val maxDeviation = 600d // past this, it might not stabilize ever again val maxVolatility = 0.1d @@ -82,6 +74,12 @@ case object Glicko { // Chosen so a typical player's RD goes from 60 -> 110 in 1 year val ratingPeriodsPerDay = 0.21436d + val default = Glicko(1500d, maxDeviation, maxVolatility) + + // managed is for students invited to a class + val defaultManaged = Glicko(900d, maxDeviation, maxVolatility) + val defaultManagedPuzzle = Glicko(800d, maxDeviation, maxVolatility) + val tau = 0.75d val system = new RatingCalculator(default.volatility, tau, ratingPeriodsPerDay)