Как Oxide Games создаёт RTS нового поколения в игре Ashes of the Singularity II
В этой новой стратегии в реальном времени в массовых масштабах на экране будут тысячи юнитов и огромные поля сражений.


Студия Oxide Games была основана в 2013 году Брэдом Уорделлом и несколькими бывшими сотрудниками Firaxis, такими как Дэн Бейкер, Марк Мейер, Брайад Уэйд и Тим Кипп. Студия сосредоточена в основном на разработке игр для ПК и создала собственный игровой движок под названием Nitrous, чтобы использовать преимущества новых графических API. Оригинальная игра в жанре RTS Ashes of the Singularity была выпущена в 2016 году и была опубликована Stardock. Продолжение, Ashes of the Singularity II, скоро выйдет и имеет бесплатную демо-версию в Steam, которая только что была запущена сегодня для Steam Next Fest.
Мы взяли время, чтобы взять интервью у нескольких членов команды разработчиков, чтобы узнать о создании игры, о том, что стоит за кулисами, и о том, что именно делает её RTS нового поколения.
Сначала, можете дать нам краткое описание игры? Что отличает её от оригинальной игры и других игр в жанре RTS в наши дни?
Бретт Нортон, исполнительный продюсер Ashes of the Singularity II: Ashes of the Singularity II — это масштабная стратегия в реальном времени, для игры в которую не требуются сумасшедшие рефлексы. Мы упростили создание и управление огромной армией, чтобы игроки любого уровня подготовки могли наслаждаться масштабными сражениями с участием тысяч бойцов.
Какие тенденции вы заметили в разработке игр сейчас (например, аппаратные тенденции, ожидания игроков, инструменты, внедрение live-service и т. д.)?
Дэн Бейкер, главный архитектор графики в Oxide Games: Мы видим, что старые системы работают намного дольше, чем раньше. Не редкость увидеть приличную машину семи-восьмилетней давности, на которой всё ещё можно запустить нашу игру. Мы также наблюдаем тенденцию к мобильным играм, например, в Steam Deck.
Мы заметили обе эти тенденции. Аппаратное обеспечение ПК обычно работает несколько лет. Мы тестируем Ashes II в основном на машинах «пятилетней давности», пытаясь убедиться, что игра хорошо работает на них, при этом сохраняя отличные визуальные эффекты для энтузиастов передовых технологий.
Что касается портативности, мы создавали Ashes II так, чтобы в неё можно было играть на Steam Deck, а также с помощью геймпада в целом, что упрощает игру в переполненных самолётах или в других местах, где настройка клавиатуры и мыши не идеальна. В игру по-прежнему «лучше всего» играть с помощью клавиатуры и мыши, но поскольку игра по своей природе более стратегическая, чем тактическая, наш игровой процесс лучше адаптируется к портативным платформам.
Ожидания игроков неоднозначны; некоторые хотят всех наворотов игры уровня AAA, в то время как другие просто хотят весёлую игру, которая соответствует их конкретным вкусам. У нас есть беспрецедентная возможность ориентироваться на конкретную аудиторию с помощью конкретных игр. Общая игровая аудитория сейчас настолько велика, а барьеры для распространения настолько ослаблены, что мы можем сделать игру (с минимальными затратами), ориентированную на конкретную аудиторию X, не беспокоясь постоянно о том, чтобы понравиться каждому возможному игроку.


