КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

КАКОЙ ПРОЦЕНТ ПОБЕД В WOT World of Tanks

Для новичка и опытного игрока в World Of Tanks, выбор танка для игры – важная задача. Она сложная, потому что машин много (более 500), у каждой есть свои плюсы, минусы, сильные и слабые стороны.


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

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

Зарегистрируйся в World of Tanks по ссылке ниже, и получи танк T-127 или M22 Locust бесплатно!

Время на прочтение

Сегодня мы поговорим об использовании Wargaming API, построим много графиков и проанализируем, от чего же зависит винрейт танков. Сразу хочу отметить, что я не гуру World of Tanks, и если я где-то ошибся, то напишите пожалуйста в комментариях. Все графики кликабельны.


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

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

В игре World of Tanks многие игроки уделяют большое внимание статистике своего аккаунта, а именно винрейту (процент побед), личному рейтингу, WN8 и т.д. Для этих параметров есть формулы, которые учитывают множество характеристик. В основном на винрейт игрока влияет средний урон за бой, выживаемость, средний уровень боёв и еще нескольких параметров. Но от чего же зависит винрейт отдельного танка? Самый очевидный вариант – от игроков, которые на нём больше играют. Но сегодня я хочу провести анализ параметров танков, не включая средний урон на танке по серверу и подобные характеристики, которые мы не можем увидеть из ангара.

И так если взять отдельный бой, то в каждой команде по 15 человек, следовательно, каждый игрок в среднем влияет на исход боя на 6.66%. Если бы в команде было меньше игроков, то их бы стало сложнее балансить, а так влияние каждого сглаживается. Команды формируются матчмейкером на основе веса каждого танка так, чтобы суммарная разница весов команд была минимальна. Вес танка зависит от его уровня боёв и его класса – тяжелый, средний, лёгкий, пт или пт-сау. Общепринятое мнение в игре, что все результаты боёв сводятся к усреднённым 49% побед, столько же поражений и 2% ничьих.

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

От чего же зависит винрейт танков?

Starting from 9.17.1, the report you get on how much damage enemies caused will be just as detailed as it is for the damage you inflict. The battle log (by default located in the bottom left part of the battle HUD; can be moved to the upper part of the battle HUD, to the right of the allied team list in the Setting panel) will inform you about:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Next up, let’s look at the change list for ribbons. We’ll be adding special ribbons to brief you about:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Dynamic Damage Indicators

And there’s absolutely no need to memorize these principles: special tooltips in the Settings window will provide you with an explanation every time you need it.

By default, dynamic damage indicators are switched off to optimize the battle HUD. To enable them, simply select this option in the Setting.

Анализ данных

Зависит ли винрейт от нации техники? Логично предположить, что нет, так как разработчики пытаются максимально сбалансировать это. Давайте построим график. Для построения графиков я использовал библиотеку seaborn:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

В глаза сразу бросаются чешские танки – среднее значение винрейта 51%, но и разброс самый большой. Это объяснятся тем, что ветка относительно новая и многие игроки, которые уже выкачали всё, что только можно, бросились выкачивать и эту ветку. Понятно, что такие игроки довольно скиловые, поэтому и процент побед выше среднего. Также еще не все, кто играют против чехов, знают их слабые места и зоны пробития. Но со временем значение винрейта скорее всего выровняется (а если нет, то WG понерфит многие танки в ветке).

Про WoT:  Чугунная ванна Wotte Start 170х70 см, белая, БП-э00д1139 (Start 1700x700), купить в Москве

А как обстоят дела с классом техники, какой класс «нагибает»? Построим похожий график:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

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

Далее мы не будем говорить об этих двух признаках, так как они не вносят особой пользы в модель на основе random forest.

Посмотрим на корреляцию выбранных раннее признаков и процента побед:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Выделяется сильная корреляция is_premium с winrate. Неужели премиумные танки намного лучше обычных? Не совсем так. Такая сильная зависимость скорее всего объясняется тем, что на премиумной технике играют опытные игроки, чтобы фармить серебро, так как у многих танков, покупаемых за золото, льготный уровень боёв, больше серебра за бой, возможность быстрой прокачки экипажа. Можно построить график и посмотреть, как распределён винрейт на премиумной и обычной технике:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Видно, что плотность распределения побед на обычной технике — это Гаусовское нормальное распределение со средним значением 49%. Плотность распределения побед на премиумной технике вытянута в сторону большего винрейта, среднее значение 52%, а дисперсия намного больше чем у обычной техники.

В игре всего 114 премиумных танка, а это 25% от общего количества. На гистограмме всех танков по проценту побед мы видели хвост справа. Давайте посмотрим, какие танки попали в него:

