Оглавление

«Графика 2042 года» (ну, не совсем): технический разбор Battlefield 2042

Игра с технологиями нового поколения, которой пока нужна приличная оптимизация



Релиз Battlefield 2042 нельзя назвать гладким — у игры много негативных отзывов, а по нашим ощущениям проект обладает хорошим потенциалом, но требует немаленькой полировки (как, кстати, было с прошлой игрой — Battlefield V). Но сегодня речь все равно пойдет о другом — о движке игры. Тут тоже есть, что доводить до ума, но в целом игры DICE всегда были на острие технического прогресса. Battlefield 2042 — не исключение, но она выходит в том числе на консолях предыдущего поколения, что зачастую ограничивает возможности разработчиков. Удерживают ли Battlefield 2042 старые технологии или это настоящая игра следующего поколения?



Battlefield 2042 — одна из самых детализированных игр на данный момент. Каждая травинка смоделирована и оттекстурированна в высоком разрешении, поэтому даже ползая по полям на пузе сложно будет найти какие-нибудь изъяны. И так по всей игре. На прицелах и лобовых стеклах техники есть разводы от чистки и забившиеся в углы пыль и грязь. На форме солдат можно разглядеть тип машинной строчки, которой ее шили. Подземные переходы между бункерами окрашены матовой краской, а рядом с опрокинутыми мусорками лежат полусгнившая банановая кожура и алюминиевые банки от напитков. На полках лабораторий стоят склянки и пластиковые контейнеры с реагентами, пикапы собраны для переезда из зоны военных действий, на оружии выбиты их серийные номера, имена владельцев и QR-коды. При этом некоторые здания абсолютно пусты, что выглядит крайне подозрительно на фоне безумной детализацией и невербальной истории соседних локаций — но тут больше вопрос к левел-дизайнерам.

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



Все текстуры окружения — будь то земля, пол или стены — используют карты смещения для придания дополнительной визуальной глубины. На текстуры рисуется освещение от источников света. Земля, здания, техника используют parallax occlusion mapping — параллактическое отображение с трассировкой лучей в пиксельном шейдере. Эта техника позволяет сделать простые геометрические формы более детализированными и объемными не увеличивая количество полигонов, а вернув текстурные координаты.



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

Конечно, DICE знает, что в этом у игры пробел, поэтому на ПК можно включить затенение фонового освещения при помощи трассировки лучей. Неплохой эффект, но сам по себе он мало что дает. На любых настройках выше средних Ambient Occlusion в игре выглядит приемлемо, пусть даже и в теории не реалистично. Как обычно, проблема с RT-эффектами теней в том, что игры достаточно хорошо умеют делать «что-то похожее на правду», чтобы даже знающий человек не смог сходу сказать, правильные в игре тени или нет. Отражения и глобальное освещение — гораздо более благородные задачи для трассировки лучей. Но что имеем, то имеем.



В Battlefield 2042 реализована система смены погоды, которая может очень быстро превратить яркий солнечный день в филиал ада. Согласно предыстории, на Земле настала глобальная экологическая катастрофа, поэтому смерчи и торнадо случаются на всех или почти на всех картах, утягивая в воздух даже боевую технику и радикально меняя те части карты, по которым они проходят. Выглядит и играется это превосходно, такое встречается далеко не в каждой игре. К сожалению, разрушения уровня смоделированы заранее (на карте Космодром торнадо всегда взрывает ракету), скорее всего при помощи аламбического кэширование анимации (мы уже писали про него, когда рассказывали про Doom Eternal). Не исключено, что следующие части, избавившись от бремени Xbox One и PS4, смогут сделать более впечатляющие разрушения в реальном времени, но пока только кэшированная анимация и те же самые разрушения стен, что и в других играх серии.



