Что такое роллбэк в World of Tanks: особенности и последствия

Поиск под(от)круток в World of Tanks

Увидев эту статью я таки решил опубликовать свою, но уже про World of Tanks (WoT). Для понимания, что такое подкрутки или открутки, нужно объяснить базовые механики игры. Перед каждым боем случайным образом формируются две команды из 15 игроков в зависимости от вида техники, которую они выбрали, и далее запускается сам бой.

В бою каждая техника обладает определённым количеством хит поинтов, бронепробитием и разовым уроном, который наносится при пробитии, техника считается уничтоженной, если ее количество хит поинтов равно 0. И отличительной чертой WoT является то, что бронепробитие и наносимый урон являются нормально распределёнными случайными величинами. И тут на сцену выходят подкрутки или открутки. Например, игроки считают, что бронепробитие и урон не являются истинно случайными, а определяются по какому-то хитрому алгоритму, чтобы не дать сильным игрокам много побеждать (открутки) и наоборот помогать слабым игрокам делать хоть какие-то результаты, чтобы они не теряли интерес к игре (подкрутки).

Объект исследований и источник данных

  • Урон за выстрел: собрать данные просто и следовательно проанализировать
  • Пробитие при выстреле: тут увы возможности собрать данные нет, так как эта информация нигде не отображается
  • Точность: снаряд можно отклонить от идеальной траектории случайным образом
  • Балансировщик: ситуации когда более сильный игрок чаще попадает в заведомо слабые команды и наоборот
  • Добивание противника: противник, который остался на один выстрел, его переживает

Данные для проверки на наличие или отсутствие подкруток, я собрал со стримов двух сильных игроков (KorbenDallas — свидетель секты подкруток и the_barbarian — не особо в них верит), игравших на одном и том же танке (T95E6) довольно продолжительное время. Это позволило собрать довольно большие выборки для анализа. В этой статье я обсужу 1, 4 и 5 пункты.

Урон с выстрела

Для этого раздела данные были собраны с нескольких стримов и размер выборки примерно составил около 500 значений для каждого из игроков.

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

Они составили 400.3 и 32.39 для the_barbarian и 399.38 и 33.3 для KorbenDallas, что хорошо соответствует паспортному урону в 400 единиц. Используя эти данные я оценил доверительные интервалы в "три сигма" и получил следующее: 400.3±4.1 для the_barbarian и 399.38±4.9 для KorbenDallas. Эти интервалы хорошо перекрываются и говорить о том, что один игрок имеет преимущество перед другим не имеет оснований. Таким образом, средние значения скорее всего не являются объектом подкруток и это ожидаемо, так как такие отклонения заметить довольно просто.

Теперь займемся подкрутками следующего рода: если много раз подряд выбить высокий урон за выстрел, то игрок попадет в открутку (т. е. последующие выстрелы будет иметь урон гораздо ниже среднего) или наоборот. Для проверки такого рода подкруток придется обратиться к анализу временных рядов.

Для временных рядов необходимо построить функцию автокорреляции. Если будут присутствовать значения сильно отличные от соседних, то тогда подрутки существуют. Однако, автокорреляция может заметить только наличие линейной взаимосвязи, что может быть и неверным относительно анализируемых выборок. Поэтому я вычислил «авто взаимную информацию», т. е. взаимную информацию между оригинальным временным рядом и его сдвинутой копией. И получил следующее:

Как видно при малой величине сдвига значение взаимной информации мало, но не нулевое. Это объясняется конечным размеров выборок. И по мере увеличения сдвига, размеры выборок уменьшаются (т. к. сдвиг не циклический) и взаимная информация растет за счет малости выборок. Но эти результаты опять говорят о том, что подкруток скорее всего нет.

У читателей может возникнуть закономерный вопрос, а насколько чувствительна «авто взаимная информация» к наличию подкруток. Для этого был сгенерирован нечестный временной ряд по следующему принципу: если два раза подряд выпал урон меньше(больше) среднего, то следующий выстрел будет иметь урон больше(меньше) среднего. Как видно по рисунку ниже, даже такое небольшое вмешательство в генерацию случайных величин может быть замечено. Справедливости ради, стоит заметить, что нечестный ряд имеет значение, заметно выделяющееся в начале графика, примерно в 1 из 6 случаев.

Балансировщик

Как я отмечал ранее, еще одним способом реализации подкруток является балансировщик, т. е. алгоритм ответственный за создание команд. Тут основной тезис заключается в том, что слабых игроков кидает в заведомо более сильную команду, а сильных игроков в слабую. Причиной для появления такого мнения частично служит тот факт, что процент побед игроков находится примерно между 43% и 70%. Меньших значений процента побед можно достигнуть только занимаясь откровенным вредительством, а больших играя во взводе (т. е. всегда вместе и с голосовой связью) из трех сильных игроков. Однако причина кроется скорее в другом.

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

