Сегодня мы подробно поговорим о том, как работает улучшенный балансировщик, и рассмотрим каждый этап формирования команд. Поехали!
Как это работает
Улучшенный балансировщик формирует две команды, учитывая ряд критериев. Основная задача балансировщика прежняя — отправить игрока в бой как можно быстрее и сформировать две команды с соблюдением следующих условий:
- Равенство возможностей боевой техники: команды должны иметь равные шансы на победу.
- Разнообразие составов команд: наборы техники в каждом бою должны быть разнообразными, чтобы игрок получал новый опыт.
- Непредсказуемость хода боя и его итогов: исход боя должен зависеть в первую очередь от действий игроков.
Чтобы добиться такого результата, система анализирует машины в очереди и выбирает один из шаблонов — серверных алгоритмов для сбора команд, которые определяют количество машин в верхней, средней и нижней частях списка.
Балансировщик начинает свою работу с попытки создать трёхуровневый бой с использованием шаблона 3/5/7 (три машины в верхней, пять машин в средней и семь машин в нижней части списка) или другого его варианта (например, 3/4/8, 3/3/9 и т. д.). Выбранный балансировщиком вариант зависит от состава очереди. В любом случае не будет боёв, где количество машин в верхней части списка превышает количество машин в середине. Руководствуясь тем же принципом, балансировщик не создаёт боёв, где количество машин в середине превышает количество машин внизу списка. Всегда будут соблюдаться следующие правила:
- машин вверху списка не может быть больше, чем в середине;
- машин в середине списка не может быть больше, чем в нижней части.
Таким образом, балансировщик гарантирует, что, независимо от позиции игрока в списке команды, для него всегда будет достаточное количество машин противника аналогичного уровня, и влияние такого игрока на исход боя увеличивается.