От “калькулятора” до сервера: как разработчики World of Tanks позволяют игре летать на любом железе

“Гонка вооружений” в мире игрового железа не прекращается ни на секунду. Новое поколение консолей обещает моментальную загрузку и невиданную ранее графику, а топовые игровые ПК уже обгоняют по стоимости подержанные автомобили и приближаются к новым. Игры тоже становятся очень требовательными - для “тех самых ощущений” от, например, Cyberpunk 2077, некоторые геймеры полностью обновляли свой компьютер. Тем не менее, геймеры продолжают выжимать все, что можно и нельзя из своих пяти- или десятилетних машин. Не у всех есть желание или возможность купить самую последнюю сборку, на которой все игры идут на “максималках”.

Для большинства людей с “демократичными” параметрами ПК разработчики компьютерных игр оптимизируют свои проекты, придумывают способы обеспечить красивую картинку и стабильный FPS на любом “железе”. Мы спросили у разработчиков World of Tanks, что нужно делать, чтобы игра была доступна и приятна для всех.

Соблюдать баланс между производительностью и хорошей картинкой

На данный момент в игре существует 6 пресетов графики - от минимального до “ультра”. Каждый адаптирован под определенную планку мощности компьютеров таким образом, чтобы обеспечить для игрока оптимальное сочетание производительности и качества графики. Игрок может использовать автоопределение настроек - тогда специальные алгоритмы подберут оптимальные настройки. Или можно вручную задать конкретный пресет графики. Оба варианта справедливы, но автоопределение с большей вероятностью подберет лучший пресет.

При минимальных графических настройках уменьшено количество полигонов, сложность и количество материалов, эффектов, размер текстур. На пресете “Минимум” качество и количество объектов ровно такое, какое позволит комфорт игрока. На пресете “Ультра” количество и качество объектов максимальное для того же уровня FPS.

Нажмите на картинку  для увеличения
Нажмите на картинку  для увеличения

Сложность и количество объектов в кадре оказывает влияние на потребляемое игрой количество видеопамяти и оперативной памяти, а также на FPS, а значит для слабых компьютеров необходимо по возможности уменьшать число объектов на карте и их качество. Убирать любые объекты нельзя — есть важные для геймплея элементы, которые нужно сохранить любой ценой. Такие объекты приходится максимально “ужимать” по качеству. Снижение качества объектов подразумевает в том числе и “отрисовку” разработчиками игры отдельных объектов как низкого, так и и высокого качества. Какие из них будут использоваться в игре, будет определять или автоматическая система, или выбирать сам игрок в настройках.

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

В общем, задача технических художников найти “золотой баланс” между производительностью игры и качеством картинки. Качественно и количественно распределить объекты на карте и в кадре таким образом, чтобы на всех пресетах графики игра работала стабильно.

Делать гибкие настройки графики

Разработчики World of Tanks стараются давать возможность использовать потенциал “железа” по максимуму — будь то старая, “заслуженная” офисная машина или топовый киберспортивный сетап. Для этого в игре постепенно появлялись все более гибкие графические настройки.

В середине 2014 года, с выходом World of Tanks версии 0.9.2, в игру добавили галочку “прозрачность листвы”. Может показаться, что это очень скромное изменение, о котором не стоит упоминать отдельно, но это совсем не так. Включение этой функции для некоторых систем в определенных ракурсах давало прирост производительности в 2 раза.

В версии 0.9.0 случился исторический момент: была введена система автоопределения графики, основные механизмы которой действуют и сейчас. С помощью этой системы мы автоматически определяли игроков в те или иные графические наборы настроек.

От “калькулятора” до сервера: как разработчики World of Tanks позволяют игре летать на любом железе

В первое время из-за новой системы автоопределения некоторые игроки начали жаловаться на низкие значения среднего FPS в бою. Эту проблему решили: стали определять средние значения производительности игрока в бою и, если на протяжении определенного промежутка времени средний FPS последнего боя был ниже заданного порога в 20, то при следующем входе в клиент игроку предлагалось снизить пресет графики.

В рамках работы по заявкам от пользователей мы обнаружили, что причиной низкого значения FPS часто являлось большое количество эффектов, которые находились в кадре и на которые отводилось большое время отрисовки. Так появилась идея внедрения динамического изменения качества эффектов. Эта фича в критический момент низкого FPS была призвана максимально ускорить проигрывание эффектов для быстрой помощи игроку в критической ситуации.