Да, есть очень плохие игроки, которые всегда будут команду тянуть на дно. Но, во-первых, танки играются 15 на 15 и их вклад может компенсироваться другими игроками. Во-вторых, против них могут попасться такие же плохие игроки, и кто-то из них должен будет победить, что увеличит их процент побед. И тут появляется замкнутый круг: чем больше будет плохих игроков (процент побед меньше 43%), тем чаще они будут встречаться друг против друга в боях, тогда их шансы на победу будут уже 50 на 50, а это неизбежно приведет к увеличению их процента побед, т.к. до этого он был вообще 43%.

Для проверки моих рассуждений я использовал следующую модель. Я взял 1000 игроков (можно взять другое число, это не принципиально). Каждому игроку я присвоил случайное равномерно распределённое число от 0 до 1 (хотя можно взять и другое распределение), которое можно назвать скиллом.

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

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

Также я попытался объяснить асимметрию между нижней и верхней границей на процент побед (43% гораздо ближе к 50%, чем 70%). Для этого предположим, что каждый танк имеет 2000 хит поинтов. Тогда чтобы иметь 50% побед надо наносить в среднем 2000 урона. Если игрок очень плохой, то его минимальный вклад будет 0 урона (и ниже он быть не может, т. к. иначе это уже целенаправленное вредительство). Хороший же игрок напротив не имеет таких ограничений и может наносить 5000 урона в среднем, тем самым покрывая вклад 2.5 игроков и приобретая процент побед отстоящий от 50% гораздо дальше, чем процент побед плохого игрока.

Добивание

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

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

«Лучшие реплеи недели», выпуск № 200: отмечаем громко

Наша давняя рубрика «Лучшие реплеи недели» на официальном канале World of Tanks на YouTube выходит в двухсотый раз !

Присоединяйтесь к празднованию этого невероятного достижения — мы предлагаем специальный выпуск с пятью реплеями вместо традиционных трёх. Как обычно, все реплеи присланы игроками, а счастливчики, чьи бои попали в рубрику, получат невероятно редкий 2D-стиль «Победитель ЛРН» .

Кроме того, победитель выпуска получит 3 000 , а за второе место мы даём 2 500 ! Присылайте записи своих самых впечатляющих боёв, если хотите попасть в один из следующих выпусков и выиграть призы. Узнайте, как принять участие в конкурсе, и держите кулачки!

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

Рубрика «Лучшие реплеи недели» для EU-игроков теперь доступна с озвучкой на русском и украинском языках ! Заходите на YouTube-канал и подписывайтесь, чтобы не пропустить новые выпуски.

«Лучшие реплеи недели» № 200: раздача призов

Конечно же, просмотр отличных видео — не единственный способ отметить знаменательную дату. Мы также подготовили для вас призы! Читайте описание выпуска № 200, чтобы узнать, как их получить!

Призы

  • 1-е место: VII E 25 , 1 000 , 3 дня Премиум аккаунта
  • 2–4-е места: 1 000

Как записать реплей

Записали невероятный бой, который достоин награды в 2 500 или 3 000 и обязательно должен появиться на официальном канале? Эти простые шаги помогут вам попасть в число величайших игроков World of Tanks и нашу рубрику.

  1. Перейдите на сайт wotreplays.eu и авторизуйтесь под своим аккаунтом.
  2. Загрузите реплей, демонстрирующий ваше мастерство, нажав на оранжевую кнопку Upload.
  3. Дайте реплею интересное название и напишите в описании, почему он достоин публикации.
  4. Завершив загрузку, нажмите на кнопку Contests/Replay Controls над описанием боя и выберите опцию BRW, чтобы отправить его на конкурс.

Реплеи также можно присылать в Discord . Для этого:

  1. Присоединитесь к World of Tanks в Discord (если вас там ещё нет).
  2. Выберите язык.
  3. В разделе Community Zone выберите канал #best-replays-of-the-week.
  4. Отправьте свой реплей.

Вот и всё! Теперь держите кулачки за то, чтобы мы выбрали вас.

Ваша очередь стать знаменитыми! Включите в настройках игры опцию «Записывать бои», выбирайте любимый танк, отправляйтесь в бой и покажите класс! Ждём ваших реплеев!

Подписывайтесь на канал — и в бой!

Оцените статью
InternetDoc.ru
Добавить комментарий