Динамическая смена погоды в движке с физически корректным рендерингом — это не самая простая задача, и DICE не срезает углы. Для создания реалистичного освещения в Frostbite художник задает энергию солнечного света и положение Солнца, которые он хочет получить, а движок сам в обратном порядке рассчитывает реальное положение светила и его начальную энергию, а из них рендерит атмосферные эффекты и освещение для любой точки в атмосфере. На земле и высоко в облаках в истребителе атмосфера должна выглядеть одинаково реальной. Эту функцию специально разрабатывали под любую, не только нашу, звездную систему и планету, чтобы использовать его в Mass Effect Andromeda, но она помогает делать реалистичный физически корректный рендеринг с критически важным для него законом сохранения энергии даже в относительно обычных декорациях в Battlefield 2042.



Для атмосферных эффектов Battlefield 2042 использует процедурно генерируемые облака по методике старшего художника Guerrilla Games Эндрю Шнайдера, первоначально разработанной для Horizon: Zero Dawn. Эта система создает объемные облака с процедурно генерируемой текстурой, которая делает их детализированными практически на любом расстоянии, а сами облака формируются согласно большому количеству правил. Например, их плотность увеличивается при низких температурах, температура меняется в зависимости от высоты, большая плотность приводит к дождю или снегу, легкие облака рассеивают свет как туман, турбулентности искажают их форму и т.д. Технология позволяет создавать атмосферную перспективу, когда дальние объекты становятся менее контрастными и четкими и их застилает дымка или даже низкие облака. Это именно тот эффект, которого не хватает в GTA Trilogy Definitive Edition, но в Battlefield 2042 он выглядит настолько естественно, что на него не обращаешь внимание, потому что мы привыкли видеть это в реальности. Для сохранения производительности игра рендерит небо в половину разрешения игры, но это не очень заметно в большинстве ситуаций.

У каждой карты в Battlefield 2042 собственный тон и атмосфера, которые меняются вместе с погодой. DICE всегда волновал не реализм, а «киношность» изображения, художественная эмуляция того, как мир выглядит в кино. Поэтому Frosbite 3 поддерживает стандартные в киноиндустрии 10-ти битные LUT — таблицы цветокоррекции, которые берут исходные данные (в данном случае, RGB значения в HDR) и изменяют их под художественную задумку. Например, под цвета, которые выдает определенная кинопленка. Поддержка стандартных LUT позволяет DICE нанимать профессиональных голливудских колористов, которые могут покрасить игру так же как они красят фильмы. Во время смены погоды Battlefield 2042 зачастую подхватывает и новую LUT, плавно меняя цветокоррекцию в игре и создавая новое настроение.



Также Battlefield 2042 использует новую для DICE систему интерактивных частиц с аппаратным ускорением на видеокарте, сделанной по принципам стандартных в кино программ вроде среды визуального программирования Houdini и композерского софта Nuke. В предыдущих частях (кроме Battlefield V) DICE рассчитывала частицы на центральном процессоре. Это очень гибкий метод, можно заставить частицы делать все, что угодно, но это ограничивает производительность, потому что процессор в такой масштабной игре должен заниматься еще и другими задачами. Поэтому для Star Wars Battlefront 2 DICE разработала новую систему, которая работает на видеокарте, имеет сложную сортировку (то есть частицы могут сложно смешиваться и скрываться за полупрозрачными объектами вроде стекол) и высокую производительность.



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

С пост-эффектами в Battlefield 2042 все как в лучших домах. Если предыдущие игры студии вроде Star Wars Battlefront 2 и Battlefield V даже на ПК страдали от низкого внутреннего разрешения эффектов вроде глубины резкости и их масок, которые иногда систематически не совпадали с моделями, то в финальной версии BF2042 исправили даже те косяки, которые были в бета-версии. Игра использует размытие в движении всех возможных видов — размытие при движении камеры, размытие от скорости и размытие движения отдельных объектов. Единственное, чего не хватает — раздельного управления этими эффектами, потому что многие не любят размытие камеры, а размытие объектов хотят оставить, но игра позволяет отключить или усилить все или ничего. Конечно, движок использует хроматические аберрации, растянутые блики анаморфотных объективов, пленочные ореолы от засветов и искажения объектива по краям кадра, чтобы сделать изображение более киношным и естественным и менее хирургически чистым. И, конечно, капли дождя и снежинки попадают на виртуальную камеру, слегка преломляя мир игры. Ничего необычного или сверхъестественного, но все эти мелкие детали складываются и дают цельное изображение, с чем в бета-версии были проблемы именно из-за отсутствия большинства пост-эффектов.




