Présentation de l'architecture hybride de Roblox : Démocratiser les jeux multijoueurs photoréalistes
Notre vision : La réalité Roblox
Aujourd'hui, nous vous présentons les aspects techniques d'un projet interne baptisé Roblox Reality, qui vise à associer les jeux multijoueurs à très grande échelle au photoréalisme. Nous pensons qu'il s'agit d'un changement fondamental dans la manière dont les mondes immersifs multijoueurs seront créés et vécus. Disponible en version préliminaire d'ici la fin de l'année ou au début de l'année prochaine, Roblox Reality est une architecture hybride combinant la simulation structurée de notre moteur de jeu distribué avec des modèles de monde vidéo basés sur la périphérie pour le suréchantillonnage. Cette architecture permettra aux créateurs de toutes tailles de concevoir et de maintenir des mondes interactifs alliant une fidélité visuelle et des mouvements sans précédent à la persistance et à la structure traditionnelles, sans augmenter les coûts de développement.
Roblox Reality est une architecture hybride alliant les capacités du cloud et du moteur de jeu Roblox au photoréalisme des modèles de monde vidéo. L'état de base du monde est stocké de manière durable et efficace sur le serveur afin de garantir la cohérence entre les clients et de maintenir cette cohérence au fil du temps, des sessions et des jours, grâce à un stockage économe en coûts et en espace. Le gameplay multijoueur est pris en charge par une autorité serveur forte garantissant équité et cohérence, ainsi que par une simulation spéculative côté client pour obtenir une faible latence. Pour le rendu, des systèmes de niveau de détail (LOD) et de composition basés sur le cloud génèrent des ressources haute fidélité diffusées via un réseau de diffusion de contenu (CDN). Le modèle vidéo Roblox (Super Upsampler) exploite la vidéo rendue et le contexte riche du modèle de données pour produire des visuels stochastiques et un réalisme saisissant, fonctionnant en périphérie pour chaque joueur avec des performances optimales grâce à une infrastructure GPU cloud-périphérie. Le client Roblox enrichi rendrait alors ce flux vidéo et, à l'avenir, superposerait éventuellement un avatar suréchantillonné et rendu localement afin de maintenir une latence très faible sur les actions au premier plan.
Dans les démos ci-dessous, nous présentons quatre vidéos de jeux différents. La vidéo en haut à gauche est du contenu Roblox enregistré à l'aide du moteur de rendu Roblox actuel, tandis que la vidéo en haut à droite est une représentation des données 3D que nous pouvons utiliser pour conditionner la génération vidéo. La vidéo en bas à gauche montre le modèle vidéo suréchantillonné actuel de Roblox fonctionnant dans notre laboratoire, qui ne fonctionne pas encore en temps réel, et la vidéo en bas à droite montre une maquette de notre vision du produit et de ce qui sera possible à l'avenir grâce à cette technologie.
Modèles de mondes vidéo : atouts et limites
Les modèles de monde vidéo excellent dans la génération de comportements plausibles et de haute dimension sans qu'il soit nécessaire de simuler explicitement chaque interaction individuelle.
L'exploitation des modèles de monde vidéo dans l'espace latent vidéo se heurte à des limites techniques spécifiques : le processus est actuellement coûteux, et l'obtention de performances en temps réel de haute fidélité, telles qu'une résolution 2K à 60 Hz, reste un défi de développement. Surtout, l'état du monde étant représenté dans l'espace vidéo, ces modèles ne sont actuellement pas multijoueurs. Une contrainte majeure réside dans le compromis entre la fidélité de la simulation et la plausibilité visuelle : le simple fait de voir 500 personnes se déplacer dans une vidéo ne signifie pas qu'il s'agit d'agents individualisés ou d'« avatars dotés d'un cerveau ». On ne s'attend pas à ce que l'échelle actuelle des modèles vidéo prenne en charge de manière inhérente la simulation complexe d'agents individualisés requise pour une véritable expérience multijoueur.
Cette capacité est cruciale pour gérer une foule vivante de 20 000 personnes réagissant en temps réel. Cependant, un modèle de monde vidéo ne peut à lui seul gérer de manière fiable les interactions entre plusieurs joueurs au cours d’une session de deux heures. Un modèle de monde peine à appliquer des règles strictes et à maintenir un état persistant en raison d’un manque de mémoire à long terme et de logique cohérente. Les modèles de monde vidéo manquent de données de contrôle des entrées utilisateur, ce qui explique pourquoi jouer à un modèle de monde vidéo n’est pas amusant. Comme les modèles de monde vidéo ont du mal à gérer l’état persistant, la logique cohérente, le contrôle des entrées utilisateur et la véritable simulation d’agents multijoueurs, les modèles actuels s’apparentent davantage à des rêves guidés.
Les modèles vidéo interactifs que nous voyons aujourd’hui sont impressionnants, mais ce sont essentiellement des rêves vivants : spectaculaires à regarder, mais éphémères et incroyablement solitaires. Ils manquent d’interactivité, de défi, de récompense et de persistance — tout ce qui fait qu’un jeu est un jeu.
Les modèles de monde neuronaux purs ne peuvent à eux seuls tenir la promesse d’une expérience multijoueur vaste et persistante. Bien que les modèles de monde neuronaux soient impressionnants à bien des égards, ils échouent dans de nombreux domaines critiques. Parmi ceux-ci figurent la cohérence dans le temps au sein d’une même session, la mémoire à long terme entre les sessions, la latence et le contrôle fin par le créateur. Des lacunes moins évidentes apparaissent lorsqu’on pense à une simulation multijoueur cohérente, à un gameplay compétitif exigeant, à des PNJ hautement intelligents, aux tests et au raffinement progressif.
Nous ne devrions pas demander à un moteur neuronal de devenir un moteur de jeu.
Moteurs de jeu : forces et contraintes
Le Roblox Cloud et le moteur Roblox sont fortement complémentaires aux modèles de monde vidéo. Ils offrent une précision reproductible, un état cohérent d'une session à l'autre et une persistance dans le temps. Prenons l'exemple d'un créateur développant un jeu sur le Grand Prix de Formule 1 de Monaco. Il modélise des systèmes de notation et de pénalités rigoureux, des routes, des foules, la nature et une synchronisation instantanée entre plusieurs pilotes. Cependant, cette précision a un coût en termes de mise en œuvre et d'exécution. L'amélioration de la fidélité visuelle nécessite des ressources lourdes, un éclairage complexe et des simulations.
Au cours de la prochaine décennie, les moteurs de jeu haut de gamme continueront de progresser en termes de réalisme, mais les exigences en matière de sophistication des développeurs et de matériel grand public augmenteront également.
Le défi que l'industrie n'a pas encore réussi à relever à ce jour est de savoir comment offrir un hyperréalisme à grande échelle, tout en le rendant accessible aux développeurs de toutes tailles et sur du matériel grand public largement disponible.
Cela s'explique par le fait que le monde réel regorge de détails exquis. Tout ce qui entoure le cœur du jeu – des éléments non scénarisés et naturalistes tels que des brins d'herbe, des feuilles et des branches se balançant doucement au gré du vent, des nuages de poussière tourbillonnant derrière les voitures, des braises incandescentes et des étincelles jaillissant d'un feu, ainsi que des gouttes de pluie éclaboussant doucement une flaque huileuse et irisée – constitue ce contenu. Ce contenu est très difficile à créer et à rendre. Les moteurs de jeu traditionnels peinent à gérer cette complexité visuelle et cherchent des raccourcis pour obtenir un réalisme simplifié, car la charge mémoire liée aux textures et à la géométrie haute résolution met à rude épreuve les ressources disponibles. Les coûts de simulation grimpent également en flèche avec l’éclairage volumétrique, l’audio binaural, la physique et la simulation des personnages qui, ensemble, constituent le photoréalisme.
Nous pensons que la meilleure façon pour les créateurs de construire, et pour les moteurs de rendre, cette complexité sera de tirer parti d'une architecture hybride dans laquelle un modèle de monde vidéo post-entraîné générera des textures, un éclairage et une dynamique à petite échelle par-dessus le mouvement de caméra, la géométrie et l'état contextuel sous-jacents du moteur.
L'architecture : synchronisation de la logique du jeu et des pixels vidéo
Nous pensons qu'une approche hybride est nécessaire pour permettre aux créateurs d'offrir une interaction multijoueur haute fidélité avec un rendu photoréaliste. Nous appelons cette approche « Roblox Reality », qui combine le moteur de jeu Roblox, le cloud Roblox et un modèle de monde vidéo Roblox « Super Upsampler ».
L'architecture hybride Roblox Reality répartit les responsabilités entre le moteur de jeu Roblox et le modèle de monde vidéo Roblox.
Le moteur de jeu Roblox gère les aspects structurés et logiques du monde, fournissant une mémoire à long terme stable, une logique symbolique et une simulation reproductible. Il est également responsable des opérations physiques fondamentales telles que les collisions et les comportements. Les mouvements principaux des objets sont gérés par le moteur, par exemple la position et la vitesse d’une voiture, de ses roues, de ses amortisseurs et de sa direction. S'appuyant sur cela, le modèle de monde vidéo ajoute des composants visuels et génératifs supplémentaires, comme les gouttes d'eau ruisselant le long du pare-brise et le bruissement des feuilles lorsque la voiture passe à toute vitesse, offrant des effets visuels à couper le souffle. Cette approche permet au moteur de jeu de maintenir le modèle de données (l'état partagé et cohérent) tandis que le modèle de monde vidéo génère les pixels (le rêve visuel).
|
Fonctionnalité |
Moteur de jeu |
Super Upsampler | |
|---|---|---|---|
|
Fonction principale |
Gère toute la synchronisation des états pour assurer la cohérence du monde (modèle de données, état partagé et cohérent). |
Gère les composants visuels et génératifs (Pixels, le rêve visuel). | |
|
Responsabilités principales |
Fournit une mémoire à long terme stable, une logique symbolique et une simulation reproductible. Est responsable des propriétés physiques fondamentales (matériaux et emplacements) et des opérations (collision et lancer de rayons). |
Fournit des visuels stochastiques et un réalisme époustouflant, des mouvements secondaires, des environnements dynamiques naturels et une physique fluide. Génère des textures de haute fidélité, un éclairage plus réaliste et une dynamique à petite échelle. | |
|
Cohérence du monde |
Assure la précision, un état cohérent et une cohérence garantie. Centralise l'état en une seule source de vérité. |
Excelle dans la génération de comportements plausibles et de haute dimension sans simulation explicite (par exemple, la gestion d'une foule vivante). Fonctionne en périphérie pour chaque joueur. | |
|
Données traitées |
Tout ce qui est cohérent entre tous les joueurs (joueurs, positions, voitures, oiseaux, bâtiments, scène 3D). |
Les éléments éphémères que les joueurs n'ont pas besoin de voir exactement de la même manière (boîtes de conserve rouillées, volées d'oiseaux, formes des nuages, grains de sable, herbe). | |
|
Stockage en mémoire |
Modèle de données |
Latents vidéo | |
|
Contrainte autonome |
Difficultés liées à la complexité visuelle et aux exigences de calcul élevées pour le photoréalisme. |
Difficultés liées à l'application stricte des règles, à la mémoire à long terme, à la cohérence logique et aux données de contrôle des entrées utilisateur. | |
|
Infrastructure d'exécution |
Plus de 26 centres de données périphériques à travers le monde, exécutant des millions d'instances de jeux, proches des utilisateurs pour une faible latence, avec un pic de plus de 45 millions de connexions simultanées. |
Super Upsampler fonctionne dans des centres de données périphériques adjacents et offre des performances optimales, grâce à des GPU de classe H200/B200 (ou des accélérateurs équivalents). |
Ensemble, cette plateforme prend en charge la création de contenu illimitée avec un contrôle approfondi pour les créateurs.
Nos objectifs de développement pour Roblox Reality consistent à créer un modèle vidéo Roblox capable d'offrir une résolution de 2K à 60 Hz en exploitant les données de référence issues du moteur de jeu Roblox : à la fois la vidéo rendue et les données spatiales 3D. Roblox Reality sera optimisé pour fonctionner sur une infrastructure GPU en périphérie du cloud associée à la diffusion vidéo en continu, tout en s'intégrant à terme au client Roblox afin de prendre en charge le contrôle et la simulation d'avatars en local.
Résumé
Roblox Reality représente une avancée majeure dans la démocratisation de la création, permettant à tout créateur de développer des jeux photoréalistes en tirant parti du moteur de jeu Roblox et du modèle vidéo, ce qui réduit considérablement le temps de développement, les coûts et la puissance de calcul traditionnellement requis pour des graphismes haute fidélité. Cela rend la création de jeux photoréalistes plus rapide et plus efficace en termes de coûts et de puissance de calcul pour nos créateurs. Compte tenu du coût de calcul élevé, nous sommes conscients qu'il y a des défis à relever avant de pouvoir faire évoluer l'architecture de Roblox Reality. Nous travaillons déjà sur des solutions pour nous aider à optimiser et à accroître l'efficacité de cette architecture, afin de pouvoir la faire évoluer de manière plus abordable pour accueillir des millions de joueurs simultanés.
Mais surtout, nous sommes ravis de construire une plateforme qui permettra à nos créateurs de développer des jeux offrant des expériences multijoueurs photoréalistes incroyables !