моды для World of Warplanes
шкурки для world of warplanes

Какой тип самолетов вам больше нравится?

результаты

Загрузка ... Загрузка ...

Как работает балансер World of Warplanes

Козни балансировщика, Великий Беларусский Рандом, «броняня», рикошеты и непробития в World of Tanks, тараны и столкновения в World of Warplanes – игры вселенной Wargaming славны внутренними особенностями, которые игроками часто воспринимаются как случайности. Действительно, некоторые из них происходят по мановению виртуального «кубика», чтобы внести разнообразие в геймплей, однако за многим скрывается сложный механизм. Сегодня мы расскажем про логику работы балансировщика в World of Warplanes.

server patch

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

Вначале балансировщик проверяет, есть ли в очереди в бой достаточное число самолетов нужного уровня, чтобы начать формировать комнату. Для разных уровней боев это количество разное, например, для сборки комнаты I-II уровней нужно 60 подходящих самолетов, для II-III – 30, и так далее. Это сделано для того, чтобы не возникало ситуаций, когда все самолеты, например, II уровня ушли в бой I-II, и для II-III в очереди остается слишком мало игроков. Конечно, подобное решение не идеально, однако оно лучшим образом работает в условиях довольно небольшого числа игроков с самолетами некоторых уровней (например, обладателей IX-X). В будущем реализация балансировщика изменится и станет более сложной и гибкой.

Итак, у нас сформировалась игровая комната из 30 самолетов, формально подходящих под базовые условия. Теперь нужно их отсортировать и составить две равнозначных команды. Для этого используется так называемый «балансный вес» самолетов. Общий вес команд должен быть максимально равен. В World of Warplanes не учитываются характеристики конкретных моделей самолетов, только уровень и класс. Для балансировщика принято, что самолет III уровня равноценен двум первым, IV – двум вторым, и так далее. Для классов установлены отдельные коэффициенты, которые учитываются при формировании команд: для штурмовиков – 0,3, для тяжелых истребителей – 0,25, для палубных и легких истребителей – 0,1. Они определяют приоритет их балансировки при возникновении конфликта (например, в одной команде есть штурмовик, а в другой нет) – в первую очередь алгоритм будет «выравнивать» штурмовики, отсеивая из комнаты самолеты других классов.

Отдельно учитывается балансный вес звена, который равен сумме весов самолетов, входящих в него. Уровень боев для звена соответствует уровню боев для самолета максимального уровня в нем (звено 3+4+5 может попасть в бои от III до VII уровней). Однако во время сортировки для звена применяется дополнительная составляющая, равная вес_старшего_самолета_в_звене + 0,01 · (размер_звена — 1). Таким образом, для целей сортировки вес звена из 3 самолетов будет на 0,02 выше, чем суммарный вес одиночных самолетов того же уровня. Благодаря этому мы можем свести к минимуму ситуации, когда в высокоуровневый бой попадают одиночные самолеты низкого уровня – балансировщик предпочтет заменить несколько «одиночек» звеном с таким же весом.

Дополнительно балансируются топ-3 команд: (Top1A – Top1B) · Ktop1 (разница между весами двух топ-1 умножается на коэффициент для них. Коэффициенты – 4, 2, 1 для первых трех мест). Полученные значения добавляются в балансный вес команды.

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

Подобный процесс проходит каждый «тик» сервера, равный одной секунде. Т.е. каждую секунду балансировщик проверяет очередь, если есть возможность – создает новые комнаты и начинает с ними работать, одновременно формируя команды в уже созданных.

Добавить комментарий

Важно!
Акции World of Warplanes World of Warplanes