Izzard

02.10.2020 в 19:31

20238

Анализ состояния баланса в WC3 от команды W3Champions

Ребята, которые занимаются W3Champions, успевают не только ладдер постоянно улучшать, но еще и занимаются статистикой. Toxi опубликовал статью, в которой представил первую часть исследования баланса в Warcraft 3. Принципиальное отличие этого исследования от традиционных подсчетов по винрейтам заключается в том, что в данном случае учитывается не только количество побед и поражений, но и относительная сила игроков.

news_5f777c8ba1ce1.png

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

Предыдущие исследования

Ранее в основе подобного анализа всегда находился чистый винрейт, но у такого подхода есть определенные недостатки, которые мы в этот раз попробуем скорректировать. Главный недостаток заключается в том, что в анализе по винрейту не принимается во внимание относительная сила игроков. Например, победа Happy над DeMusliM'ом при таком подходе – это то же самое, что победа Lubber'а над все тем же DeMusliM'ом. Но при этом даже на уровне интуиции мы сразу понимаем, что первая ситуация мало что говорит нам о балансе в игре, тогда как вторая, если она (или же нечто аналогичное) происходит очень часто, является куда более интересным результатом для оценки относительной силы игровых рас.

Давайте взглянем на статистику W3C для игр самого высокого уровня:

news_5f777c979aea6.png

Здесь мы, например, можем увидеть, что у ночных эльфов какой-то катастрофический винрейт против хуманов. Но при этом считается, что активно играющих на W3C эльфов высокого уровня (короче, тех, которые не Foggy ;)) на ладдере очень мало. А вот хуманы, с другой стороны, играют очень активно, и эта раса очень хорошо представлена на W3C. Поэтому и нет причины ожидать, что винрейт в этом матч-апе здесь будет близок к 50%. И даже более: если бы винрейт был на отметке в 50%, то это ровным счетом ничего не сказало бы нам о балансе.

Ожидаемые винрейты vs актуальные винрейты

Если обобщить сказанное выше, то важным показателем для сравнения становится ожидаемый винрейт каждой расы, подсчитанный по всей выборке игр. Например, если выборка показывает актуальный винрейт эльфов в 38,4%, и при этом ожидаемый от этой расы винрейт составляет 33%, то получается, что эльфы в данном матч-апе – это еще и имба!

Для того, чтобы вычислить ожидаемый винрейт, мы используем методы оценки силы игрока Glicko2, что дает нам следующую модель для вычисления вероятности победы игрока:

news_5f777cab67348.png

"Дельта" в данном случае = MMR(NE) - MMR(HU). Чтобы вам стало чуть понятнее, давайте приведем пару примеров. Например, представим, что Deathnote играет хуманами и у него 2130 MMR. Он играет против такого игрока, как Sonik, у которого 2309 MMR. Получаем:

news_5f777cbda8345.png

С другой стороны, если Deathnote играет против такого игрока, как Stranik, у которого 2073 MMR, подсчет по Glicko2 показывает, что Deathnote должен побеждать в 58,1% случаев.

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

Моделирование перекоса в матч-апе

Несмотря на то, что описанный выше метод может позволить нам узнать, в какую сторону "перекошен" матч-ап, возникает вопрос: "А насколько серьезный это перекос?" Чтобы дать ответ на этот вопрос, мы решили использовать простую модель, которую взяли из литературы по статистическому обучению с поврежденными метками ("corrupted labels"). Применительно к каждой игре мы предполагаем, что результаты – это наблюдения, на которые могли повлиять какие-то внешние факторы, вносящие погрешность. Эта модель использует два параметра, что зашифровать вероятность того, что каждой из рас "подарили" победу. Например, если брать все тот же матч-ап эльфа против хумана, то вероятность победы ночного эльфа можно записать следующим образом:

news_5f777cd526e89.png
где "Дельта" – это разница в MMR между рейтингом эльфа и хумана.

Первая половина формулы представляет вероятность того, что эльф должен был обыграть хумана, и его соперник не "подарил победу", тогда как второе слагаемое – это вероятность уже того, что хуман должен был обыгрывать эльфа, но по какой-то причине "подарил" победу сопернику. Мы можем использовать имеющиеся в нашем распоряжении данные (то есть список результатов игр) для того, чтобы сопоставить параметры σₕᵤ и σₙₑ. Для этого мы используем метод, который позволяет нам найти два параметра, которые максимизируют вероятность того, что описанный нашей моделью процесс произвел наши наблюдения. Короче, подобранные параметры – это те, которые лучше всего объясняют наблюдаемые нами результаты игры, если мы принимаем, что наша модель сгенерировала эти данные. Когда мы установили два этих параметра, мы можем использовать их для того, чтобы выявить перевес в матч-апе в пользу той или иной расы, учитывая, что два представителя разных рас обладают равной силой, то есть Δ = 0. И тогда все сказанное выше упрощается до:

news_5f777ce77031a.png

Полученное число мы будем называть перевесом в матч-апе.

Выборки данных

