Garder un géant VR frais: La cadence live de deux semaines de Gorilla Tag

Gorilla Tag est devenu l’un des plus grands jeux sociaux en VR, construit autour d’un système de locomotion à la main qui permet aux joueurs de courir, grimper et se balancer en utilisant uniquement leurs bras. Pour que ce monde reste vivant, Another Axiom propose des mises à jour sur un calendrier agressif de deux semaines, avec de nouvelles cartes, cosmétiques et modes de gameplay lancés simultanément sur toutes les plateformes VR supportées par le jeu.
Maintenir ce rythme de manière cohérente sur plusieurs plateformes VR apporte ses propres exigences techniques. L'équipe doit maintenir les performances, le confort et la stabilité solides, tout en donnant aux créateurs de cartes personnalisées les outils nécessaires pour créer de nouveaux contenus sans rompre cette cohérence.
Nous nous sommes entretenus avec Derek Arabian, producteur chez Another Axiom, au sujet de l’élaboration et de l’exécution de la stratégie opérationnelle en direct de Gorilla Tag : les objectifs techniques d’un cycle de mise à jour de deux semaines, le maintien de la performance du contenu généré par les utilisateurs sur toutes les plateformes, la mise à jour de la carte spatiale et ce qu’il faut pour atteindre des objectifs de performance VR cohérents.
Quels étaient vos principaux objectifs techniques pour mener des opérations en direct de manière cohérente sur des plateformes VR distinctes ?
Derek Arabian : Les performances sont la chose la plus importante pour nous, avant tout, car en VR, une fréquence d’images constante est essentielle pour le confort – c’est la priorité numéro un dans le casque. En dehors de cela, nous nous concentrons sur un accès facile et fluide au jeu: minimiser la frustration ou les points douloureux avant que les joueurs ne s'amusent. Et au-delà de cela, nous nous en tenons aux fondamentaux habituels du service en direct – temps de disponibilité élevé sur les services et minimisation des bugs ou des problèmes majeurs qui empêchent les joueurs de jouer au jeu qu’ils aiment.
Quels ont été les plus grands défis techniques pour maintenir votre cadence de mise à jour de deux semaines cohérente ?
Le plus grand défi pour maintenir notre cadence de deux semaines synchronisée sur toutes les plateformes VR est de s’assurer que tout – fonctionnalité et convivialité – passe de manière cohérente sur chaque plateforme.
Sur les plates-formes PC spécifiquement, il y a des différences significatives dans les shaders et les builds que nous devons prendre en compte, et parce que notre cadence est si agressive, notre temps de QA est vraiment minime. Le plus important est de faire des tests sur toutes les plateformes et de construire, en fait dans le casque, et de confirmer que tout fonctionne avant sa mise en ligne – c’est difficile de bien faire sur un cycle de deux semaines.

Quels défis ont été relevés pour maintenir le contenu généré par les utilisateurs (UGC) et les cartes personnalisées performants et cohérents ?
Il y a beaucoup de défis avec le contenu généré par les utilisateurs et les cartes personnalisées. La plus grande est qu’une fois que vous donnez aux gens les outils pour construire des choses, ils veulent tout mettre en œuvre – ce qui est génial, parce que notre communauté est incroyablement créative et fait des choses incroyables même dans les contraintes.
Afin de maintenir les cartes UGC et personnalisées performantes et cohérentes, nous avons construit un bac à sable avec des limites à l'esprit : plafonnement du nombre de polygones dans une carte personnalisée, limites sur les objets actifs et contraintes liées à leur impact sur les performances.
Nous utilisons également une forme de liste blanche pour le contenu généré par les utilisateurs. Gorilla Tag a beaucoup de composants, et nous n'autorisons qu'un sous-ensemble de ceux-ci dans le contenu généré - ceux que nous savons stables, sûrs pour tous les utilisateurs, et peu susceptibles de causer des problèmes de configuration majeurs. À mesure que nous améliorons nos outils internes, nous en déplaçons davantage dans le pool UGC et de cartes personnalisées, de sorte que les créateurs continuent à travailler avec plus de travail au fil du temps.
Comment planifiez-vous et priorisez-vous ce qui est expédié dans chaque cycle de mise à jour de deux semaines?
L'équipe a de grandes aspirations, donc planifier chaque cycle revient vraiment à savoir à quel point nous pouvons nous intégrer. Nous nous assurons que chaque tranche de deux semaines expédie de nouvelles fonctionnalités et du contenu. En dehors de cela, nous travaillons sur une variété de branches Git pour assembler différentes fonctionnalités, corrections et améliorations à travers le jeu.
Chaque cycle se décompose en environ une semaine de combinaison – regroupant tout ce qui peut de façon réaliste être intégré dans ce cycle et le fusionnant dans notre branche de sortie – et une deuxième semaine se concentre sur la stabilisation : polir et s’assurer que tout est en bon état avant son expédition.
Au-delà du niveau de deux semaines, la planification se fait également de façon stratégique : s’assurer que l’équipe planifie des rythmes d’histoire plus importants, des événements narratifs et des mises à jour saisonnières planifiées bien à l’avance. Il y a donc vraiment deux pistes : une piste stratégique pour une vue d’ensemble, et une piste tactique qui s’assemble à chaque cycle de deux semaines.