Получается 93% танков из хвоста — премиумные. Что интересно остальные 7% (2 из 31) это чешские танки.

Также из таблицы корреляции видно, что винрейт прямо пропорционален уровню танка. Рассмотрим подробнее на графике:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Легко объяснить такую картину. На первых двух уровнях техники такой маленький винрейт из-за того, что все начинающие игроки портят статистику танкам из-за отсутствия опыта. Также на первых уровнях больше шансов оказаться внизу списка. На 10 уровне наоборот, ты всегда в топе. Также на 9-10 уровне играть без премиум аккаунта убыточно, поэтому большинство людей там, играют с премиумом.

Из оставшихся признаков прямо пропорциональны винрейту: прочность, скорость вперёд, урон в минуту и броня. Обратно пропорциональны: скорость сведения, разброс орудия. Пока всё очевидно, но дальше видно, что максимальный урон и бронепробитие обратно пропорциональны проценту побед.

Это странно, ведь чем больше танк наносит урона, тем лучше. Так и есть. Если еще раз взглянуть на то, как я получал значения для максимального урона, можно догадаться в чем подвох. Я просто брал максимальные значения урона и бронепробития из всех возможных снарядов для топового орудия. Но ведь чаще всего самый большой урон у фугасов (при самом маленьком бронепробитие), а фугасы далеко не самые часто используемые снаряды у обычных танков, получаем неточность. Также разовый урон может быть большой, а урон в минуту маленький из-за долгой перезарядки. Более того, отрицательное значение корреляции возможно связано с тем, что у артиллерии обычно самый большой урон и самый маленький винрейт – отсюда и обратная пропорциональность.

Что такое “Попадание” и куда девается дамаг?

Вот стреляешь ты по какому нибудь танку. Твой снаряд либо пробивает броню, либо не пробивает. Тебе говорят соответственно “Пробил” , “Не пробил”.

Я понимаю когда ты попадаеш в опорные катки в ту их часть что находится ниже корпуса. Тогда и есть попадание, но урона нет, потому что снаряд не попал ни в какую часть корпуса. Катки и гусеницы как известно не входят в колижн модель и урон в них не проходит. Но вот чего я не понимаю, это когда стреляеш прямо в броню а тебе говорят “Попадание”. Это как? Недавно стреляю в упор в лоб ягпантере 7 лвл. Попадаю в верхний бронелист и мне говорят что я попал, но вот дамаг почему то не прошел

Про WoT:  КАК РАЗБАНИТЬ АККАУНТ В ИГРЕ

Пысы. Сейчас в двух подряд боях играя на защекане я два раза попал в зад убегающим шпицам. Оба раза было Попадание. дамага ноль

Сообщение отредактировал Player_7815018463: 07 Август 2016 – 13:45

AzGaZ #2 Отправлено 07 Август 2016 – 13

Сила – в справедливости.

Player_7815018463 #3 Отправлено 07 Август 2016 – 13

azizgaziyev (07 Август 2016 – 16:53) писал:

Я бы сказал что это, но тут за маты банят

Mujestvo #4 Отправлено 07 Август 2016 – 14

Player_7815018463 (07 Август 2016 – 16:44) писал:

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

Вот неплохой гайд по пробитиям

Player_7815018463 #1 Отправлено 07 Август 2016 – 13

Для анализа данных я использовал питоновскую библиотеку pandas. Загрузим все данные в pandas. DataFrame, получили 450 строк и 40 колонок. Список всех признаков:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Все фичи должны быть интуитивно понятны, кроме ap_damage, apcr_damage, he_damge, hc_damage и такие же с _penetration. Это урон и бронепробитие разными типами снарядов. A PI возвращает информацию об орудии в виде массива объектов, которые содержат данные о уроне и бронепробитие для конкретного типа снарядов. Их есть 4 типа:

API не говорит какой из снарядов основной, а какой покупается за золото, что усложняет анализ.

Создание и отбор признаков

На основе исходных данных можно получить более информативные признаки:

Методом проб и ошибок (random forest) я отобрал самые значимые признаки (но далее мы также рассмотрим еще два интересных признака):


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Для тех, кто не играл в WOT, здесь отображены: уровень танка (от 1 до 10), премиумный танк или нет, количество очков прочности, мощность (лошадей/тонну), скорострельность(выстрелов/минуту), скорость сведения орудия(сек), разброс орудия(метры), скорость вперёд(км/ч), максимальный урон(хп), максимальное бронепробитие(мм), урон в минуту(хп/мин), броня(мм).

Нормализация признаков

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

Inflicted Damage

Each battle event can be explained with several ribbons, providing maximum detail. For example, if you damage two vehicles in one shot or with two shots fired in a short span of time, the info on damage caused to each tank will be displayed on a separate ribbon instead of a single ribbon with the total damage, which you have now.

