Découvrez comment Ramen VR a conquis le « développement de jeux en mode dur » et réuni les joueurs dans le premier MMO VR multiplateforme au monde.
Zenith : La dernière ville
Comment une petite équipe à distance peut-elle créer un MMO en VR ? Grâce à une plateforme de développement flexible, une programmation multithread, des outils DevOps robustes et le soutien d'une communauté active, Ramen VR lance un jeu multiplateforme bien optimisé qui ravit les joueurs et ouvre une nouvelle ère de jeu.
Les enjeux
Créer un MMO VR performant et réussi pour toutes les principales plateformes VR
Plateformes
PlayStation® VR, PlayStation® VR2 Quest, Quest 2, Rift, SteamVR
Membres de l'équipe
22
Lieu
Télécommande

Faire un pari ambitieux
Andy Tsen et Lauren Frazier se sont rencontrés à l'Oculus Launch Pad en 2016, où ils se sont liés sur une participation partagée dans les MMO et les isekai anime. Le duo a vu une opportunité de combiner ces genres et de créer en VR une nouvelle expérience MMO immersive. En 2019, ils quittent leur emploi, fondent Ramen VR et commencent à travailler sur Zenith : The Last City.

Les résultats
- Lancement d'un MMO VR avec une équipe d'à peine 15 personnes
- a obtenu un succès exceptionnel avec la première place sur Quest et Steam au lancement
- Levé plus de 45 millions de dollars de financement des investisseurs à ce jour
- Éliminé la perte de données du projet avec Unity Version Control

Obtenir l'adhésion à une vision audacieuse
Réaliser Zenith a demandé un acte de foi : Tsen et Frazier ont financé de leur poche le développement initial. « Le nom de notre studio vient de tout ce que nous pouvions nous permettre de manger à l'époque », plaisante Tsen.
Un investisseur providentiel a tout changé. Rapidement, Ramen VR est inscrit au programme d'accélérateur Y Combinator et récolte 280 000 USD en 45 jours grâce à une campagne Kickstarter qui bat des records. Les backers ont été impressionnés par l'ampleur du projet et la détermination du studio à le concrétiser.
« Personne qui n'a jamais conçu de MMO auparavant n'essaierait de le faire », explique Tsen. « Démarrage, VR, MMO, multiplateforme, c'est du développement de jeux en mode dur ! »

Trouver les bons outils
Tsen et Frazier avaient déjà collaboré sur un projet Unity primé – un MOBA en VR, Conjure Strike – et étaient convaincus de pouvoir s’attaquer à quelque chose d’encore plus ambitieux.
« Nous savions à quel point il serait difficile de créer un jeu de cette envergure en VR, mais nous pensions aussi qu'il y avait un écart entre la difficulté que les gens pensaient avoir et la difficulté effective », explique Tsen. « Cette lacune, ce sont les plateformes et les outils comme Unity, qui permettent de créer du contenu à bien plus grande échelle avec une équipe bien plus petite. »
Ramen VR a lancé Zenith avec une équipe de 15 personnes, mais ils ont maintenant 22 membres principaux de l'équipe. Lors de la sélection des nouveaux outils de développement, ils s'assurent qu'ils sont personnalisables, faciles à intégrer, fonctionnent bien avec les systèmes existants et sont accessibles aux contributeurs techniques et non techniques.

Construction d'une base grâce à la pile technologique orientée vers les données (DOTS)
En tant que jeux basés sur des systèmes, les MMO nécessitent des bases techniques solides et évolutives. Au début du développement, Ramen VR organisa les systèmes de Zenith à l'aide de MonoBehaviors, mais exécuter la logique des centaines de fois sur des centaines de GameObjects identiques était inefficace. Ils se sont appuyés sur le cadre ECS (Entity Component System) de Unity, pilier essentiel de la pile technologique orientée vers les données (DOTS), pour éviter les inconvénients de la programmation orientée objets.
« Un MMO est une excellente application pour l'ECS », remarque Frazier. « Zenith exige que des milliers d'entités coexistent en même temps, et ECS nous permet de fonctionner à grande échelle. »

Choisir le bon flux de production
Dans le nouveau flux de production, chaque GameObject « acteur » (joueurs, foules, objets de collection) possède une entité ECS correspondante. L'ECS parcourt les GameObjects et vérifie les balises pertinentes, déclenchant la logique dès qu'elles sont trouvées.
« C'était bien de pouvoir choisir le flux de production adapté à la situation. Nous aurions pu faire des objets ou des entités pures, mais je ne pense pas que vous devriez avoir à choisir. »