У нас есть метод, мы готовы применить метод, но к какой выборке его применять? Во-первых, мы возьмем данные за первые три сезона W3Champions. Нас интересует состояние игры именно на самом высоком уровне, поэтому мы отфильтруем данные таким образом, чтобы в выборку попали только игры между игроками, которые входят в топ-2% ладдера. А это топ-50 игроков в Европе. Мы также будем учитывать только те игры, которые продлились дольше 2 минут. И так как нас интересуют конкретные матч-апы, то мы каждый раз перезапускаем Glicko2 (рейтинговую систему, которая используется на W3C) для анализа массива без конкретного исследуемого матч-апа. Таким образом, мы используем три матч-апа для того, чтобы подсчитать вероятность победы игрока в четвертом матч-апе. Вы можете считать, что это такой способ сделать нашу модель (которая предсказывает вероятность победы) вроде как независимой от того, что мы пытаемся измерить (перекос в матч-апе). Например, если мы используем описанный метод для матч-апа хуман против андеда, то можно ожидать, что если мы при расчете силы хумана будем учитывать и матч-ап против андеда, то рейтинг силы хумана будет выше, нежели в случае, если бы мы этот рейтинг рассчитывали по всем четырем матч-апам. Первый сезон W3Champions стартовал примерно за две недели до патча с баффом Криптлорда, и поэтому в выборке мы используем только те игры, что были сыграны уже после релиза этого патча.

Мы также использовали выборку результатов из игр, представленных на Warcraft3.info и Ликвипедии, и применили к ней тот же метод – посчитали статистку только в играх с участием топовых игроков. Данную выборку замыкают лучшие европейцы из топ-2% выборки W3Champions. В этой выборке меньше игр, но "начинается" выборка с более раннего периода, и ее мы использовали для того, чтобы оценить состояние баланса в двух периодах: до релиза патча 1.32.6 и после релиза данного патча.

Результаты 

Данные с W3C после патча 1.32.6:

news_5f777cf4eb7db.png

Sample size – размер выборки, bias – перекос, expected WR – ожидаемый винрейт, actual WR – актуальный винрейт.
 
Результаты по данным про за 2020:

news_5f777d1627664.png

N – количество игр, bias – перекос, expected – ожидаемый винрейт, actual – актуальный винрейт.

Когда смотрите на результаты, имейте в виду вот что. Во-первых, это модель, а не истина, так что воспринимайте все немного скептически. Во-вторых, нет какой-то очевидной формулы, которая увязывала бы разницу между ожидаемым и актуальным винрейтом и подобранный параметр перекоса. Это объясняет, почему одинаковые, казалось бы, ситуации в винрейтах ведут к разных параметрам перекоса. Это хорошо, так как свидетельствует о том, что нам удалось придать нашей модели достаточно гибкости для того, чтобы она могла дать нам ответы более точные, нежели те, что мы могли вывести сами. Также модель может показать оба параметра по 0 – и в таком случае у нас будет ровно 50%.

В-третьих, количество игр в выборке довольно небольшое, но только эти данные можно использовать для того, чтобы как-то судить о балансе в игре. Так как речь идет о турнирных играх, то мы можем предположить, что в этих партиях игроки использовали самые лучшие стратегии и старались отыграть на максимум. Но даже в таком случае у нас не то чтобы игры исключительно между Infi, Moon'ом, Lyn'ом и 120! Настройка баланса в игре должна быть искусством, а не точной наукой.

С другой стороны, по выборке игр с W3C мы можем вычислить лишь то, какой расе приходится "тяжелее" на самом высоком уровне игры в Европе, в том числе в отдельных матч-апах, но эту выборку нельзя использовать для того, чтобы делать какие-то окончательные выводы по поводу баланса игры. W3Champions – это место для тренировок, и вполне возможно, что игроки здесь пробуют не самые оптимальные стратегии, используют платформу как среду обучения.

Выводы и дальнейшая работа

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

Наконец, учитывая тот факт, что у всех рас равное представительство, мы можем сделать следующие выводы относительно силы рас на самом высоком уровне игры:

news_5f777d268ff84.png

Перекос в матч-апах.

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

Мы не считаем полученные результаты как окончательное и безапелляционное заявление по поводу баланса в WC3, но воспринимаем их как первый шаг в серии более глубокого анализа конкретных матч-апов. Например, если говорить про матч-ап хуман против нежити, то здесь мы могли бы обратить внимание на такие факторы, как конкретные карты, первые герои, а может, даже и стратегии, в том числе и такие, как некро-вагоны. Но перед тем, как углубиться в исследования, мы хотели по крайней мере объяснить вам, почему мы делаем так, как мы делаем :)


  • Автор оригинального материала: Toxi @ W3champions.
Лучшие комментарии

Три икс в кубе плюс константа. Ну что там?

8 комментариев

во всем виноват ТОД

Слово актуальный в таком смысле в русском языке не используется. Используются слова реальный/настоящий.

Автор получи орден сутулого и почетного аккалита) Один Хаппач и 120 катает твоих хуманов из удов.

Три икс в кубе плюс константа. Ну что там?

#2, azgarol

Слово актуальный в таком смысле в русском языке не используется. Используются слова реальный/настоящий.

че за бред? дай угадаю, пруфов не будет?

#2, azgarol

Слово актуальный в таком смысле в русском языке не используется. Используются слова реальный/настоящий.

Предлагаешь заменить один англицизм на другой? blank.gif

ЛОЛ? лол

 
#7  Принеси 10 шкурок, чтоб посмотреть это сообщение
 
#8  Милорд, казна опустеет, если прочитать это сообщение

Есть ложь, есть гнусная ложь, а есть статистика.

#2, azgarol
Слово актуальный в таком смысле в русском языке не используется. Используются слова реальный/настоящий.

Еще как используется, особенно в профессиональной литературе.

Написать комментарий


Бан VineWood
Новые сообщения ниже
Поприветствовать стримера
Упомянуть стримера Вставить смайл