At the same time, ribbons that aren’t helpful will be removed. For example, when you destroy an enemy vehicle, you don’t really need information on the number of critical hits to its modules. The job’s done, and you move on.

Теперь можно построить random forest на этих данных и посмотреть на результат. Random forest это один из самых распространённых алгоритмов машинного обучения, основанный на усреднении результатов множества разных деревьев решений. Этот алгоритм хорошо подходит для того чтобы узнать важность отдельных признаков:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Я пробовал разные параметры и признаки, но сильно уменьшить ошибку мне не удалось. Видно, что алгоритм в среднем ошибается в предсказаниях на 1.3% процента. А теперь посмотрим на важность признаков для этого леса:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

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

Про WoT:  Мод Тундра – как убрать деревья, листву в World of Tanks 1.3

Что будет, если мы уберем из выборки премиумные танки и обучим random forest с такими же параметрами? Результаты удобно представить на boxplot:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Алгоритму сразу стало намного легче угадывать процент побед и в среднем ошибка на кросс валидации уменьшилась до 0.9%, разброс ошибки также стал существенно меньше.

Settings

You can adjust the battle indicators to best suit your preferences in the Setting panel:

sns.factorplot(‘nation’,’winrate’, data=df_normalized,size=4,aspect=3)
sns.plt.title(‘Winrate from nation’)

ax = sns.factorplot(‘type’,’winrate’, data=df_normalized,size=5,aspect=3)
sns.plt.title(‘Winrate from type’)

От чего зависит?

Для каждой машины такая статистика складывается из нескольких факторов:


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

Таким образом, винрейт любой машины – показатель неоднозначный. И если новичок вдруг возьмет танк с хорошим рейтингом, это не особо добавит плюсов в бою, потому что не прокачан первый пункт. С профи, играющими низкорейтинговой техникой, все не так однозначно.

Получение данных

Чтобы получить данные можно воспользоваться публичным Wargaming API, который предоставляет довольно много различных сведений об игроках и технике. С помощью GET запроса с полем account_id по адресу https://api.worldoftanks.ru/wot/account/tanks/ можно получить информацию о технике игрока, а именно общее количество боёв и побед на каждом танке в json формате. Я делал в лоб: в цикле от 0 до 40кк пытался получить данные по всем account_id. Отрывок кода на python:

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

Далее мы можем посчитать винрейт для каждого танка (всего 450), а также получить подробные характеристики по всей технике. Характеристики можно получить запросом на https://api.worldoftanks.ru/wot/encyclopedia/vehicles/, но API не говорит нам, какие модули являются топовыми для данного танка. В ответе этого метода есть поле “modules_tree”, в котором содержится дерево исследования модулей танка, поэтому пройдя по нему можно выбрать топовые модули. По определению — это модуль наибольшего уровня, а если таких несколько, то наиболее дорогой для исследования. Теперь можно сделать запрос на https://api.worldoftanks.ru/wot/encyclopedia/vehicleprofile/ передав id нужных модулей. В итоге получаем подробные данные по 450 танкам.

Процент побед премиумных танков

Если взять любую статистику, можно увидеть, что Winrate премиумных машин намного выше. Это неудивительно, потому что срабатывают все три фактора. Особенно – возможности игрока. Ведь на премиумных машинах играют, в основном, опытные геймеры, а чем выше уровень – тем больше возможностей. Поэтому если новичок расщедрится и купит премиумный танк, его статистика улучшится ненамного. Потому что уровень танка обычно прямо пропорционален профессионализму игрока, и не будет толка от хорошей техники, если не умеешь ею управлять.

Тонкости винрейта

Если с личными навыками и уровнем танка все в принципе понятно, то с техническими характеристиками сложнее. Winrate прямо пропорционален скорости вперед, прочности, бронированности и урону в минуту. При этом он обратно пропорционален максимальному урону и бронепробитию.


КАКОЙ ПРОЦЕНТ ПОБЕД В WOT

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

Заключение

Мы посмотрели, как работать с WG API. Узнали, как винрейт зависит от нации — на данный момент на чехах он самый нестабильный, от класса техники — на средних танках самый большой, а на арте самый маленький. Также увидели прямолинейную зависимость от уровня. Проанализировали, какие признаки у танка сильнее всего влияют на победу в бою — премиумный танк или нет, а также параметры орудия. Еще мы построили простую модель, которая относительно точно по характеристикам танка может предсказать его процент побед.

Upd: saw_tooth навёл на мысль построить график по винрейту от уровня техники и типа отдельно (кликабельно):

P. S.: Если вы тоже хотите поработать с этим датасетом, но не хотите загружать данные через API то пишите мне.

Оцените статью
TankMod's
Добавить комментарий