Найти в Дзене
Все о танках

Зачем над матчмейкером WoT работает "сильный" математик

Спойлер: статья про заговор ВГ против честных игроков ;) Как раз подготовил ее к выходу нового матчмейкера. По заявлению Антона Панкова в штате ВГ есть очень сильный математик. Цитата (видео на портале ВГ "Спрашивали? Отвечаем" тайминг 1:10:30): "Математиков такого уровня, на самом деле, которые в состоянии работать с нашим матчмейкером,... ...который постоянно требует изменений, контроля статистики и т.д. Это вообще единцы людей" Обратите внимание на слова "контроль статистики" в матчмейкере. Антон проговорился немного. Для людей далеких от математики, аналитики и статистики все это звучит очень ярко и красиво. Вроде того "ВГ молодцы, стараются и находят уникальные кадры, чтобы они делали игру качественной"... А вот лично меня такая информация наводит на рассуждения. Дело в том, что официальная задача матчмейкера не такая уж и сложная. Давайте разберемся, вот прям на пальцах. Цель матчмейкера: создавать бои, подбирать в них игроков и отдавать на сервер списки бойцов, карту и кнопку в

Спойлер: статья про заговор ВГ против честных игроков ;) Как раз подготовил ее к выходу нового матчмейкера.

По заявлению Антона Панкова в штате ВГ есть очень сильный математик. Цитата (видео на портале ВГ "Спрашивали? Отвечаем" тайминг 1:10:30):

"Математиков такого уровня, на самом деле, которые в состоянии работать с нашим матчмейкером,... ...который постоянно требует изменений, контроля статистики и т.д. Это вообще единцы людей"
Скриншот передачи "Спрашивали? Отвечаем..."
Скриншот передачи "Спрашивали? Отвечаем..."

Обратите внимание на слова "контроль статистики" в матчмейкере. Антон проговорился немного.

Для людей далеких от математики, аналитики и статистики все это звучит очень ярко и красиво. Вроде того "ВГ молодцы, стараются и находят уникальные кадры, чтобы они делали игру качественной"... А вот лично меня такая информация наводит на рассуждения.

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

Цель матчмейкера: создавать бои, подбирать в них игроков и отдавать на сервер списки бойцов, карту и кнопку в бой. Давайте залезем в мозг матчмейкера:

1. Находим игрока, который дольше всего ждет
2. Смотрим какой танк он поставил и определяем уровень боев
3. Случайно подбираем карту
4. Выбираем схему распределения игроков (одноуровневый бой, +(-) 1 уровень и т.д.). Случайно же
5. Выбираем соотношение ТТ, СТ, ПТ, ЛТ и ПТ-САУ. (Например по 3 ТТ, 2 ПТ, 2 ЛТ, 2 АРТ-САУ, 6 СТ).
6. Поехали по списку игроков, которые поставили под нашу схему и уровень боев нужный танк и собираем команды.
7. Отдаем списки на сервер и запускаем бой.

Выше приведена основа схемы работы матчмейкера, если он будет работать рандомно (случайно). Случайно подбирать команды, случайно подбирать карты и т.д.

У такой схемы есть один минус. Генератор случайных чисел иногда "чудит" и для комфортной игры, не плохо бы в матчмейкер добавить некоторые скрипты, которые эти самые причуды исключит. Берем только официальную и точно известную информацию.

Когда купили танк и запускаете первый бой на нем, вы попадете в топ. Это означает, что в п.2 и п.6 нашей схемы надо добавить проверку для игроков с первым боем на танке.

В п.3 надо добавит проверку, на выбор карты. Вдруг она только что выпадала и, если это так, то подобрать другую карту.

И таких вот контрольных проверок в работе матчмейкера не так уж и много. Привел тут 2, ну пусть их будет 10-15.

Такая задача решается программистами старших курсов института на раз-два. Скучновато даже.

И возникает вопрос. Причем тут математик высочайшего уровня? Что тут считать? А вот теперь мои домыслы... не претендую на истину в последней инстанции. Просто мысли.

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

Процент побед игрока на именно этом респе, этой карты
Процент побед игрока на этом танке
Его игровые ТТХ, сколько светит, сколько дамажит
Эти же параметры для всех остальных игроков команды и их суммарный результат

Теперь под эти параметры, если мы хотим получить нужный исход боя, нужно подобрать команду, которая либо лучше, либо хуже.

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

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

Вспоминаем цитату Белецкого, где он упоминаем в работе матчмейкера "контроль статистики" и делаем выводы ;)

PS про патент Виктора Кислого в курсе.