imafia mafgame

Rating Architecture

Как устроен рейтинг

Мы используем Elo-MMR — современное развитие классического Elo для соревнований с большим числом участников. Это не «самодельная формула», а метод из академической работы: Elo-MMR: A Rating System for Massive Multiplayer Competitions .

Почему это именно Elo

Базовая идея Elo: рейтинг меняется не от самого факта победы, а от разницы между ожидаемым и реальным результатом. Выступил лучше ожидания — рейтинг растет, хуже — снижается.

Важна именно разница силы, а не абсолютные числа. Если между двумя игроками разница 100 пунктов, то модель дает примерно одинаковое ожидание их очной вероятности и на уровне 1200 vs 1300, и на уровне 1900 vs 2000. Elo-MMR сохраняет этот принцип в многопользовательских турнирах.

Как считается рейтинг простыми словами

  1. Перед событием у каждого игрока есть текущий рейтинг.
  2. По составу участников система оценивает, какое место для каждого игрока было бы ожидаемым.
  3. После события сравнивается ожидание и фактический результат.
  4. Кто выступил выше ожиданий, получает плюс; кто ниже — получает минус.
  5. Новый рейтинг = старый рейтинг + дельта за событие.

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

Почему рейтинг не растет бесконечно

  • Нулевая сумма в каждом событии: сколько одни участники получили, столько же другие потеряли.
  • Из-за этого рейтинг не «печатается», а перераспределяется между игроками.
  • Сильный результат в слабом поле дает меньше, чем такой же результат в сильном поле.

Почему рейтинг устойчив к выбросам

В Elo-MMR заложена робастная (устойчивая) логика обновления: один аномально удачный или неудачный турнир не должен полностью «ломать» долгосрочную оценку игрока. Система сильнее реагирует на устойчивый тренд, чем на единичный всплеск.

Как влияют последние турниры

Система хранит не только текущий Elo, но и «память» о недавних выступлениях: насколько игрок обычно выступает выше или ниже ожиданий в своем поле соперников.

  • Последние турниры важнее: самый свежий результат влияет сильнее, затем влияние постепенно затухает.
  • Учитывается тренд, а не один матч: несколько сильных турниров подряд подтверждают рост, а один резкий всплеск чаще сглаживается.
  • Считается качество выступления: важно не только место, но и то, насколько это место было ожидаемым именно для этого состава участников.

Поэтому возможна ситуация, когда игрок с 1-м местом получает меньшую дельту, чем игрок со 2-м: если для победителя такой результат был ближе к ожиданию или выглядел как единичный всплеск, а для второго места — как продолжение устойчивого сильного тренда.

И в обратную сторону это тоже работает: один тяжелый провал не «ломает» рейтинг топ-игрока. Elo-MMR не спешит объявлять новый уровень по одному неудачному дню — рейтинг проседает, но обычно без обвала, если следующие турниры возвращаются к сильной игре.

Иногда это выглядит парадоксально: очень слабый турнир в прошлом может немного усилить последующий рост, когда игрок возвращается в форму. Это не «бонус за провал»: штраф за плохой день уже был учтен в момент того турнира. Дальше система не дает одному старому провалу бесконечно тянуть рейтинг вниз и оценивает, подтвердился ли откат назад в следующих выступлениях.

Проще говоря: Elo-MMR награждает не только за «одно высокое место», а за повторяемо сильную игру относительно ожиданий.

Коэффициент для серий и турниров

Для учета длины и информативности формата применяется вес события:

  • Меньше 20 участников и медиана сыгранных игр < 12 — коэффициент 0.7.
  • Меньше 20 участников и медиана сыгранных игр ≥ 12 — коэффициент 1.0.
  • 20 участников и больше (турнир) — коэффициент 1.0.

После применения коэффициента дельта рейтинга округляется до целого значения.

Цвета рейтинга

Уровень игрока отображается цветом:

  • 0–1099
  • 1100–1199
  • 1200–1299
  • 1300–1499
  • 1500–1699
  • 1700+

Игроки с менее чем 5 учтёнными турнирами отображаются как «без рейтинга».