Apporter Deep Rock Galactic : Survivor vers Android à 60 FPS

Nov 3, 2026|5 Min.
Nain avec hache et pistolet tire sur des insectes extraterrestres au-dessus du texte : Deep Rock Galactic Survivor

Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

Deep Rock Galactic: Survivor est un jeu de survie auto-shooter en vue de dessus pour un joueur, se déroulant dans l'univers de Deep Rock Galactic. Il a été initialement développé par Funday Games pour PC et Xbox, et est publié par Ghost Ship Publishing.

Unity Studio Productions a été mandaté par Funday Games pour diriger le port Android et la version Google Play Games pour PC, en coordination avec une équipe de co-développement iOS distincte et le programme de plateforme de Google pour amener les trois versions à une date de lancement unique et simultanée. L'équipe Unity s'est concentrée sur des optimisations de performance critiques et sur l'intégration des services de la plateforme Google.

52 %

Réduction de la mémoire totale utilisée (2,35 Go → 1,12 Go)

60 %

Réduction du coût CPU de la navigation sur les images de pointe

70 %

Réduction du temps d'exécution maximal de la mise à jour physique (réduction du coût maximal à 30 % de son coût initial)

Ce que nous avons fait

Reconstruction du cheminement pour des foules d'ennemis

La recherche de chemin NavMesh mono-threadée qui provoquait des blocages du thread principal a été remplacée par une solution de recherche de chemin Flow Field compilée avec Burst et fonctionnant sur des threads de travail. C'est le principal moteur de la réduction des coûts de navigation.

Un système de physique et de collision personnalisé

Pour corriger la détection de collision physique inefficace, nous avons conçu un système personnalisé de partitionnement spatial et de détection de collision 2D, et réorganisé les requêtes physiques afin que les vérifications moins coûteuses (comme la plage) s'exécutent avant les vérifications plus coûteuses (comme la ligne de visée). C'est ce qui a produit les gains de performance en physique dont l'équipe avait besoin.

Optimisations graphiques et de contenu mobiles

Pour ramener la mémoire d'exécution et la taille de l'application au niveau de référence fixé par l'équipe, les effets VFX Graph critiques pour le gameplay ont été convertis en Shuriken (corrigeant l'incompatibilité OpenGLES et l'instabilité Vulkan notées précédemment), les maillages d'environnement ont été décimés de ~50 %, les couches de rendu des autocollants ont été supprimées, VkQuality et ADPF ont été intégrés pour des performances soutenues, et l'audio du niveau ainsi que les personnages verrouillés ont été déchargés vers des paquets Play Asset Delivery Fast-Follow. Ensemble, voici ce qui réduit la mémoire et la taille d'installation.

Personnage joueur entouré de ronces et d'ennemis avec des faisceaux verts et rouges qui en sortent infligeant des chiffres de dégâts massifs aux créatures

Les enjeux

Le port d'un auto-tireur riche en actions avec des centaines d'ennemis à l'écran a présenté des défis majeurs en matière de performance, de mémoire et de thermique sur les appareils mobiles. Chaque ennemi devait trouver son chemin jusqu'au joueur, et le calcul de chemin NavMesh mono-threadé bloquait le thread principal sur lequel repose le reste du jeu. La détection de collision entre l'ennemi et les autres objets du jeu était tout aussi coûteuse à cette échelle. Les effets visuels étaient un problème différent. Ils ont été construits avec VFX Graph, qui ne fonctionne pas sur les téléphones utilisant l'ancienne API graphique OpenGLES et était instable sur Vulkan.

Tout cela a dû être corrigé tout en réduisant la quantité de mémoire et d'espace de stockage utilisée par le jeu. La mémoire en cours d'exécution était de 2,35 Go, au-delà d'un budget mobile confortable. Le téléchargement initial devait être assez petit pour s'installer rapidement, et l'objectif tout au long était un taux de 60 FPS constant sur une large gamme d'appareils, pas seulement sur les appareils haut de gamme.

Ce que nous avons utilisé

Pour résoudre les goulots d'étranglement décrits ci-dessus, l'équipe s'est appuyée sur un ensemble ciblé d'outils et de techniques de moteur :

Moteur et rendu: Unity 2022.3 avec le Universal Render Pipeline (URP) et le système de particules Shuriken pour des effets visuels devant fonctionner sans problème sur les anciens appareils mobiles

Performance et threading: Le compilateur Burst et le Jobs System d'Unity, utilisés pour déplacer les calculs coûteux hors du thread principal afin que le jeu reste réactif même avec des centaines d'ennemis à l'écran ; et les propres outils de profilage d'Unity (Profiler, Memory Profiler, Profile Analyzer) pour trouver et mesurer exactement où le temps et la mémoire étaient dépensés

Contenu et taille de construction: Le package Addressables et Play Asset Delivery (PAD), qui permet au jeu de télécharger du contenu par morceaux plus petits après l'installation au lieu d'un seul téléchargement initial volumineux

Intégration de plateforme L'API graphique Vulkan, associée au plug-in VkQuality, au cadre Adaptive Performance d'Android (ADPF) pour la gestion de la chaleur du périphérique et des performances soutenues, et aux Google Play Games Services (PGS v2) pour les sauvegardes cloud et les succès

Cette boîte à outils, et l'expérience de l'équipe dans la coordination d'un lancement simultané multiplateforme, est ce qui a rendu possibles les corrections décrites ci-après.

“Notre objectif était d'avoir Deep Rock Galactic : Survivor joue identique au PC sur les téléphones. Grâce à l'aide de Unity, nous n'avons jamais fait de compromis sur les visuels ou la portée des appareils. Au lieu de cela, le jeu a atteint des millions de nouveaux joueurs tout en restant parfaitement stable. Le fait que le jeu fonctionne aussi bien sur une telle gamme d'appareils et de plateformes témoigne des compétences que l'équipe Unity apporte.”

Emil Kjæhr - Funday Games

Head of Product & Partners

Le résultat

La version Android a été lancée le 12 novembre 2025, aux côtés d'iOS et du support Google Play Games pour PC. La mémoire en cours d'exécution a été réduite de 52 % (de 2,35 Go à 1,12 Go), et la taille d'installation initiale de l'application est passée à 280 Mo grâce à Play Asset Delivery. Les coûts de navigation ont été réduits de 60 % sur les images de pointe, le temps d'exécution maximal de la physique a été réduit à 30 % de son coût initial, et le jeu a atteint sa performance cible de 60 FPS. La version Android détient une moyenne de 4,8 étoiles sur Google Play. Au-delà de cet engagement, Deep Rock Galactic: Survivor est devenu un projet de référence dans le programme interne de partage de code et de vérification de production (PV) de Unity, utilisé pour valider les fonctionnalités Unity à venir avant leur sortie, y compris Adaptive Performance, Surface Cache GI et la migration de l'Input System vers Unity 6.6. Plus notablement, l'équipe de physique d'Unity a étudié l'optimisation KD-tree personnalisée construite pour cette collaboration afin d'aider à informer les améliorations du moteur physique natif d'Unity, un travail réalisé pour Funday qui alimente désormais Unity elle-même.

Porter votre jeu sur plus de plateformes ?

Unity Studio Productions aide les studios à amener les jeux PC et consoles sur Android et Google Play Games pour PC, en maintenant un taux de rafraîchissement stable et une petite taille d'installation.