Prévention des limites de taux
ECS a également aidé à résoudre les problèmes d'infrastructure. Plus de 120 000 joueurs se sont inscrits à Zenith test alpha, et Ramen VR a sous-estimé la pression que cela exercerait sur leurs serveurs. Lorsqu'un grand nombre de joueurs se déconnectaient, les serveurs dépassaient les limites de stockage et les joueurs perdaient les données de sauvegarde. Pour résoudre ce problème, l'équipe a créé une balise ECS pour suivre la progression des quêtes. « Notre système ECS vérifie les balises et, quand il en relève une, il la met dans une file d'attente, la met en file d'attente toutes les X secondes et l'écrit dans un stockage externe » explique Frazier.

Optimiser les visuels sur tous les appareils
Zenith étant un MMO multiplateforme, l'optimisation des graphismes pour tous les principaux appareils de VR était cruciale pour garantir que le jeu toucherait le plus grand nombre de joueurs possible. Créer des jeux VR signifie dessiner deux fois plus de GameObjects, à plus haute résolution, à des fréquences d'images plus élevées, pour assurer une bonne immersion et réduire le malaise VR. Ils ont donc opté pour le pipeline de rendu universel (URP).
« Le pipeline de rendu universel était le meilleur choix pour nous, car nous livrions sur PC, Android (Oculus Quest) et PSVR », explique Frazier. « L'URP nous a permis de créer pour toutes les plateformes VR. »

Réduction des coûts de rendu
Grâce au rendu instance single pass de l'URP, Ramen VR pouvait rendre les visuels pour les deux yeux en un seul endroit, ce qui permettait d'économiser du temps sur le processeur et le GPU et d'améliorer les performances. La personnalisation était également un plus. « Nous avons modifié les shaders standard (Simple éclairé, Unlit) pour répondre aux changements de notre cycle jour-nuit, en rendant les choses plus orangées ou rouges au coucher du soleil, en ajoutant une teinte bleue la nuit, etc. » explique Frazier.
Le studio est satisfait de ce qu'il a réalisé avec l'URP, mais espère pousser plus loin les visuels de Zenith dans une prochaine version. « Une grande partie de notre qualité d'origine a été sacrifiée en raison des limitations matérielles, principalement la mémoire, mais aussi le temps passé sur le GPU », explique Frazier. « Maintenant, nous essayons de tirer parti d'éléments tels que les gammes de texture pour retrouver une partie de cette fidélité perdue. »

Gestion des fichiers du projet
Ramen VR utilise Unity Version Control (UVCS) pour gérer le projet, afin de garantir qu'ils puissent diffuser du nouveau contenu en continu et dans les délais prévus. « Cela nous a permis d'améliorer notre productivité, nos flux de production et de travailler en collaboration beaucoup plus facilement », explique le programmeur Jordan J.
UVCS dispose de deux flux de production pour les artistes et les ingénieurs, et les coéquipiers peuvent choisir de travailler de manière centralisée ou distribuée tout en s'engageant dans le même dépôt. « Le flux centralisé signifie moins d'accidents et d'incompatibilités entre local et distant que ce que vous voyez avec quelque chose comme Git », explique Frazier. Ramen VR n'a jamais perdu de données de projet depuis l'adoption de l'UVCS.

Rassemblement des joueurs
L'implémentation intelligente de l'ECS et l'optimisation visuelle avec l'URP signifient que les joueurs peuvent s'aventurer ensemble et explorer le monde massif de Zenith sans subir de ralentissement ou de perte de progrès. Et une pile technologique adaptable et personnalisable signifie que Ramen VR est configuré pour continuer à ajouter du nouveau contenu à Zenith pour les années à venir.
“« Le fait que nous utilisions Unity réduit la complexité du développement pour plusieurs plateformes. »”
Lauren Frazier - Ramen VR
CTO“« Travailler avec Zenith : L'environnement artistique de The Last City comporte de nombreuses modifications et de nombreux fichiers volumineux. Unity Version Control gère ces modifications très facilement. »”
Jessica Sweeney - Ramen VR
Environment ArtistRejoignez les développeurs du monde entier qui utilisent Unity pour créer des jeux VR réussis.