В частности, что для вашей команды означает «RTS нового поколения» в 2026 году?
Нортон: У нас достаточно мощности в аппаратном обеспечении ПК, даже на портативных устройствах, чтобы использовать больше потоков для одновременной работы. Будь то графика или игровой процесс, всегда есть что-то, что можно сделать с помощью этих дополнительных ядер, чтобы дать игрокам лучший, более плавный или более детальный опыт.
Хитрость заключается в том, чтобы придумать масштабируемые решения, которые работают на разнообразном новом и старом оборудовании. RTS не нужно уделять столько внимания точности отдельных персонажей, как, скажем, FPS, но мы всё равно должны быть в состоянии продвигать высококачественную планку на гораздо большем количестве персонажей на экране, и это действительно, действительно, действительно сложно.
Так что RTS нового поколения — это та, которая выглядит фантастически, когда вы приближаете и делаете кинематографические снимки, но также держит производительность на высоком уровне, когда вы играете с большим количеством персонажей на экране на очень старом компьютере или на лёгком портативном устройстве.
Каковы были основные технические цели для Ashes 2 (масштаб, точность, цели производительности и т. д.)?
Бейкер: Одной из важных целей для Ashes II было действительно позволить поддерживать масштаб сражений, а не просто интенсивная вспышка и всё. Идея состоит в том, что карта будет постоянно заполнена небольшими, средними и крупными сражениями. Мы также хотели, чтобы влияние сражений было видно на ландшафте. По сравнению с оригинальной Ashes of the Singularity игроки заметят горы остовов сожжённой и горящей техники, деревья, поваленные гигантскими мехами, и карту, усеянную шрамами сражений. Но нам нужно сделать это без замедления, что означает чрезвычайно эффективное использование ядер процессора. Ashes II использует движок Nitrous 3, который имеет значительные улучшения производительности по сравнению с первой Ashes.
Каков практический предел количества юнитов на экране в Ashes 2 и что на самом деле становится ограничивающим фактором?
Бейкер: Практический предел заключается в том, что в какой-то момент, чтобы разместить на экране больше юнитов, вам нужно больше масштабировать, и в какой-то момент юниты становятся настолько маленькими, что их не видно. С точки зрения производительности GPU, это просто количество треугольников, количество частиц (которое может быть >1M) и количество источников света, которые мы создаём (также >10k). С точки зрения производительности CPU, наш рендерер для Nitrous 3 действительно очень быстрый, так что вряд ли будет ограничен нагрузкой на CPU из-за юнитов на экране. Однако имейте в виду, что всё симулируется, даже юниты вне экрана, так что именно здесь и происходит нагрузка на CPU.
Взрывы и VFX — важная часть идентичности Ashes. Каков процесс работы с VFX в Ashes II (какие инструменты для создания, как FX запускаются из игровых событий и т. д.)?
Бейкер: У Nitrous есть собственный уникальный движок FX. У нас есть сложное решение CPU/GPU, в котором CPU обрабатывает и сортирует частицы перед отправкой их на GPU. Это высокооптимизированный код, использующий преимущества инструкций SIMD на CPU. Наши эффекты довольно гибкие, могут создавать объекты, источники света, линейные источники света (для лазеров) и т. д. Движок может обрабатывать множество одновременных эффектов. Например, у многих юнитов есть маленькие фары, которые фактически освещают окрестности.
Какие у вас основные методы поддержания стабильности времени отрисовки, когда экран становится чистым хаосом (отсечение, LOD, пакетирование, инстансинг, асинхронные вычисления, многопоточность, регулирование FX, усечение симуляции и т. д.)?
Бейкер: Ну, практически всё упомянутое! У нас есть высокоскоростной собственный планировщик, автоматический пакетчик для GPU, собственный язык затенения, асинхронный рендеринг с вычислениями и т. д. У нас есть несколько довольно интересных технологий, которые автоматически объединяют вещи в пакеты, например. Мы также проделали большую работу, чтобы никогда не нужно было динамически компилировать шейдер. Все компиляции шейдеров происходят до того, как вы войдёте в игру. Что касается усечения симуляции, мы этого не делаем, потому что игровые элементы должны всегда работать.

Использует ли команда какие-либо инструменты ИИ или процессы автоматизации в рабочем процессе разработки? Почему да или нет, и что это за инструменты, если да?
Бейкер: Мы немного используем ИИ для таких вещей, как перевод, навигация по коду и обобщение данных о геймплее. Все наши данные о геймплее можно разобрать с помощью ИИ, например, чтобы ответить на вопросы о состоянии баланса. Мы даже подключили нашего агента ИИ (Hallee) в канале чата Discord с полным доступом ко всем правилам данных о геймплее. Это довольно забавно; вы можете задавать ей случайные вопросы об игре, и она остаётся в образе.
Почему стоит придерживаться (или продолжать развивать) Nitrous вместо перехода на Unreal или другой универсальный движок?
Бейкер: На этих движках создано множество отличных игр, но вы попали в точку: универсальный. Мы можем сделать гораздо больше, если создадим движок специального назначения. Вот почему во многих крупных играх используется движок, специально созданный и оптимизированный именно для этой игры, потому что вы можете получить гораздо больше от системы. Это сродни разнице между грузовиком и спортивным автомобилем.
Кроме того, эти движки не справляются с такими вещами, как сетевая синхронизация, необходимая в масштабе такого типа RTS, поэтому игровой процесс всё равно пришлось бы настраивать вручную. Объём данных, который вы генерируете для рендеринга, довольно сумасшедший. Мы не видели, чтобы готовый рендерер справлялся с таким объёмом данных без значительных модификаций. Когда мы анализируем Ashes II, мы видим, что приближаемся к теоретическим пределам того, что может сделать система. Кроме того, мы всё ещё хотим иметь возможность ориентироваться на такие платформы, как Steamdeck, у которых ограниченная мощность GPU.
Наконец, существует большой класс вещей, которые движки даже не пытаются решить, например, процедурные карты.

Есть ли компромиссы, на которые вы идёте, не используя Unreal, особенно в отношении найма, промежуточного программного обеспечения, активов на рынке или инструментов?
Бейкер: Самый большой компромисс заключается в том, что люди не всегда знакомы с некоторыми из наших процессов конвейера. Однако мы фактически настроили наш художественный процесс так, чтобы он был в основном совместим с художественными активами, разработанными для Unreal/Unity, так что это становится всё менее и менее проблемой.
Для такой игры, которая так сильно полагается на зрелищность, как вы проектируете, учитывая большую разницу в производительности CPU/GPU в компьютерных играх?
Бейкер: Во многом именно поэтому у нас собственный движок. Например, одна из вещей, о которых мы много говорим, — это стек технологий, который плавно масштабируется без использования апскейлеров. Мы заметили, что многие игроки жалуются на размытость игр при использовании апскейлеров. Поскольку в играх в стиле RTS эти проблемы проявляются сильнее, мы очень хотели их избежать. Однако это означает, что нам приходится отказываться от некоторых подходов к рендерингу, которые используются в Unreal/Unity, поскольку они не всегда легко масштабируются. Для ПК мы поддерживаем оборудование в диапазоне от Steam Deck до 5090.
Oxide Games, Студия разработки игр
Интервью провёл Дэвид Ягнео
Автор: Oxide Games
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.