Привнося Deep Rock Galactic: Survivor в Android при 60 FPS

Nov 3, 2026|5 мин.
Карлик с топором и ружьем стреляет в инопланетных жуков над текстом: Deep Rock Galactic Survivor

Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Deep Rock Galactic: Survivor — это вид шутера с видом сверху, для одного игрока, в стиле выживания, действие которого происходит во вселенной Deep Rock Galactic. Изначально он был разработан Funday Games для PC и Xbox, а издателем является Ghost Ship Publishing.

Unity Studio Productions была привлечена Funday Games для руководства портированием на Android и сборкой для Google Play Games для PC, координируя работу с отдельной командой по совместной разработке для iOS и собственной платформенной программой Google, чтобы выпустить все три сборки одновременно. Команда Unity сосредоточилась на критических оптимизациях производительности и интеграции сервисов платформы Google.

52 %

Снижение общего используемого объема памяти (2,35 ГБ → 1,12 ГБ)

60 %

Снижение затрат на ЦПУ навигации в пиковых кадрах

70 %

Сокращение времени выполнения максимального обновления физики (снижение пиковых затрат до 30% от первоначального)

Что мы сделали

Перестройка поиска пути для толп врагов

Однопоточный поиск пути NavMesh, который вызывал зависания основного потока, был заменен на решение для поиска пути с использованием Flow Field, скомпилированное с помощью Burst и работающее в рабочих потоках. Это самый главный фактор снижения навигационных расходов.

Пользовательская система физики и коллизий

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

Мобильная графика и оптимизация контента

Чтобы снизить объем памяти во время выполнения и размер приложения до базового уровня, установленного командой, эффекты VFX Graph, критически важные для геймплея, были переведены на Shuriken (что устранило несовместимость с OpenGLES и нестабильность Vulkan, отмеченные ранее), окружение мешей было уменьшено примерно на 50%, слои рендеринга декалей были удалены, для обеспечения стабильной производительности были интегрированы VkQuality и ADPF, а аудио уровня и заблокированные персонажи были выгружены в пакеты Play Asset Delivery Fast-Follow. Вместе это то, что уменьшает память и размер установки.

Персонаж окружен кустами и врагами, из которых вылетают зеленые и красные лучи, наносящие огромный урон существам

Задача

Перенос автострелка с большим количеством действий и сотнями врагов на экране создал серьезные проблемы с производительностью, памятью и тепловыделением на мобильных устройствах. Каждый враг должен был найти путь к игроку, а пошаговый поиск пути NavMesh блокировал основной поток, от которого зависела остальная часть игры. Обнаружение столкновений между врагом и другими игровыми объектами было столь же затратным в этом масштабе. Визуальные эффекты были другой проблемой. Они были построены с использованием VFX Graph, который не работает на телефонах с помощью старого графического API OpenGLES и был нестабилен на Vulkan.

Все это нужно было исправить, одновременно уменьшив объем используемой игрой памяти и места на диске. Оперативная память составляла 2,35 ГБ, что превышало комфортный мобильный бюджет. Первоначальная загрузка должна была быть достаточно маленькой, чтобы быстро установиться, а целевым показателем на протяжении всего процесса была стабильная частота кадров в 60 FPS на широком спектре устройств, а не только на высокопроизводительных.

Что мы использовали

Для решения вышеописанных узких мест команда использовала сфокусированный набор инструментов и методов движка:

Движок и рендеринг: Unity 2022.3 с Universal Render Pipeline (URP) и системой частиц Shuriken для визуальных эффектов, которые должны были плавно работать на старом мобильном оборудовании

Производительность и потоки: Компилятор Burst и Jobs System Unity, используемые для вынесения дорогостоящих вычислений из основного потока, чтобы игра оставалась отзывчивой даже при отображении сотен врагов на экране; а также собственные инструменты профилирования Unity (Profiler, Memory Profiler, Profile Analyzer) для поиска и измерения того, куда именно уходили время и память.

Содержание и размер сборки: Пакет Addressables и Play Asset Delivery (PAD), который позволяет игре загружать контент небольшими частями после установки, а не одним большим первоначальным скачиванием.

Интеграция платформы: Графический API Vulkan вместе с плагином VkQuality, фреймворком Adaptive Performance Android (ADPF) для управления нагревом устройства и поддержания производительности, а также Google Play Games Services (PGS v2) для сохранения в облаке и достижений

Этот набор инструментов и опыт команды в координации одновременного кроссплатформенного запуска позволили осуществить исправления, описанные ниже.

“Наша цель состояла в том, чтобы иметь Deep Rock Galactic: Survivor играет идентично PC на телефонах. Благодаря помощи Unity мы никогда не шли на компромиссы в отношении визуальной составляющей или охвата устройств. Вместо этого игра привлекла миллионы новых игроков, оставаясь при этом очень стабильной. Тот факт, что игра так хорошо работает на таком диапазоне устройств и платформ, является свидетельством навыков, которые команда Unity вносит в дело.”

Emil Kjæhr - Funday Games

Head of Product & Partners

Результат

Порт для Android был запущен 12 ноября 2025 года вместе с поддержкой iOS и Google Play Games для PC. Оперативная память была уменьшена на 52% (с 2,35 ГБ до 1,12 ГБ), а размер начальной установки приложения снизился до 280 МБ с помощью Play Asset Delivery. Стоимость навигации была снижена на 60% на пиковых кадрах, максимальное время выполнения физики было сокращено до 30% от первоначальной стоимости, и игра достигла целевой производительности в 60 FPS. Выпуск Android имеет средний рейтинг 4,8 звезды в Google Play. Помимо этого взаимодействия, Deep Rock Galactic: Survivor стал эталонным проектом во внутренней программе Unity по совместному использованию кода и верификации производства (PV), используемой для проверки предстоящих функций Unity перед их выпуском, включая Adaptive Performance, Surface Cache GI и миграцию Input System в Unity 6.6. В частности, собственная команда физики Unity изучила оптимизацию KD-дерева, созданную для этого проекта, чтобы помочь в улучшении нативного физического движка Unity, работа, выполненная для Funday, которая теперь используется в самом Unity.

Переносите свою игру на больше платформ?

Unity Studio Productions помогает студиям выводить игры для PC и консолей на Android и Google Play Games для PC, поддерживая стабильную частоту кадров и небольшой размер установки.