Comment l’URP (Universal Render Pipeline) vous a-t-il aidé à itérer sur de nouveaux contenus ?
Le passage à l’URP a été d’une grande aide – nous avons constaté des améliorations significatives des performances sur plusieurs plateformes. Nous sommes passés à une configuration de shader URP basée sur un shader uber avec plusieurs variantes, ce qui nous a donné une victoire majeure en termes de performances en minimisant les appels de tirage et en réduisant le nombre d'objets non-batchables.
Comment Addressables et Cloud Build Automation ont-ils aidé à prendre en charge les mises à jour rapides et à faible frottement sur toutes les plateformes ?
Les adressables sont importants pour nous car Gorilla Tag dispose d’un catalogue de cosmétiques massif – les cosmétiques sont notre seule Monetization, donc tout est décoratif, pas payant. En tant que jeu live expédié toutes les deux semaines, ce catalogue s'est beaucoup développé au fil des ans, et Addressables nous aide à prendre tous ces actifs et à les emballer dans un Opaque Binary Blob (OBB).
Sur Meta Quest, il y a des limites sur la taille des APK, donc une fois que vous avez passé une certaine taille, les actifs doivent passer dans l'OBB. Les adressables sont utiles pour scinder notre APK lors de la construction dans Unity, et s'assurer que les actifs se chargent du bon endroit au bon moment pour maintenir les performances solides.
Unity Build Automation est proche d'une exigence pour exécuter un jeu live avec des délais d'exécution aussi courts que les nôtres - vous avez besoin d'un pipeline de déploiement continu, au moins pour une utilisation interne. Il a été important d’obtenir des builds homogènes dans nos différentes branches, le tout s’écoulant jusqu’aux canaux de sortie afin que nous puissions les charger sur des casques rapidement pour itération. Pour le temps d’exécution, c’est vraiment important.

Quel impact vos outils UGC ont-ils eu sur le contenu communautaire et les fonctionnalités sociales ?
Nos outils UGC ont joué un rôle majeur dans la popularité continue de Gorilla Tag. Tirer parti de la créativité et de la passion de nos joueurs, et laisser cela ajouter au contenu de notre jeu, est une victoire massive du point de vue du développement. UGC est l'un de nos contenus les plus collants - les joueurs sont vraiment les plus passionnés par cela, et ils y passent beaucoup de temps.
L’impact est important, et nous essayons continuellement d’améliorer le flux de création et d’accès, car il s’agit de certains de nos meilleurs contenus, et nous voulons qu’ils soient aussi faciles que possible à créer et à apprécier pour tout le monde.
Quelles fonctionnalités ou outils Unity 6 ont fait la plus grande différence dans la construction et l'exécution de votre stratégie live ops ?
La mise à niveau Unity 6 a été longue pour nous. Les améliorations apportées à l'ergonomie de l'éditeur sont substantielles, et beaucoup d'outils fonctionnent généralement mieux. Si j’ai dû en choisir une qui m’a marqué personnellement, c’est la recherche améliorée dans Unity 6 par rapport aux anciennes versions – elle est sensiblement plus rapide et plus performante.
Au-delà de cela, il y a beaucoup d'améliorations bien équilibrées dans tous les domaines: contrôles préfabriqués, profils de construction et un tas de petites victoires qui ont contribué à une grande amélioration globale pour nous.

