Изменения балансировщика WoT в 2019 году

Ghe
7-02-2019, 18:49
457



Как известно, 2019-й станет большим годом для балансировщика — его ждут значительные изменения. Чтобы видеть полную картинку, давайте вспомним, как эволюционировал балансировщик, а заодно обозначим его основные проблемы.

Краткий обзор

Балансировщик — один из наиболее важных компонентов World of Tanks. Он собирает команды, используя технику, выбранную игроками. Помимо этого балансировщик выполняет и другие важные задачи, среди которых:
  • подбор сопоставимых составов команд;
  • подбор разнообразной по типу и уровню техники;
  • подбор карты.
Основная задача балансировщика — отправить игроков в бой как можно скорее, и в 2010 году это было гораздо легче, чем сегодня. Меньше игроков, особенно на IX и X уровнях, к тому же всего три нации. Количество и разнообразие типов и уровней техники в игре тоже было существенно ниже. Чтобы сократить время ожидания боя, балансировщик мог собирать бои из техники с разницей в 5 уровней. Так, например, машины VI и X уровней могли оказаться в одном бою. И сейчас в такое верится с трудом.
Со временем появились проблемы, которые балансировщик просто не мог решить, поскольку у него не было необходимых инструментов:
  • отсутствие ограничений по количеству машин в одной команде в зависимости от их класса;
  • так называемые «взводы с брелоком», состоящие из техники, различающейся более чем на три уровня;
  • малое количество машин противника уровня игрока. Например, в бою в команде противника могло оказаться 13 машин X уровня, и всего 2 машины VIII уровня. Другими словами, равных по силам целей могло оказаться слишком мало, и это существенно увеличивало сложность боя и снижало его комфорт для машин из нижней части списка.
Для решения этих проблем нужно было фундаментально изменить балансировщик и создать совершенно новую архитектуру. 

Обновление 9.18 и шаблонный балансировщик

В 2017 году вышло обновление 9.18, которое должно было решить эти проблемы и повысить комфортность игры. Мы ввели некоторые ограничения: взводы стали только одноуровневыми, а ещё количество САУ в команде было ограничено до трёх. Но что ещё важнее, в обновлении 9.18 появился шаблонный балансировщик. Его шаблоны (основные: 3–5–7, 5–10 и одноуровневый бой) используются до сих пор.
Но с тех пор структура очереди сильно изменилась.

Что такое очередь?

Очередь — это список техники, который заполняется в соответствии с выбором игроков, нажавших кнопку «В бой». Как только вы выбираете машину для выхода в бой, вас немедленно добавляют в этот список.
Другими словами, очередь — это один большой зал ожидания. В нём находится техника, которая ждёт, пока балансировщик отправит её в бой. И это происходит, когда в наличии есть достаточное количество техники подходящих уровней.
Время ожидания в очереди зависит от количества игроков в очереди, а также от уровней и типов техники, которые они выбрали. Балансировщик подбирает шаблон, разные типы техники и выбирает карту, стараясь соблюдать вариативность.
До выхода обновления 9.18 техники X уровня было в четыре раза меньше, чем техники VIII уровня. Поэтому базовый шаблон 3–5–7 показал себя вполне эффективным.

Новые сложности

Однако за последние два года соотношение уровней техники значительно изменилось. Теперь техники X уровня всего в два раза меньше, чем техники VIII уровня; количество машин IX уровня также значительно выросло.
При этом очередь очень динамична и изменяется буквально каждую минуту. Это связано не только с естественным развитием нашей игры: на очередь влияют и некоторые другие игровые факторы, которые увеличивают нагрузку на неё, например:
  • проходящие игровые события;
  • акции и специальные предложения.
Естественное развитие очереди привело к двум новым серьёзным проблемам, которые мы сейчас решаем:
  1. Частая игра внизу списка команд против игроков более высоких уровней. Особенно это касается техники VI и VIII уровней.
  2. Премиум техника, имеющая льготный уровень боёв, часто играет против соперника уровнем выше в боях, собранных по шаблону 5–10. Это существенно влияет на комфорт при игре.
Строгие шаблоны не могут решить эти проблемы, так как за последнее время структура очереди изменилась. Поэтому многие игроки часто попадают в нижнюю часть списка команд.

Как мы хотим это исправить? Мы снизим количество боёв против техники более высоких уровней и увеличим количество боёв против техники своего уровня или ниже.

Механизм решения проблемы

Чтобы достигнуть этой цели, мы планируем добавить в игру систему динамических шаблонов как для двухуровневых, так и для трёхуровневых боёв. В будущем возможно появление следующих шаблонов:
  • 7–8, 6–9, 8–7 и 4–11 для двухуровневых боёв;
  • 4–5–6, 4–4–7 и даже 5–5–5 для трёхуровневых боёв;
Возможны и другие шаблоны.
Шаблон 5–5–5 может показаться не самым комфортным для тех, кто окажется внизу списка. Но он будет использоваться только в случаях, когда распределение машин в очереди по уровням близко к экстремальному. То есть его задача — снизить число боёв, которые игроки проводят против машин на два уровня выше.
Новый балансировщик сможет выбирать различные шаблоны для техники разных уровней для поддержания оптимального баланса всей системы. При этом он сможет быстро приспосабливаться к текущей ситуации в очереди, учитывая многие факторы. Выбор в пользу конкретного шаблона будет сделан в зависимости от количества танков в очереди и их уровня. Посмотрите сами!

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


Обратите внимание: на интерактивном изображении показана примерная частота попадания на технике VIII уровня в разные части списка команды для одноуровневых, двухуровневых и трёхуровневых боев. Работа балансировщика показана на примере боёв за 11 декабря 2018 года.


После введения обновлённого балансировщика время ожидания боя может немного увеличиться, однако комфортность игры также должна возрасти. Время ожидания боя будет зависеть от текущей ситуации в очереди.

Планы на ближайшее будущее

Техническая часть архитектуры готова и уже успешно прошла тестирование. В ближайшем будущем, после дополнительных улучшений и технических настроек, мы запустим новый балансировщик на одном из основных серверов.
В первую очередь проверим стабильность и отказоустойчивость нового балансировщика в реальных рабочих условиях, а также соберём данные о распределении техники в боях. И, конечно, настроим шаблоны.
По завершении тестов мы тщательно проанализируем полученные результаты и ваши отзывы. Если будет уверенность, что новый балансировщик повысит качество боёв, мы запустим его и на других серверах.


Поделись с друзьями:

Комментарии: