Тестовый сервер

Рейтинг ведётся не одной таблицей, а несколькими аренами, а арены делятся на лиги — чтобы и новички, и опытные игроки играли в осмысленной для себя части таблицы.

Арены: сообщества и игры

Рейтинг рассчитывается отдельно для главной арены сообщества (все игры вместе) и для каждой игровой арены (отдельно для каждой игры). Это позволяет видеть как общий уровень игрока, так и его мастерство в конкретной игре.

Партия попадает на арену той игры, в которую играли, и одновременно влияет на рейтинг сообщества. Турниры создают собственную арену — об этом рассказано в статье про турниры.

Лиги и переходы между ними

Арена состоит из лиг, чтобы разделить игроков, сыгравших много партий и только начинающих, т.к. начальный рейтинг не точен.

Структура лиг

ЛигаСмыслУсловие перехода
Лига НовичковРейтинг новичков занижен, и растёт пока не сравняется с их настоящим эло. Увеличение рейтинга с каждой партией мотивирует играть на рейтинг. Начальное действительное значение эло часто падает, что демотивирует новичков.Переход в Лигу Любителей, когда |эло − рейтинг| ≤ 16
Лига ЛюбителейСюда попадают игроки, рейтинг которых сравнялся с настоящим значением эло. Лига Любителей также нужна, чтобы игроки, достигшие выского эло и прекратившие играть, позволили занимать лидерство активным игрокам.Переход в Высшую лигу при ≥ 20 партий за полгода и ≥ 3 за 2 месяца
Высшая лигаИгроки, которые активно играют. Их рейтинг отражает реальное эло.Возврат в Лигу Любителей, если активность падает ниже порогов (20 за полгода или 3 за 2 мес.)

Новый игрок попадает в Лигу Новичков, если стартовый разрыв |эло − рейтинг| больше 16 (стартовый рейтинг новой арены по умолчанию — 0, на игровой — 900). Принадлежность к Высшей лиге проверяется при каждой партии по скользящим счётчикам активности.

На игровой арене есть только Лига Новичков и Лига Любителей — Высшая лига отсутствует.

Рейтинг новичков на арене

У каждого игрока хранятся два значения: скрытое эло (начинается с 1000) и видимый рейтинг (начинается со стартового рейтинга арены — по умолчанию 0, 900 на игровой). Эло используется при расчёте ожидаемого результата игрока, а также влияет на расчёт соперникам. Видимый рейтинг отображается в приложении, постепенно сходясь с эло.

Это сделано, чтобы новички не разочаровывались регулярным падением рейтинга в начале, если их уровень ниже стартового эло. Видимый рейтинг отражает реальный уровень только после нескольких игр. Регулярный рост на старте мотивирует новичков играть больше партий. При этом начисление рейтинга постепенно становится справедливым с каждой партией. Догоняние работает на любой арене, где стартовый рейтинг ниже стартового эло, — параметры догоняния (мин./макс. очков за победу, τ) задаются в настройках арены. Лига новичков лишь добавляет порог «разрыв эло», определяющий, когда игрок покидает лигу.

Формула рейтинга новичков

Для рейтинга новичков считается и рейтинг и эло. Эло считается по обычной формуле, которая описана в статье про рейтинг Эло. Для расчёта рейтинга используется та же формула, но берётся рейтинг игрока (вместо эло) и значения эло соперников. Чтобы рейтинг быстрее стремился к эло, к компоненте earned добавляется множитель, который зависит от разрыва между рейтингом и эло.

Для эло:

— ожидаемый нормированный результат игрока

- плата за участие

— нормированные победные очки

- заработано

Для рейтинга:

— ожидаемый нормированный результат игрока при расчёте через рейтинг вместо эло

- разрыв между рейтингом и эло

Когда эло > рейтинг (рейтинг догоняет эло):

Когда рейтинг > эло (рейтинг превысил эло):

При gap = 0 оба случая совпадают со стандартным Эло. Пока рейтинг значительно меньше эло: → staked ≈ 0 , поэтому гарантирует положительный итог при поражении.

График 1: зависимость staked/earned от видимого рейтинга

Левее эло: rating_earned (зелёная) усилена. Правее эло: rating_staked (оранжевая) усилена. Пунктир — elo-трек, сплошная — rating-трек.

Слева от эло: rating_earned (сплошная тёмно-зелёная) усилен — рейтинг растёт быстрее. rating_staked = elo_staked.

Справа от эло: rating_staked (сплошная оранжевая) усилен — рейтинг снижается быстрее обратно к эло. rating_earned = elo_earned.

Пунктир — elo-трек (лайм = earned, красный = staked). Сплошная — rating-трек (тёмно-зелёный = earned, оранжевый = staked).

График 2: сходимость рейтинга

Симуляция нескольких игроков со случайными исходами партий. Пунктир — скрытое эло, сплошная линия — видимый рейтинг. Задайте вероятность победы каждого игрока.

Сошлись за -1 партии

Пунктир — скрытое эло (сумма постоянна). Сплошная — видимый рейтинг. Эло начинается с 1000, рейтинг с 0. Сходимость: эло − рейтинг ≤ 16 для всех игроков (не более 200 партий).

Примерное число побед для выхода из Лиги Новичков

Условие перехода в Лигу Любителей: (без модуля — рейтинг догнал эло). Изменение рейтинга за одну победу с текущим разрывом (gap):

Здесь — ожидаемый результат игрока с рейтингом против соперника с рейтингом . Тогда число побед — интеграл:

— нижняя граница (эло фиксировано). — верхняя граница: вычитается прирост эло за победу ≈ (расчёт исходя из двух игроков, соперник равен по силе). Отображается рядом с именем игрока в Лиге Новичков в формате ~ – побед.