В режиме Battlefield Portal можно поиграть в классические карты из предыдущих частей серии, полностью воссозданные в последней версии движка игры. Игровые механики не изменились, но графически DICE ушла в полный отрыв, сделав с нуля каждую текстурку и модельку. Особенно разница заметна с картами из оригинальной Battlefield 1942 2002 года выпуска.



Если говорить о «железной» стороне вопроса, то Battlefield 2042 оказалась крайне требовательной к процессору. Мы тестировали игру на новейшем Intel Core i9-12900K, 16 GB DDR5 и NVIDIA GeForce RTX 3090 FE. Из-за проблем со вторым модулем памяти мы не смогли провести полноценный тест производительности, но даже в однаканальном режиме памяти игра работала в 70+ FPS в 4К на максимальных настройках с RTX и DLSS Q. Многие жалуются на низкую производительность, плохую оптимизацию под RTX 30-ой серии и более слабые карты, но проблема тут не в видеокарте, а в процессоре — особенно при разрешении ниже 4К. Впервые за долгое время игры снова начинают быть требовательными к CPU. На i9-12900K на карте «Калейдоскоп» на 128 человек мы увидели 100% нагрузку 10 потоков и еще примерно 30% нагрузку на еще 4 потока. Игре явно нужен как минимум современный восьмиядерный ядерный процессор. Не удивительно — в Xbox Series и PS5 стоят восьмиядерные процессоры на архитектуре AMD Zen 2 с поддержкой SMT. Безусловно, Battlefield 2042 неплохо напрягает и видеокарты, но даже в Battlefield V можно было легко упереться в производительность CPU, а три года спустя первая игра серии с поддержкой 128 игроков на одной карте заставляет напрячься даже самые быстрые современные процессоры. Вероятно, по этой же причине разработчики отказались от полноценной разрушаемости — а ведь долгое время именно она была визитной карточкой серии. В Battlefield 2042 разрушить можно лишь некоторые здания, да и то не полностью — полагаем, пойди разработчики дальше, и игру бы не вытянули даже самые мощные процессоры.



Канал Hardware Unboxed провел тестирование 24 процессоров, чтобы выяснить минимальную конфигурацию для комфортной игры в Battlefield 2042. Результаты неутешительные: только процессоры AMD 5000-й серии и Intel 11-й и 12-й серии не проваливаются ниже 60 FPS даже в редких случаях (1%), а для максимально комфортной игры подойдут только топовые процессоры Intel и AMD: 5800X, 5900X, 5950X от красных и 12600K, 12700K и 12900K от синих. Только они уверенно держатся в районе 60 FPS даже в очень редких случаях (0,1%). Четырехядерные процессоры уже не потянут матчи на 128 человек, а 16-ти ядерный 5950X наоборот не дает весомого преимущества, потому что игра не может использовать так много потоков. Лучшую производительность показали новые процессоры Intel на архитектуре Alder Lake, правда новая память DDR5 не помогает увеличить производительность из-за очень высоких задержек первого поколения модулей (CL36), однако разница между DDR4 на частоте 3 ГГц с задержками CL18 и разогнанным модулем на 3,2 ГГц и CL14 дают ощутимый прирост в 18%, так что память тоже крайне важна для Battlefield 2042.

В DICE уже пообещали дополнительно оптимизировать то, как игра задействует ресурсы процессора. Будут и другие улучшения — например, в декабрьском обновлении запланирована доработка технологии DLSS, которая пока дает совсем небольшой прирост в производительности. Надеемся, что на этом улучшения не прекратятся.

Обсудить