Team Ninja выбрала собственный движок для разработки Stranger of Paradise: Final Fantasy Origin — ролевого экшена, сочетающего тёмное фэнтези с интенсивной боевой механикой. Основной технической задачей стало достижение эффектов кристаллизации врагов, ключевого визуального элемента, который требовал оптимизированного конвейера между движком, Maya и Substance Painter для поддержания производительности в реальном времени.
Моделирование и процедурное текстурирование с Maya и Substance Painter 🎨
Процесс начинался в Maya, где моделлеры создавали базовую геометрию врагов с модульным подходом. Ключевым моментом было проектирование деталей, которые могли бы динамически разрушаться и кристаллизоваться. Впоследствии в Substance Painter наносились процедурные текстуры, имитирующие переход между плотью, металлом и кристаллом. Художники генерировали маски непрозрачности и карты шероховатости, которые движок Team Ninja интерпретировал для активации кристаллизации во время боя. Этот поток позволял избежать использования дополнительной геометрии, оптимизируя производительность в сценах с множеством врагов. Собственный движок управлял динамическим освещением на этих поверхностях, используя шейдеры, которые искажали свет при попадании на кристаллизованные участки, усиливая мрачную эстетику игры.
Уроки для инди-разработчиков и небольших студий 💡
Пример Team Ninja показывает, что собственный движок, хорошо интегрированный со стандартными инструментами, такими как Maya и Substance Painter, может обеспечить уникальные визуальные результаты без зависимости от Unreal или Unity. Для небольшой студии воспроизведение этого конвейера подразумевает приоритет коммуникации между процедурным текстурированием и шейдерами движка. Ключ в использовании текстурных масок для активации эффектов без перегрузки GPU — техника, которую любой разработчик может реализовать с помощью Substance Designer и собственного движка, даже в проектах меньшего масштаба.
Как технический разработчик, с какими конкретными проблемами столкнулась Team Ninja при адаптации своего собственного движка для поддержки ролевой механики и системы классов Stranger of Paradise, учитывая, что их конвейер был оптимизирован для линейных экшенов, таких как Nioh
(P.S.: оптимизация под мобильные устройства — это как пытаться запихнуть слона в Mini Cooper)