RSBoG =
Rating System Based on Games (рейтинговая система на основе игр)
Цель:Сделать адекватные рейтинги для возможности автоматической дележки на команды без необходимости как-либо следить за рейтами "в ручную".
Добиться всегда "равных тим" невозможно, хотя бы потому, что уровень игрока сильно отличается в зависимости от слишком большого количества факторов, учесть которые до начала игры просто нельзя.
Поэтому целью этой системы является получение результата, максимально приближенного к мифическому "идеалу". При этом win ratio должен стремиться к 50% для всех игроков.
Концепция:Рейтинг будет вычисляться в зависимости от ваших успехов на поле боя, т.е. от результатов каждой игры (победа/поражение). Собственно нет большой проблемы в том, чтобы сделать полный аналог вубли и вычислять изменение рейтов по известным формулам. Но вубля имеет ряд недочетов, которые необходимо сгладить.
А именно: возьмем подопытного Дракона и влепим ему рейтинг 1800. Дракон играл одну ТГ ЛН и смог добиться такого результата. После этого он идет играть ФР, где его рейтинг существенно ниже его уровня игры на ЛН. Автодележка же будет его считать как 1800, что практически означает, что его команда обречена на поражение. Учитывая специфику нашей сети, игроков типа Дракона будет очень много.
Вариантом решения такой проблемы может являться подсчет рейтинга для каждой карты. Но тут возникает другая проблема - сколько делать таких карт и какой брать рейтинга на других, основываясь на базовых?
Арабия, ЛН, Острова и Арена? А какой рейтинг ставить, если будут играться мичи? Или горы? У каждой карты есть какая-то специфика и в редких случаях удается подогнать все "под одну карту". Можно, конечно, считать рейтинг для каждой карты. Но тогда возможна следующая ситуация: Дерпт играет "острова" и "архипелаг" на 1800. Играл долго и упорно одни острова и добил рейтинг на этой карте до 2200. Когда он решит сыграть архипелаг, его будут считать как 1800, что навряд ли покажет реально положение дел.
Ввиду этого, предлагаю разбить каждую карту по критериям. Каким именно? ИМХО, нужно обязательно учитывать наличие воды (В) на карте. Т.к. некоторые игроки ее просто не умеют играть, а другие играют виртуозно.
Далее идут еще 2 критерия, которые я назвал "открытая карта" (ОК) и "закрытая карта".
Частично в понятие ОК можно вложить флаш и ранние кастлы, а в ЗК - бум и пост имп. Но лишь частично. Главный их смысл в том, как та или иная карта играется. Понятно, например, что Арабия - открытая карта, Оазис - закрытая, Мичи - закрытая, Лн - и открытая и закрытая. Причем все в той или иной степени, на которую будут указывать коэффициенты каждого критерия. Примеры:
Арабия: ОК(0,8), ЗК(0,2), В(0).
ЛН: ОК(0,5), ЗК(0,5), В(0).
Острова: ОК(0,15),ЗК(0,15),В(0,7).
(все коэффициенты примерны и не являются финальными).
Что это значит? То, что важность на Арабии в умении играть "открытые карты" 80%. А на ЛН - 50%. На островах важны скилы ОК и ЗК но в основном там все решает скил игры на воде, поэтому и такой высокий показатель - 70%.
Понятно, что сумма коэффициентов должна равняться 1.
Я считаю, что по этим 3 критериям можно довольно адекватно описать каждую карту. Понятное дело, что описание будет не идеально. Но оно и не нужно. Нам нужен правильный результат с некоторой вероятностью. И в данном случае эта вероятность будет весьма высокой. Тем не менее, вопрос количества критериев еще стоит, если у кого-нибудь есть разумные идеи - прошу
Теперь будем отталкиваться от этих критериев и посмотрим, что происходит с рейтами. Возьмем все того же Дракона, с его рейтами: 1500(ОК), 1800(ЗК), 1500(В). Определяем его рейтинг для карты Арабия: 1600*0,8 + 1800*0,2 + 1500*0 = 1640. Для ЛН: 1600*0,5 + 1800*0,5 + 1500*0 = 1760. Именно эти рейтинги будут учитываться при дележке для конкретной карты. Самое главное - правильно расставить коэффициенты для каждой карты.
Далее. Допустим Дракон побеждает и получает +16 очков (играли Арабию), тогда его новые рейтинги будут следующими:
1600+0,8*16=1612 (ОК), 1800+0,2*16=1803(ЗК), 1500(В).
Собственно в этом и состоит концепция. Данная система будет как минимум не хуже, если бы использовался только 1 рейтинг для всех карт, т.к. критерии "сглаживают" разность уровня игры на разных картах (конечно, если не установить заведомого кривые коэффициенты для карт, например: арабия 0,5;0,5;0 и лн 0,5;0,5;0, тогда эти карты будут по сути равноценны).
Открытые вопросы:
- значение коэффициентов для каждой карты
- подсчет изменения рейтинга после игры в зависимости от команд (на вубле дается +4 за победу в равных командах 4v4. У нас же планируется сделать +16 для лучшей динамики рейта)
- принцип автодележки, основанный на таких рейтах. Рейты будут от 0 до 1000+, чтобы не путать с вублей. Вот сюда и пробуем крутить логарифмы