- 09, Dec 2013
- #1
На протяжении последних нескольких месяцев мы работали над улучшением системы подбора игр (далее: матчмейкинг). В этом посте мы хотим поделиться с вами информацией о том, что из себя представляет матчмейкинг сейчас, а также немного рассказать о новых функциях матчмейкинга, которые будут скоро реализованы.
Ranked Matchmaking is Coming
Вследующем крупном обновлении будет добавлен подбор игры, основанный на системе рейтинга(уровня) игроков. Этот режим прежде всего нацелен на опытных игроков, которые хотят играть в более конкурентоспособной среде и иметь представление о своем матчмейкинг рейтинге (MMR). При подборе игр в Dota 2 всегда вычислялся уровень (прим.: не путать с уровнем, который отображается в профиле Dota 2) игроков, и это использовалось при создании матча. При новом матчмейкинге уровень будет виден всем.Вот, что вам нужно знать о новом подборе игр:
- Ranked matchmaking (подбор игр на основе рейтинга игроков) будет доступен после того, как игрок сыграет примерно 150 матчей.
- У всех игроков в группе (party) данный режим должен быть доступен.
- На данный момент этот режим будет работать только для следующих модов: All Pick, Captains Mode и Captains Draft.
- Для игроков, у которых снижен приоритет подбора игры, новый режим доступен не будет.
- Тренера не могут принять участие в матче, найденном с использованием системы Ranked матчмейкинга.
- Матчи, сыгранные через простой подбор игры, не влияют на рейтинг в Ranked матчмейкинге, и наоборот.
- Ваш рейтинг будет виден только вам и вашим друзьям. Рейтинг, который используется при обычном подборе игры, не будет отображаться.
- Когда вы в первый раз будете использовать новый подбор игры, потребуется некоторая фаза калибровки, в процессе которой вам нужно будет сыграть до 10 игр. На протяжении этого времени ваш рейтинг в новом подборе игры не будет отображаться.
Your Matchmaking Rating (MMR)
Dota 2 использует стандартную технику для расчета и отслеживания опыта игрока. К каждому игроку была прикреплена система подсчета MMR, которая является суммарным измерением при определении количественных показателей вашего уровня игры в Dota 2. После каждого матча мы обновляем ваш показатель MMR, основываясь на том, что происходило в матче.В общем, когда вы побеждаете, ваш MMR показать будет расти, соответственно, когда проигрываете, ваш показатель MMR будет падать.
Победа/поражение - это главный критерий для расчета MMR рейтинга, но ваше поведение и деятельность в игре также будет оказывать влияние на рейтинг, особенно в тех случаях, когда у нас будут сомнения, касаемые вашего рейтинга.
Вполне возможно, что в некоторых случаях ваш индивидуальный MMR показатель (рейтинг) будет расти после поражения или уменьшаться после победы, но в большинстве ситуаций, средний показатель MMR будет увеличиваться у победившей команды, и уменьшаться у проигравшей.
Мы также будем отслеживать те случаи, когда мы не уверены насчет вашего MMR.
В ситуации с новыми аккаунтами и игрой в новом подборе игры, будет присутствовать большая неопределенность в расчетах рейтинга.
В результате большой неопределенности, нужны будут значительные корректировки после каждого матча, и незначительные, если неопределенность маленькая.
Все вместе, MMR рейтинг и погрешность в вычислении, может быть интерпретировано, как зависимость того, как вы покажете себя в следующей игре; MMR показатель служит для, того чтобы уловить ваше поведение в игре, которое может отличаться от стандартных случаев или от того, как вы показали себя в предыдущих матчах.
Если исход матчей (соотношение побед/поражений и индивидуальная игра) постоянно будет соответствовать тому, что ожидается, то неопределенность при вычислении вашего рейтинга будет уменьшаться вплоть до минимума.
Необычный исход матча может быть поводом для увеличения неопределенности.
Мы отслеживаем 4 показателя MMR для каждого игрока:
- Обычный матчмейкинг, игрок играет один
- Обычный матчмейкинг, игрок играет в составе группы
- Ranked матчмейкинг, игрок играет один
- Ranked матчмейкинг, игрок играет в составе группы
В новом подборе игры, каждый из двух показателей MMR имеет собственный период калибровки. В зависимости от некоторых обстоятельств, мы можем запустить калибровку заново, если нам будет казаться, что MMR вычислен неверно.
Чтобы бы вы почувствовали разброс в показателе MMR, ниже мы приводим показатели MMR в соответствии с процентными значениями.
5% - 110010% - 150025% - 200050% - 225075% - 273190% - 320095% - 390099% - 4100 Имейте ввиду, что это распределение взято из обычного подбора игры.
Мы еще не знаем, какое распределение будет в новом подборе игр, но ожидаем, что оно будет другим.
Также мы ожидаем, что игроки, которые воспользуются новым подбором игры, будут более опытными, и у любого игрока будут разные представления об игре, и, соответственно, сама игра будет отличаться от тех игр, которые были сыграны через стандартный подбор матчей.
Как создать хороший матч?
Конечная цель автоматизированного поиска игр в Dota 2 - наслаждение игрой для самих игроков. Это возможно при соблюдении следующих правил:- Команды сбалансированы (каждая команда имеет 50% шансов на победу).
- Разница в мастерстве между наиболее и наименее опытными игроками в матче сводится к минимуму. Это связано с балансом сил команд, но это не одно и то же.
- Разница в опыте (измеряется по количеству сыгранных игр) между наименее опытным игроком и самым опытным игроком сводится к минимуму. Подробнее об этом ниже.
- Игрок Radiant с наибольшим уровнем мастерства должен быть очень близко к уровню мастерства лучшего игрока Dire.
- Каждая команда содержит примерно такое же количество игроков, играющих вместе. Например, система поиска игр будет пытаться избежать игры пяти отдельных игроков против пяти человек, играющих вместе.
- Языковые предпочтения игроков будут учтены, игроки команды должны иметь общий язык. Отсутствие общего языка среди языковых предпочтений товарищей по команде будет избегаться. Также будет учитываться возможность найти общий язык у разных команд, но в меньшей степени..
- Время ожидания не должно быть лишком долгим.
Система поиска игр редко достигает всех этих целей.
Для любого потенциального матча матчмейкинг присваивает показатель качества для каждого из вышеуказанных критериев, а затем принимает среднее значение.
Когда общая оценка качества превышает это значение, матч считается достаточно сбалансированным и формируется.
Мы постоянно экспериментируем с различными критериями и их приоритетностью.
Система поиска игр непосредственно не пытается достичь какого-либо конкретного соотношения выигранных и проигранных матчей для игроков.
Тем не менее, мы стараемся, чтобы каждая команда имела 50% шансов на победу в любом матче.
Мы не исследуем отдельные полосы побед или поражений и не пытаемся закончить их. Однако, если вы продолжаете победную серию, в целом ваш рейтинг MMR растет, что будет, как правило, вызывать поиск более искусных соперников и товарищей по команде.
Доля побед также не полезна в качестве индикатора мастерства, и матчмейкинг не использует ее для этой цели.
Мы в первую очередь пробуем группы игроков по уровню опыта (критерий №3 в приведенном выше списке), потому что мы обнаружили, что игроки одного уровня квалификации, но разного уровня опыта отличаются стилем и пониманием игры, которую играют.
Наши измерения в целях разработки системы поиска позволяют составить приблизительную логарифмическую функцию от количества игр.
Разница в опыте между 40 и 120 сыгранными играми примерно такая же, как разница между 120 и 280 играми.
Вы можете посмотреть влияние целей #2 и #3 из списка на диаграмме ниже, где количество сыгранных игр - горизонтальная ось, а рейтинг MMR расположен на вертикальной оси.
Если два игрока расположены близко друг к другу на смене, они считаются хорошими кандидатами для совместного матча.
Соответственно, игроки, расположенные далеко друг от друга, не смогут сыграть хорошую игру.
Типичная траектория карьеры игрока в Dota 2:пробретение опыта и движение вправо и вверх, соответственно квалификация возрастает.
Когда опытные игроки создают новые учетные записи, они следуют по несколько иной траектории.
Их MMR поднимается относительно быстро, из-за чего они находятся в левом верхнем углу диаграммы, где будут встречаться с игроками с более высоким опытом (большим числом игр, чем на их аккаунте).
Что насчет групп?
Что касается групп, то тут дело обстоит сложнее.Группы часто состоят из игроков, сильно различающихся по уровню игры и опыту.
В целях измерения критериев согласия, обозначенных #2 и #3 выше, матчмейкер присваивает каждой группе совокупные данные уровня игры и опыта.
То есть используются в первую очередь данные группы, нежели индивидуальные.
В целом, когда группа с большим разбросом уровня игры попадается против соло игрока, то у соло игрока уровень игры и опыт будет близок к среднему уровню группы.
Если вы заметите, что один игрок будет играть намного хуже других в матче, то, скорее всего, это будет значить, что он в группе с игроком высокого уровня.
К тому же, когда игроки находятся в группе, то они обычно играют лучше соперников такого же уровня, но не знающих друг друга.
Мы учитываем это двумя способами.
Во-первых, мы раздельно считаем ваш уровень игры соло и в группе.
Во-вторых, мы устанавливаем эффективный MMR на основе количества игроков в группе и распределения уровня игры участников группы.
Вот пример матча, сформированного сегодня, который показывает оба принципа в действии.
Обратите внимание, что установленный средний MMR для всех групп равен примерно 2700. Когда игроки в команде распределены по установленному рангу, как указано на примере, то соло игроки имеют ранг выше и ниже игроков в группе; кроме того, группа с меньшим разбросом MMR (группа F) имеет схожий ранг с группой с большим разбросом MMR (группа D). Это типичные шаблоны.
Также заметьте, что у группы D большая регулировка MMR из-за больше разброса MMR игроков в ней.
Группа F, которая собрана из игроков примерно равного уровня, получила меньший бонус.
Эти регулировки были определены путем использования статистического аппарата (подробнее об этом ниже), но если объяснить простым языком: ваш уровень игры улучшается быстрее, если вы играете в группе с более сильными игроками, чем в группе с игроками своего уровня.
Процесс использования полученных данных
Сложно оценить успешность работы подбора игры.Игроки оценивают работу матчмейкинг в соответствии с количеством своих побед и поражений.
Это также касается и команды разработчиков Dota 2! Чтобы избежать эмоций и пустых высказываний: "Матчмейкинг работает хорошо, я ведь побеждаю!"; мы пытаемся принимать объективные решения при использовании собранных данных.
К счастью, у нас очень много информации.
Например, вы можете задаться вопросом о том, как мы определяем оптимальные параметры показателей MMR у аккаунтов, исходя из того факта, что игроки, находящиеся в группе, показывают более лучший результат чем те, которые играют одни.
Мы использовали инструмент статистики, известный как логистическая регрессия, суть работы которой заключается в попытке создании функцию, которая может предсказывать шансы на победу.
Это функция содержит в себе несколько коэффициентов, которые определяют бонусный MMR показатель для игроков, находящихся в группе.
Далее мы используем некоторые численные методы, чтобы определить коэффициенты, с помощью которых выстраивается функция, способная наиболее точно предсказать результат матча.
Другой пример того, как данные влияют на процесс проектирования работы матчмейкинга - это решения о том, что матч "достаточно хорош" и его можно принять в расчет статистики, а также случаи вы можете находиться в ожидании более лучшего матча.
Чтобы достаточно хорошо определить данный порог, мы начали измерять качество матча.
Главная цель матчмейкинга - это веселье, у нас есть несколько показателей, которые мы используем, чтобы определить качество матча.
Одним из таких показателей измерения является баланс, основанный на разнице в заработанном золоте.
Более точно - это отрезок времени в соответствии с разницей по золоту, измеряемый с того момента, когда в игре разница в золоте была равна нулю.
Это легко заметить на графике, где отображается разница в заработанном золоте.
Мы находим последнюю точку, когда график пересекает ноль, и затем измеряем область между абсциссой (горизонтальной осью) и графиком.
В основном, чем меньше эта область, тем сбалансированней был матч.
В какой-то момент матча команда Тьмы имела преимущество 10 000 золота, но команда Света отыгралась и вырвалась вперед на некоторое время.
Даже несмотря на тот факт, что какой-то момент времени команда имела значительное преимущество, баланс, который был нами вычислен при подборе игроков, не нарушился.
Вооружившись данной системой измерения (кроме всех остальных), мы находимся на пути определения порога оптимального времени ожидания.
Мы вносим некоторые корректировки и потом наблюдаем, как меняется качество матчей, исходя из измерений разброса, касаемых баланса конкретного матча.
Это не критично, если система измерения ошибочно определит некоторые аспекты измеряемой игры, которая, по сути, была уже близка к провалу, т.к. мы всегда обеспокоены тем результатом, который мы увидим после внесения изменений.
Вывод
Мы очень надеемся, что данный пост дал вам некоторое представление о том, как работает система подбора игры, а также о том, как мы продвигаемся в процессе принятия успешных решений.Как и все то, что мы делаем, матчмейкинг - это одна из тех вещей, за которой нужно следить постоянно.
Система подбора игры никогда не будет идеальной, и технические детали в данном посте отражают текущее положение дел, и вероятно многое может измениться, как только мы найдем более лучший путь решения.
Мы прислушиваемся к вашим отзывам и всегда стараемся сделать только лучшее.