Trazendo Deep Rock Galactic: Sobrevivente para Android a 60 FPS

Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.
Deep Rock Galactic: Survivor é um auto-shooter estilo sobrevivência de cima para baixo, para um jogador, ambientado no universo de Deep Rock Galactic. Foi originalmente desenvolvido pela Funday Games para PC e Xbox, e é publicado pela Ghost Ship Publishing.
A Unity Studio Productions foi trazida pela Funday Games para liderar o port para Android e a compilação para Google Play Games para PC, coordenando com uma equipe de codivisão iOS separada e o próprio programa de plataforma do Google para trazer todas as três compilações para uma data de lançamento única e simultânea. A equipe da Unity focou em otimizações críticas de desempenho e na integração de serviços da plataforma Google.
52%
Redução na memória total utilizada (2,35 GB → 1,12 GB)
60%
Redução do custo da CPU de navegação em quadros de pico
70%
Redução no tempo máximo de execução da atualização de física (custo de pico reduzido para 30% do original)
O que nós fizemos
Reconstruindo o caminho para multidões de inimigos
O pathfinding NavMesh de thread única que causava travamentos na thread principal foi substituído por uma solução de pathfinding de Campo de Fluxo compilada com Burst, rodando em threads de trabalho. Este é o maior impulsionador por trás da redução de custos de navegação.
Um sistema de física e colisão personalizado
Para corrigir a detecção de colisão de física ineficiente, projetamos um sistema personalizado de particionamento espacial 2D e detecção de colisão, e reordenamos as consultas de física para que verificações mais baratas (como alcance) sejam executadas antes das mais caras (como linha de visão). Isto é o que produziu os ganhos de desempenho físico que a equipe precisava.
Otimizações de gráficos e conteúdo móvel
Para reduzir a memória em tempo de execução e o tamanho do aplicativo para o conjunto de desafios de referência estabelecido pela equipe, os efeitos VFX Graph críticos para a jogabilidade foram convertidos para Shuriken (corrigindo a incompatibilidade OpenGLES e a instabilidade Vulkan notadas anteriormente), as malhas do ambiente foram decimadas em ~50%, as camadas de renderização de decalques foram removidas, VkQuality e ADPF foram integrados para desempenho sustentado, e o áudio do nível mais os personagens bloqueados foram descarregados para pacotes Play Asset Delivery Fast-Follow. Juntos, estes são o que diminuem a memória e o tamanho da instalação.

O desafio
Portar um auto-atirador com muitas ações e centenas de inimigos na tela apresentou grandes desafios de desempenho, memória e térmicos em dispositivos móveis. Cada inimigo tinha que encontrar seu caminho até o jogador, e o pathfinding NavMesh de thread única travava a thread principal da qual o resto do jogo depende. A detecção de colisão entre o inimigo e outros objetos do jogo era tão custosa naquela escala. Os efeitos visuais eram um problema diferente. Eles foram construídos com VFX Graph, que não roda em celulares usando a API gráfica OpenGLES mais antiga e era instável no Vulkan.
Tudo isso tinha que ser consertado enquanto também se diminuía a quantidade de memória e espaço de armazenamento que o jogo usava. A memória de tempo de execução estava em 2,35 GB, além de um orçamento móvel confortável. O download inicial tinha que ser pequeno o suficiente para instalar rapidamente, e o alvo ao longo do tempo era um estável 60 FPS em uma ampla gama de dispositivos, não apenas nos de ponta.
O que usamos
Para resolver os gargalos descritos acima, a equipe dependeu de um conjunto focado de ferramentas e técnicas de motor:
Motor e renderização: Unity 2022.3 com o Universal Render Pipeline (URP) e o sistema de partículas Shuriken para efeitos visuais que precisavam rodar suavemente em hardware móvel mais antigo
Desempenho e threading: O compilador Burst e o Jobs System da Unity, usados para mover cálculos caros para fora da thread principal para que o jogo permaneça responsivo mesmo com centenas de inimigos na tela; e as próprias ferramentas de perfilamento da Unity (Profiler, Memory Profiler, Profile Analyzer) para encontrar e medir exatamente onde o tempo e a memória estavam sendo gastos
Conteúdo e tamanho de construção: O pacote Addressables e o Play Asset Delivery (PAD), que permitem que o jogo baixe conteúdo em pedaços menores após a instalação, em vez de um único download grande antecipado
Integração da plataforma: A API gráfica Vulkan juntamente com o plug-in VkQuality, o framework Adaptive Performance do Android (ADPF) para gerenciar o calor do dispositivo e o desempenho sustentado, e os Google Play Games Services (PGS v2) para salvamentos na nuvem e conquistas
Este kit de ferramentas e a experiência da equipe em coordenar um lançamento simultâneo multiplataforma é o que tornou possíveis os ajustes descritos a seguir.
“Nosso objetivo era ter Deep Rock Galactic: Survivor joga idêntico ao PC em celulares. Graças à ajuda da Unity, nunca comprometemos os visuais ou o alcance do dispositivo. Em vez disso, o jogo alcançou milhões de novos jogadores enquanto ainda parece sólido como uma rocha. Ter o jogo rodando tão bem em uma gama de dispositivos e plataformas é um testemunho das habilidades que a equipe Unity traz para a mesa.”

Emil Kjæhr - Funday Games
Head of Product & Partners
O resultado
O port para Android foi lançado em 12 de novembro de 2025, juntamente com o suporte para iOS e Google Play Games para PC. A memória de tempo de execução foi reduzida em 52% (de 2,35 GB para 1,12 GB) e o tamanho de instalação inicial do aplicativo caiu para 280 MB via Play Asset Delivery. Os custos de navegação foram reduzidos em 60% nos quadros de pico, o tempo máximo de execução de física foi reduzido para 30% do seu custo original e o jogo atingiu o desempenho alvo de 60 FPS. O lançamento do Android tem uma média de 4,8 estrelas no Google Play. Além deste engajamento, Deep Rock Galactic: Survivor tornou-se um projeto de referência no programa interno de Compartilhamento de Código e Verificação de Produção (PV) da Unity, usado para validar recursos futuros da Unity antes que sejam lançados, incluindo Adaptive Performance, Surface Cache GI e a migração do Input System para a Unity 6.6. Mais notavelmente, a própria equipe de Física da Unity estudou a otimização KD-tree personalizada construída para este projeto para ajudar a informar melhorias no motor de física nativo da Unity, trabalho realizado para a Funday que agora está sendo incorporado à própria Unity.
