Новость

Матчмейкинг: Как это работает

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

 

Ранговый матчмейкинг на подходе

В следующем большом обновлении будет добавлен ранговый режим. Этот режим сделан прежде всего для опытных игроков, которые хотят играть в более близкой к соревновательной среде знать свой матчмейкинговый рейтинг (MMR). При подборе игр в Dota 2 всегда вычислялся этот самый ММR. В новом режиме он будет виден всем.

Вот, что вам нужно знать о новом подборе игр:

  1. Ранговый матчмейкинг откроется после 150 игр

У всех игроков в группе режим должен быть доступен.

На данный момент из режимов доступны только All Pick, Captains Mode и Captains Draft.

Для игроков с низким приоритетом подбора игр новый режим доступен не будет.

Слота для тренера не будет в режиме рангового матчмейкинга.

Матчи в обычном режиме не влияют на MMR рангового режима и наоборот.

Ваш MMR будет виден только вам и вашим друзьям. MMR, который используется при обычном подборе игры отображаться не будет.

Когда вы в первый раз решите сыграть ранговый матчмейкинг, понадобится провести калибровку из 10 игр. На протяжении этого времени ваш ММR не будет отображаться.

 

Твой рейтинг матчмейкинга (MMR)

Dota 2 использует стандартную технику для расчета и отслеживания умений игрока. К каждому из них привязана система подсчета MMR, который и является конечным числовым значением, выражающим уровень вашей игры в Dota 2. После каждого матча мы обновляем ваш показатель MMR, основываясь на том, что происходило в матче. В общем, когда вы побеждаете, ваш MMR показать будет расти и наоборот. Победа/поражение - это главный критерий для расчета MMR рейтинга, но ваши личные действия также будут оказывать влияние на рейтинг, особенно в тех случаях, когда у нас будут сомнения, что ваш MMR показывает действительное положение вещей. Вполне возможно, что в некоторых случаях ваш MMR будет расти после поражения или уменьшаться после победы, но в большинстве ситуаций средний MMR будет расти у победившей команды, и падать у проигравшей.

Мы также будем отслеживать те случаи, когда мы не уверены насчет вашего MMR. В ситуации с новыми аккаунтами, которые будут приходить в систему рангового матчмейкинга, нельзя исключать наличие большой неопределенности в расчетах. В её результате необходимы будут значительные корректировки после каждого матча, и незначительные - если неопределенность маленькая. Все вместе, MMR рейтинг и погрешность в вычислении, выражают распределение вероятностей того, что вы будете делать в следующей игре, то есть MMR показатель служит для того, чтобы выделить ваше поведение в игре, которое может отличаться от стандарта, или действия которые вы совершали в предыдущих матчах.

Если показатели матчей (соотношение побед/поражений и индивидуальная игра) постоянно будет соответствовать тому, что ожидается, то неопределенность при вычислении вашего рейтинга будет уменьшаться вплоть до минимума. Неожиданный исход матча может стать причиной увеличения неопределенности.

Мы отслеживаем 4 показателя MMR для каждого игрока:

  1. Обычный матчмейкинг, игрок один

Обычный матчмейкинг, игрок с группой

Ранговый матчмейкинг, игрок один

Ранговый матчмейкинг, игрок с группой

Каждый из двух MMR в ранговом матчмейкинге имеет собственный период калибровки. Иногда мы можем запустить калибровку заново, если нам будет казаться, что MMR вычислен неверно.

Чтобы бы вы почувствовали разброс в показателях, мы предоставим MMR в соответствии с процентными значениями вероятностей.

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

Как получить хороший матч?

Конечная цель автоматизированного поиска игр в Dota 2 - наслаждение игрой для самих игроков. Это возможно при соблюдении следующих правил:

  1. Команды сбалансированы (каждая команда имеет 50% шансов на победу).

Разница в умениях между наиболее и наименее сильными игроками в матче сводится к минимуму. Это связано с командным балансом, но это не одно и то же.

Разница в опыте (измеряется по количеству сыгранных игр) между наименее опытным игроком и самым опытным сводится к минимуму. Подробнее об этом ниже.

Сильнейший игрок за Radiant должен быть очень близко к уровню игры сильнейшего за Dire.

Каждая команда содержит примерно такое же количество игроков в группе. Например, система будет пытаться избежать игры пяти отдельных игроков против пяти человек, играющих вместе.

Языковые предпочтения игроков будут учтены, игроки команды должны иметь общий язык. Иных случаев система так же будет стараться избегать. Также будет учитываться возможность найти общий язык у разных команд, но только в некоторых случаях.

Время ожидания не должно быть cлишком долгим.

Система поиска игр редко достигает всех этих целей. Для любой будущей игры матчмейкинг присваивает показатель качества для каждого из вышеуказанных критериев, а затем принимает среднее значение. Когда общая оценка качества превышает его, матч считается достаточно сбалансированным. Мы постоянно экспериментируем с различными критериями и их приоритетами.

Система поиска игр не пытается достичь какого-либо конкретного соотношения выигранных и проигранных матчей для игроков. Тем не менее, мы стараемся, чтобы каждая команда имела 50% вероятность на победу в любой игре. Мы не исследуем отдельные серии побед или поражений и не пытаемся завершить их. Если вы продолжаете побеждать - ваш MMR растет, что будет, по идее, должно вызывать поиск более искусных соперников и партнёров по команде.

Доля побед не так важна в качестве показателя мастерства, и матчмейкинг не использует ее для этой цели. Мы в первую очередь пробуем группы игроков по уровню опыта (критерий №3 в приведенном выше списке), потому что мы видим, что игроки одного уровня игры, но разные по опыту отличаются стилем и пониманием. Эти измерения в целях разработки системы поиска позволяют составить приблизительную логарифмическую функцию, зависящую от количества игр. Разница в опыте между 40 и 120 сыгранными играми примерно такая же, как разница между 120 и 280 играми.

