С Crimson Desert южнокорейская Pearl Abyss создала одну из самых успешных игр года. Мы уже подробно познакомились с этим приключенческим экшеном с открытым миром в нашем тесте. На gamescom dev нам удалось поговорить с разработчиками движка Crimson Desert и узнать, какие технические решения лежат в основе игры.
Одна из отличительных черт Crimson Desert — огромный открытый мир. Перед командой стояла непростая задача: наполнить его деталями, сохранив при этом стабильную производительность. BlackSpace Engine не стала простой эволюцией движка Black Desert. Как рассказали разработчики, базовый код для Crimson Desert во многом переписали заново, хотя отдельные наработки предыдущего проекта сохранились.
BlackSpace Engine для огромного открытого мира
По словам Pearl Abyss, именно масштаб мира стал одной из главных технических сложностей при создании Crimson Desert. Игрок должен свободно путешествовать по практически бесшовному миру, а движок при этом обязан стабильно работать на разных аппаратных платформах. Значительную часть разработки заняла доводка ранних версий до состояния, пригодного для релиза.
Некоторые системы команда перенесла из Black Desert — например, отдельные компоненты Action Script и ИИ. Для Crimson Desert разработчики серьёзно их переработали. Большую часть графической подсистемы создали заново: атмосферное рассеяние, динамическое глобальное освещение, рендеринг множества источников света, GPU-симуляции частиц, а также физику одежды и волос. С нуля разработали и симуляцию воды.
Максимум вычислений — на GPU
Огромный открытый мир особенно сильно нагружает систему рендеринга, поэтому Pearl Abyss старается переносить как можно больше вычислений с CPU на GPU. В частности, движок использует GPU при размещении геометрии, растительности, сооружений и крупных ориентиров. Часть объектов художники расставляют вручную, а часть движок генерирует автоматически по заданным шаблонам и правилам.
Такой подход снижает нагрузку на CPU и эффективнее задействует ресурсы видеокарты.
При работе с мешами и текстурами BlackSpace Engine использует различные способы экономии ресурсов, включая displacement mapping. Для объектов предусмотрены несколько уровней детализации — LOD меняется в зависимости от расстояния до камеры.
При профилировании производительности разработчики выделили три наиболее тяжёлых участка: геометрический проход с G-buffer, расчёт глобального освещения, а также временное сглаживание и апскейлинг вместе с последующей обработкой изображения. Атмосферное рассеяние и GPU-частицы, напротив, создают относительно небольшую нагрузку.
Трассировка лучей почти для всего освещения
Особенно интересен подход Pearl Abyss к трассировке лучей. По словам разработчиков, Crimson Desert использует её практически во всей системе освещения. С помощью трассировки рассчитываются в том числе тени от солнца и луны. Для оборудования без аппаратных RT-блоков предусмотрена программная реализация.
На видеокартах с аппаратным ускорением трассировки команда старается удерживать нагрузку в разумных пределах за счёт ограниченного бюджета лучей. На максимальном уровне качества плотность выборки для диффузного глобального освещения составляет 1/16, а для других компонентов глобального освещения — 1/4. Поэтому движок рассчитывает сравнительно небольшое количество лучей и затем восстанавливает итоговое изображение.
При этом одной вычислительной мощностью проблема не ограничивается. Для трассировки огромного открытого мира потребовался бы слишком большой объём видеопамяти. Поэтому непосредственно RT-геометрия используется примерно в радиусе 100 м вокруг игрока. Для более удалённых участков BlackSpace Engine переходит на SDF-воксели. Такой гибридный подход сохраняет глобальное освещение на большой дистанции без необходимости трассировать весь открытый мир.
Для борьбы с шумом движок также поддерживает AI-денойзеры, в том числе NVIDIA DLSS Ray Reconstruction и AMD FSR Ray Regeneration. Они восстанавливают более детализированное изображение из сравнительно небольшого числа рассчитанных лучей.
Минимум различий между ПК и консолями
Pearl Abyss старается не допустить ситуации, когда игроки на менее производительном оборудовании получают заметно более пустой мир с меньшей дальностью прорисовки и количеством растительности.
Полностью исключить различия между платформами, разумеется, невозможно. На мощном ПК движок может повысить плотность растительности, использовать более высокие уровни LOD и улучшить качество освещения и окклюзии. Но в целом разработчики стараются сохранить одинаковое впечатление от открытого мира на всех целевых системах.
Движок работает и с HDD, но на ПК требуется SSD
По словам разработчиков движка, технически Crimson Desert способна работать и с обычным жёстким диском. Однако для ПК Pearl Abyss официально указывает SSD как обязательное системное требование — и причины этого хорошо объясняет архитектура игры.
Открытый мир постоянно подгружает текстуры, модели и другие данные. Хотя путешествие по Пайвелу в основном проходит без загрузочных экранов, при некоторых переходах игра всё же загружает значительные объёмы ресурсов.
Разработчики привели собственный пример: отдельная операция на SATA SSD может занимать несколько или даже десятки секунд, тогда как NVMe SSD справляется с ней за несколько секунд. Поэтому для комфортной игры быстрый SSD заметно предпочтительнее.
Оптимизация для Switch 2 и масштабных сражений
Работа над BlackSpace Engine не закончилась после релиза. Сейчас одна из задач команды — версия Crimson Desert для Nintendo Switch 2. Порт уже достиг базового играбельного состояния, а Pearl Abyss ориентируется на выпуск в первой половине 2027 года.
Основная сложность заключается в том, чтобы сохранить характерные для Crimson Desert графику, динамичные сражения и бесшовный открытый мир при существенно более ограниченных ресурсах консоли. Особое внимание разработчики уделяют глобальному освещению и другим тяжёлым графическим системам.
Команда занимается и ещё одной проблемой. В особенно масштабных битвах возможны просадки частоты кадров, причём одним из основных ограничений разработчики называют CPU. Поэтому Pearl Abyss продолжает оптимизировать системы, которые особенно сильно нагружают процессор.
На момент нашего интервью команда не раскрывала подробностей возможных изменений движка для будущих DLC. Разработчики лишь отметили, что готовят необходимые адаптации, но пока не планируют крупной перестройки технологии.
Уже после интервью Pearl Abyss выпустила Crimson Desert Enhanced — бесплатное обновление для владельцев игры. Оно добавило новые сюжетные сцены, расширило озвучку и языковую поддержку, а также объединило все выпущенные после релиза обновления.
Что больше всего понравилось разработчикам
На вопрос о самом интересном аспекте работы над движком разработчик отдельно выделил глобальное освещение в реальном времени.
Самой интересной оказалась не только разработка отдельных алгоритмов, но и их согласование друг с другом. Качество глобального освещения нельзя рассматривать в отрыве от разрешения, рендеринга, апскейлинга и других компонентов движка. Все эти системы должны работать как единое целое.
Именно такое взаимодействие множества технологий разработчики называют одной из главных сложностей при создании BlackSpace Engine. Полученным результатом команда, по её словам, довольна.
Благодарим Pearl Abyss за беседу и возможность заглянуть за кулисы разработки Crimson Desert.
Подписывайтесь на группу Hardwareluxx ВКонтакте и на наш канал в Telegram (@hardwareluxxrussia).