Votre mise à jour de la carte spatiale a changé le gameplay en retravaillant la gravité et vous l’avez plus tard ouverte aux créateurs de cartes personnalisées – qu’est-ce que cela a débloqué, et comment les commentaires des joueurs ont-ils façonné l’itération ultérieure ?
La mise à jour de la carte spatiale était attendue depuis longtemps. Cela faisait des années que nous le laissions entendre, et c"était l'une de nos fonctionnalités de gameplay les plus demandées. Cela impliquait de vraiment voir comment jouer avec la gravité affecterait l’expérience du joueur en VR. Il y a beaucoup d'hypothèses fondamentales que les développeurs VR tendent à faire, et nous voulions remettre en question certaines d'entre elles.
En fouillant dans la carte spatiale et toutes les façons dont nous pouvions changer et manipuler la gravité dans ce terrain de jeu, nous avons ouvert de nombreuses nouvelles possibilités de gameplay que nous explorons encore. Ouvrir cela à nos créateurs de cartes personnalisées a suscité une tonne de nouveaux concepts de mini-jeu et de possibilités de gameplay pour eux.
Embrouiller le point de vue d’un joueur dans un casque VR a toujours été quelque chose auquel nous faisons attention, car il y a de réelles considérations de confort qui viennent avec. Pour résoudre ces problèmes de confort, il était essentiel de s’assurer que l’espace mondial, la signalisation en jeu et les visuels correspondent à la façon dont le joueur change de perspective.
Quels objectifs de performance avez-vous fixés par plateforme, et comment l'Unity Profiler vous a-t-il aidé à les suivre et à les toucher ?
Nous n’établissons pas d’objectifs de performance explicites, car il y a beaucoup de variabilité dans Gorilla Tag – la taille des pièces varie de un à vingt joueurs, et les joueurs peuvent être dans différents environnements, prendre toutes sortes d’actions et porter n’importe quelle combinaison de cosmétiques.
Au lieu de cela, ce qui compte le plus, c'est de garder une fréquence d'images aussi constante que possible en VR. Nous ciblons Quest 2 standalone comme référence principale de performance, puisqu’il représente une grande partie de notre base de joueurs. Pour nous, cela signifie essayer de rester le plus près possible d'un 90 FPS stable dans des situations de gameplay raisonnables, avec une certaine marge pour les dips lorsque beaucoup de choses se passent à l'écran. Cette cible est notre étoile polaire pour les décisions de performance et de gameplay.
Nous exécutons l'Unity Profiler à chaque version, et de nombreuses versions intermédiaires, surveillant les appels de tirage, la collecte des ordures et l'utilisation de la mémoire. Il est essentiel de suivre ce qui mange votre temps de trame limité. VR doit atteindre cette cible élevée de 90 FPS constamment, le rendu aux deux yeux, de sorte que votre budget de temps d'image est court. L'Unity Profiler est ce qui nous permet de creuser des traces et de trouver exactement quelle partie du jeu nous coûte des frames ou provoque des accrocs.

Quelles sont les décisions ou les optimisations de déploiement les plus importantes pour l'expédition des mises à jour des opérations en direct sur les plateformes ?
L'amélioration de notre système Build Automation a eu le plus grand impact. Grâce à un pipeline d’IC/CD cohérent et fiable, chacun pouvait tester son travail sur appareil, dans un environnement réel et de manière fiable. Amener ces pipelines à une cohérence à cent pour cent a été la plus grande mise à niveau pour nous. Cela a considérablement amélioré notre capacité à diffuser les mises à jour à temps et au niveau de qualité souhaité.
Quelle est votre meilleure astuce pour les développeurs exécutant des opérations en direct pour un titre VR multiplateforme ?
D'abord, écoutez votre public. Ils vous diront ce qu’ils veulent de plus – penchez-vous sur cette excitation et construisez un sens aigu de ce qui leur apporte réellement de la joie et les fait revenir.
Deuxièmement, rappelez-vous que le développement des opérations en direct est un marathon, pas un sprint. Il y a toujours un attrait pour continuer à ajouter toujours plus à chaque mise à jour, et cette passion est vraiment précieuse pour votre jeu. Mais vous devez l'équilibrer avec votre capacité à continuer à fournir les mises à jour que les gens aiment, de manière constante, sur le long terme.
Pour en savoir plus sur les projets Made with Unity, visitez la page Ressources .