Мы изобразим влияние этого на достижение целей №2 и №3 из списка на графике, где количество игр будет на горизонтальной оси, а MMR - на вертикальной. Если графики двух игроков стремятся друг к другу, они считаются хорошими кандидатами для совместного матча. Соответственно, у игроков с различными графиками хорошая игра не получится. Типичная траектория карьеры игрока в Dota 2: приобретение опыта и движение вправо и вверх, соответственно квалификация возрастает. Когда опытные игроки создают новые учетные записи, они следуют по несколько иной траектории. Их MMR поднимается относительно быстро, из-за чего они находятся в левом верхнем углу диаграммы, где будут встречаться с игроками с более высоким опытом (большим числом игр, чем на их аккаунте).

Что насчет групп?

Что касается групп, то тут дело обстоит сложнее. Группы часто состоят из игроков, сильно различающихся по уровню игры и опыту. В целях измерения критериев соответствия, обозначенных в целях №2 и №3, система присваивает каждой группе совокупные данные умений и опыта. То есть используются именно эти цифры, а не личные. В целом, когда группа с большим разбросом по умениям попадается против соло игрока, то у каждого соло игрока показатели будут близки к средним у группы. Если вы заметите, что один игрок будет намного слабее других в этом же матче, то скорее всего это значит, что он в группе с сильным игроком.

К тому же, когда игроки в группе, то они обычно будут лучше соперников такого же уровня, но не знающих друг друга. Мы учитываем это в двух плоскостях. Во-первых, мы раздельно считаем ваш уровень игры соло и в группе. Во-вторых, мы устанавливаем эффективный MMR на основе количества игроков в группе и распределения уровня участников группы.

Вот пример матча, сыгранного сегодня, который показывает оба принципа в действии.

 

Обратите внимание, что установленный средний MMR для всех групп равен примерно 2700. Когда игроки в команде распределены по установленному рангу, как указано на примере, то соло ранг может быть выше или ниже ранга игроков в группе; кроме того, группа с меньшим разбросом MMR (группа F) имеет схожий ранг с группой с большим разбросом MMR (группа D). Это обычная ситуация. Также заметьте, что у группы D меньше разница из-за больше разброса MMR у игроков в ней. Группа F, которая собрана из игроков примерно равного уровня, получила меньший бонус. Эти регулировки были определены путем использования статистического аппарата (подробнее об этом ниже), но если объяснить простым языком: ваш уровень игры улучшается быстрее, если вы играете в группе с более сильными игроками, чем в группе с игроками своего уровня.

 

Процесс использования полученных данных

Сложно оценить эффективность работы системы матчмейкинга. Игроки оценивают работу в соответствии с количеством своих побед и поражений. Это также касается и команды разработчиков Dota 2! Чтобы избежать эмоций и пустых высказываний: "Матчмейкинг работает хорошо, я ведь побеждаю!"; мы пытаемся принимать объективные решения, используя собранные данные. К счастью, у нас очень много информации. Например, вы можете задаться вопросом, как мы определяем оптимальные параметры показателей MMR у аккаунтов, исходя из того факта, что игроки, находящиеся в группе, показывают более лучший результат чем те, которые играют одни. Мы использовали инструмент статистики, известный как логистическая регрессия, суть работы которой заключается в создании функции, предсказывающей шансы на победу. Это функция содержит в себе несколько коэффициентов, которые определяют бонусный MMR показатель для игроков, находящихся в группе. Далее мы используем некоторые численные методы чтобы определить коэффициенты, с помощью которых и выстраивается функция, способная наиболее точно предсказать результат матча.

Другой пример того, как данные влияют на процесс проектирования работы матчмейкинга - это решения о том, что матч достаточно подходящий и его можно принять в расчет статистики, в этом случае вы можете претендовать на более лучший подбор. Чтобы более-менее точно определить данный показатель, мы начали измерять качество матча. Главная цель матчмейкинга - это веселье, у нас есть несколько показателей, которые мы используем, чтобы определить качество матча. Одним из таких показателей измерения является баланс, основанный на разнице в заработанном золоте. Более точно - это зависимость разницы по золоту в зависимости от времени, который измеряется с того момента, когда разница в золоте была равна нулю. Это легко заметить на графике, где отображается разница в заработанном золоте. Мы находим последнюю точку, когда график пересекает ноль, и затем измеряем область между абсциссой (горизонтальной осью) и графиком. Обычно чем меньше эта область, тем более сбалансированным был матч.

В какой-то момент игры Dire имели преимущество 10 000 золота, но команда Света отыгралась и вырвалась вперед на некоторое время. Даже несмотря на тот факт, что какой-то момент времени команда имела значительное преимущество, баланс, который был нами вычислен при подборе игроков, не нарушился.

Вооружившись данной системой измерения (кроме всех остальных), мы находимся на пути определения порога оптимального времени ожидания. Мы вносим некоторые корректировки и потом наблюдаем, как меняется качество матчей исходя из измерений разброса, и как это влияет на баланс конкретного матча.

Вывод

Мы очень надеемся, что данный материал дал вам некоторое представление о том, как работает система матчмейкинга, а также о том, как мы продвигаемся в процессе принятия удачных решений. Как и все то, что мы делаем, матчмейкинг - это одна из тех вещей, за которой нужно следить постоянно. Система подбора игры никогда не будет идеальной, и технические детали в данном материале отражают текущее положение дел, и многое может измениться, как только мы найдем более лучший путь решения. Мы прислушиваемся к вашим отзывам и всегда стараемся сделать только лучшее.