Дальше развитие настроек графики в World of Tanks продолжалось в логике увеличения разнообразия опций и динамичности системы: так игрок получает оптимальную картинку и лучший игровой опыт. Внедрение настройки – это в первую очередь дать возможность игроку, который испытывает проблемы производительности в бою, динамически снизить нагрузку на видеокарту путем ручного выбора или автоматического срабатывания механизма.

Адаптировать игру под самое разнообразное “железо”

Парк компьютерной техники у игроков популярных игр всегда очень разнообразный. Например, в World of Tanks одних только уникальных процессоров замечено около 2500. Некоторые игроки обходятся 2 ГБ видеопамяти и 2 ГБ оперативки, а некоторые вообще играют на серверах — недавно мы заметили 5 человек с объемом ОЗУ 256 ГБ+.

В Wargaming существует целый ряд конфигураций практически 15 летней давности, на которых до сих пор проводится тестирование. Конечно, с каждый годом все больше и больше таких наборов “железа” подвергается серьезным испытаниям временем. Оно не щадит ни видеокарты, ни процессоры, ни материнские платы. Вышедшие из строя конфигурации не так-то просто найти. Некоторые редкие образцы разработчикам World of Tanks приходится искать даже не в Беларуси или России, а по всему миру. Например, какие-то видеокарты покупались на европейских и американских площадках, другие доставлялись транзитом через Россию из Азии, а некоторые запросы напрямую уходили таким гигантам отрасли, как Gigabyte, Asus и др.

Большая удача найти, купить и доставить редкое “железо” в идеальном (новом) состоянии. Именно такой случай произошел в 2015 году, когда в европейском магазине были куплены 4 новые видеокарты Radeon HD 2400 XT, которым на тот момент было 8 лет.

Конечно, разработчики не могут поддерживать все старые конфигурации, поэтому со временем им приходится выводить архаичное оборудование из “обоймы”. Тем не менее, такие изменения проводятся аккуратно и постепенно: например, отказ от поддержки Windows XP/Vista и DirectX9, а также увеличение минимального объема ОЗУ до 2 ГБ у нас произошло только в 2019 году.

Адаптироваться не только под “минималки”, но и под топовое железо

В World of Tanks широкий спектр пресетов графических настроек и множество отдельных настроек. На высоких настройках графики работает много графических технологий и эффектов, которых может вообще не быть на низких настройках, или они там очень упрощены. При этом графические изменения носят чисто декоративный характер и не влияют на геймплей, чтобы у игроков играющих на различных настройках не было преимуществ в игре.

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

Другим примером технологий, которые есть только на высоких настройках графики и полностью отключаются на более низких, является динамическое намокание и загрязнение танка. Например, на снежных картах при высоких настройках графики танки покрываются снегом. По мере движения по карте танк постепенно загрязняется, при заезде в воду грязь смывается и танк намокает — цвет темнеет, начинает больше отражать свет, а затем постепенно сохнет. Эффект, конечно же, добавляет реалистичности, но не влияет на геймплей.

112112
89 комментариев

Помню как в 2012 катал на 8800Gt с 256мб памяти, и юзал проги для увеличения фпса. Деревья были плоскими, не было текстур земли и неба, зато 60+ фпс было.
Эх, столько кайфа получал от игры в 2011-2015. 
Потом продал свой акк за копейки, при том что на нем были очень редкие танки, которые выдавались в 15к экземплярах на весь СНГ, и забил на них.
За это время успел послужить в танковых войсках, научился водить, и стрелять с Т80БВ и Т80У.
А еще именно наши танки, (да-да, вот эти с фото) обстреливали белый дом в 90-ых.
Ибо служил в Кантемировской Дивизии. Фото на самом деле уйма)

56
Ответить

Эххх... Хорошая была игра. С 10-го года играл. И года до 15-го прямо достаточно плотно.

14
Ответить

Комментарий недоступен

1
Ответить

Ну и как служба в Кантемировской? Сам туда мог попасть, но решил поехать подальше :D

Ответить

Очень сильно сомневаюсь, что поддержка переворота Ельцина и обстрел Белого Дома - повод для гордости.

1
Ответить
19
Ответить

Вот эту картинку вставьте в заголовок.

9
Ответить