Балансировщик в WoT – непредсказуемый и беспощадный

Балансировщик — модуль серверной части World of Tanks, который добавляет танки в команду, делает их равными по «силе» и отправляет команды в бой. Появился в начале закрытого бета-тестирования игры (на альфа-тесте его не было вообще). В самом первом варианте уровней боев было всего два («песок» с уровнями танков 1-2 и общие бои 3-10 уровней). Чуть позже ему на смену пришла более развитая версия, появилась первая таблица распределения танков по уровням боев.

Основа ММО-игры «World of Tanks» – бои двух команд, состоящих из 15 боевых машин каждая. Машины поделены на классы: легкие, средние и тяжёлые танки, противотанковые самоходные орудия и самоходная гаубичная артиллерия. Каждый класс включает в себя 10 уровней «развития» техники. Чтобы Случайные бои (основной игровой режим) были интересными для игроков, необходимо выполнение трех важных условий автоматического подбора танков:

· Равенство возможностей боевой техники противоборствующих команд;

· Разнообразие составов команд;

· Непредсказуемость хода боя и его итогов.

Бои в World of Tanks поделены на одиннадцать уровней, десять из которых примерно соответствуют уровням боевых машин в ветках прокачки.

Пример: тяжёлый танк IV уровня, может попасть только в бои IV и V уровня по своему балансному весу – скрытому численному параметру, определяющему боевую эффективность каждой машины. Балансный вес напрямую связан с типом машины, её уровнем и ролью в бою.

Работа балансировщика в случайных боях базируется на следующих принципах:

· Любая боевая машина может попасть в бои только своего уровня, за исключением взводов;

· Место машины в списке команды определяется её балансным весом;

· Боевые машины подбираются в команды на основе статистики составов уже собранных команд за прошедшие полчаса;

· Суммарный балансный вес двух противоборствующих команд различается не более чем на 10%, за исключением особых случаев;

· Суммарный балансный вес арт-САУ двух противоборствующих команд различается не более чем на 20%, количество – не более чем на 1, число арт-САУ на команду – не более 5;

· Чем больше конкретная машина ждёт своей очереди, тем выше становится ее приоритет. Если ожидание превышает 1 минуту, балансировщик стремится отправить в бой именно этот танк;

· Если собранные команды не соответствуют условиям баланса, они расформировываются и набираются заново.

Балансировщик не учитывает:

· Национальную принадлежность танка;

· Модули танка (орудие, башня, двигатель и т.д.);

· Установленное на танк дополнительное оборудование и/или снаряжение;

· Уровень прокачки экипажа;

· Уровень мастерства игрока.

Существующая модель работает с очередями боевых машин. Каждому уровню и типу боёв соответствует своя очередь, всего очередей 33 (11 уровней боя, 3 различных режима боя). Статистика боёв собирается по каждой из очередей отдельно. На основе собранных данных для каждого танка в команде рассчитывается примерный балансный вес и балансировщик подбирает машины в команду, ориентируясь на него.

Частные случаи работы балансировщика

В алгоритмах балансировщика заложена возможность сбора нестандартных команд. Число боёв таких команд не должно превышать 5% от общего количества боёв, однако в конкретной ситуации у конкретного игрока этот процент может варьироваться, в полном соответствии с теорией вероятности. Например, если вы сыграли 10 боев подряд на ИС-3 и в 3 (30%) боях наблюдали нарушение «правила первых 5 мест» (не было равенства машин по уровню), то это не является ошибкой балансировщика, и скорее всего в следующих 10 боях не повторится.

Еще одна причина появления нестандартных составов – взводы. Если взвод собран из однотипных машин (например 3 тяжёлых танка VII уровня), то ему легко подберут подходящую команду. А если во взводе собраны очень разные танки, например тяжелый танк X и две машины II уровня? Балансировщик корректно обрабатывает и такую ситуацию, однако состав обеих команд, скорее всего, будет необычным. Еще одна разновидность взводов, под которые балансировщик может подобрать нестандартные команды – тройка АРТ-САУ или лёгких танков-разведчиков. Эти классы машин в игре распределяются по-своему, и собранные из них подразделения не должны нарушать правила балансировки.

Собирая команду на бой, модуль заполняет незанятые места в ней, двигаясь от первой до пятнадцатой ячейки, пропуская заполненные. Очередь просматривается балансировщиком на всю длину и из неё выбирается очередная машина, балансный вес которой максимально близок к весу текущей ячейки. Однако, если веса всё же различаются (в очереди не оказалось танка с нужным весом), то ячейка заполняется, а балансные веса ячеек, оставшихся незанятыми, корректируются так, чтобы не выйти за 10% разницы суммарных весов команд (20% в случае наличия в очереди игрока, который ждет боя более 3 минут). Именно этим объясняются случаи выдачи танков «на сдачу», когда на 15 месте в команде оказывается слабый танк: балансировщик несколько раз корректировал балансные веса ячеек, и вес последней незанятой оказался минимально допустимым.

Ячейки заполняются в обеих командах синхронно, с 1-й до 15-й. «Пересортировка» 30 уже отобранных боевых машин с целью обеспечения равенства составов не производится, и если в паре команд одна содержит группу однотипных машин, а вторая – нет, то при соблюдении прочих условий, эта пара команд отправится в бой. При заполнении незанятых ячеек в команде, начиная с 6-й, балансировщик не учитывает тип и уровень машины в ячейке противоположной команды под тем же номером, поэтому сравнивать команды «по парам машин» имеет смысл только в первых 5 ячейках. Но и в них «равенство пар» не гарантировано, так как для долго ожидающих в очереди машин это правило отменяется.

Балансный вес машин

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

Рассмотрим ситуацию на примере тяжелого танка ИС-3. Его балансный вес равен: 40 (базовый балансный вес уровня). Прибавляем множитель класса x 1.2 и получаем итоговую цифру 48.

Стоит отметить, что машины 9-10 уровня имеют повышенный множитель, равный 1.2, поэтому балансировщик не видит разницы между ними.

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

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

Комментарии