MGG / Actualités jeux vidéo / Star Citizen /

Inside Star Citizen: Further Underground

Inside Star Citizen: Further Underground
2

L'épisode d'Inside Star Citizen de cette semaine prend des airs de nouveau départ. La production fait peau neuve avec l'arrivée de cette nouvelle saison. Au même titre que les bunkers et le moteur de rendu Gen12 qui sont à l'honneur cette semaine.

Inside Star Citizen: Further Underground

Dans cet épisode d'Inside Star Citizen, les développeurs du projet nous présentent le travail préparatoire pour les futurs bunkers présentés lors de la Citizencon. Nous parlerons ensuite de Gen12, le nouveau moteur de rendu développé par CIG. Le modèle de production de la vidéo évolue lui aussi. L'action est ici filmée au sein des bureaux, avec des plans sur le travail des développeurs, et le résultat final donne un aspect plus travaillé et professionnel.

The new underground

Cette première partie de l'ISC nous est présentée par John Griffiths, Lead environment artist dans l'équipe EU Sandbox 2 chez CIG dans les nouveaux locaux situés à Manchester.

La phase préproduction de ces nouveaux bunkers est désormais terminée. Les développeurs nous présentent donc la phase de planification qui consiste à répondre à des questions techniques et fonctionnelles. L'établissement de tous les environnements nécessaires, les différentes questions d'ordre de gameplay, combien de temps les joueurs passeront dans ces bunkers, combien seront-ils, que feront-ils, etc.

Dans cette phase, les développeurs vont également faire beaucoup d'itérations différentes en white-box pour tenter d'identifier ce qui fonctionne bien, et ce qui ne fonctionne pas. Ils récupèrent des informations en interne pour savoir ce qui sera retenu, et ce qui ne le sera pas. Dans toute cette entreprise, les équipes d'art, de design et celle en charge des missions sont mobilisées.

Les nouveaux bunkers (white-box test) - Star Citizen
Les nouveaux bunkers (white-box test) - Star Citizen
Les nouveaux bunkers (white-box test) - Star Citizen

Grâce à un logiciel de cartographie fonctionnelle, ils établissent un plan dans lequel sont réparties les différentes pièces nécessaires à la réalisation des nouveaux bunkers. Ces différentes pièces sont réparties dans des "boîtes", qui sont à leur tour réparties dans des "Tier" (échelon).

Ils composeront les différents Tiers de fonctionnalités comme on les connaît sur la roadmap. Le Tier 0 regroupe le minimum requis pour sortir la fonctionnalité, tandis que les Tiers suivants sont composés de tout ce qui n'est pas nécessaire à la sortie initiale. Dans ces boites, les informations comme la taille de la pièce, le type de pièce, son apparence, son emplacement et son statut sont indiqués. De cette manière, les développeurs savent immédiatement ce qui est en cours de réalisation et les différentes informations dont ils ont besoin pour réaliser leur travail.

Cela leur permet d'obtenir une vue d'ensemble et d'établir ensuite des "pack" de contenu pour encore mieux répartir les tâches.

Les différentes pièces en
Les différentes pièces en "bloc" dans leur logiciel de cartographie fonctionel.
Le contenu d'un bloc de pièce. - Star Citizen
Le contenu d'un bloc de pièce.

John Griffiths nous présente ensuite cette phase de répartition, à l'aide du logiciel Excel et de calculs d'estimations préétablis. Lors de cette phase, il entre le nombre de différentes pièces, les habillages de pièce, les pièces annexes et les structures nécessaires dans Excel. Le tableau leur donnera alors une estimation du temps nécessaire pour concevoir les différents échelons de fonctionnalité, en l'occurrence ici les nouveaux bunkers de tier 0.

Star Citizen
Star Citizen

Avancement sur Gen12

Notre hôte pour cette partie est Silvan Hau. Il rappelle d'abord ce qu'est Gen12, ainsi que ce que les joueurs peuvent en attendre, puis il nous montre en temps réel le gain de performances, chiffres à l'appui.

Rappels sur Gen12

Gen12 est un paradigme du moteur de rendu d'images de Star Citizen. Le rôle de ce moteur est de faire usage d'une API graphique (système servant d'interface entre le code graphique et le pilote du GPU). Le bon fonctionnement de ce moteur influe autant sur les performances que le matériel en lui-même. Depuis plusieurs années, CIG a fait le choix de changer d'API graphique (passage de DX11 à Vulkan) et de modifier en profondeur l'architecture du moteur pour créer Gen12.

  • Vulkan permet un meilleur accès à de nombreuses fonctionnalités (Support Linux, Raytracing, fonctionnalités IA (ex DLSS), multiview (VR), etc)
  • La refonte du moteur permet une meilleure efficacité (moins d'appels à l'API (API calls)).

L'architecture est fonctionnelle depuis 2021, et est présente dans le code du jeu depuis la 3.14. Depuis, c'est le travail d'adaptation des différents rendus (notamment les "Scene Objects") qui occupent la plus grande partie de leur temps. Ce travail a bien avancé et est en passe d'être terminé. En 3.17, le rendu de la géométrie statique est déjà effectué sous la nouvelle architecture ! Les développeurs vont essayer de livrer le rendu des "Scene Objects" en 3.18. Cette tentative représente la fin de la migration vers Gen12. Cependant, le travail n'est pas fini, et dès lors commencera la phase d'optimisation, pour exploiter pleinement le potentiel de la nouvelle architecture.

Le bleu marine représente le render thread avant Gen12 - Star Citizen
Le bleu marine représente le render thread avant Gen12
Ici le détail de rendu d'une frame sous Gen12. Les barres rouges (sous la souris) représentent le temps pendant lequel le render thread est au repos. - Star Citizen
Ici le détail de rendu d'une frame sous Gen12. Les barres rouges (sous la souris) représentent le temps pendant lequel le render thread est au repos.

Des avancées visibles

Silvan rappelle que les bénéfices de Gen12 ne s'appliquent pas à toutes les situations. Le moteur permettra de réduire le temps de calcul du processeur à chaque image, mais n'a aucune incidence sur les performances de la carte graphique. Un joueur en 4k aura moins de gains visibles qu'un joueur en FHD.

Passons à la comparaison entre les deux architectures legacy et Gen12.

  • Legacy: 47500 API calls/image, Gen12: 32500 API calls/image. Soit 32 % d'efficacité en plus.
  • Le thread de rendu est inactif jusqu'à 20ms par image sous Gen12. Sous Legacy, il était plus lent que le thread principal.
  • Le thread de rendu est 50 à 100 % plus efficace sous Gen12, sans la phase d'optimisation.

Le thread de rendu n'est donc plus du tout une épine dans le pied des FPS.

La suite du travail sur Gen12 consistera à terminer l'implémentation de Vulkan, se débarrasser du thread de rendu pour passer sur un multithread global, et l'implémentation de contrôleurs asynchrones.

Avant Gen12, 47000 appels à l'API. - Star Citizen
Avant Gen12, 47000 appels à l'API.
Avec Gen12, 32000 appels à l'API. - Star Citizen
Avec Gen12, 32000 appels à l'API.
2
Julien Gomes
Garoseau  - Rédacteur

arrowman

Co-écrit avec : CrimsonFreak
mickael66fr il y a 7 mois

Merci pour la traduction

mickael66fr il y a 7 mois

Merci pour la traduction

L'actu

En Continu

13:00 Star Citizen Live : Table ronde sur les véhicules du 27/05/2023
07:00 Inside Star Citizen : Arena Reborn - Partie 1
16:38 Star Citizen : Invictus, les nouveaux véhicules/vaisseaux
08:00 Inside Star Citizen : Settlers of Stanton
07:00 Star Citizen : bar Citizen à Liège le 20 mai
07:00 Star Citizen Live : Mining, Salvage, Tractors, OH MY!
15:30 Inside Star Citizen : Track Star
19:00 Star Citizen Live : Animation Vocation
20:30 Star Citizen : Le patch 3.19 est sur le PTU
11:00 Inside Star Citizen : Morville Lorville

Articles

recommandés

Star Citizen - CitizenCon 2952 : ce qu'on peut en retenir
Star Citizen : Letter from the Chairman – mai 2022
L'équipage Millenium Star Citizen a besoin de vous !

Guides

à découvrir

Star Citizen : Achat et location de vaisseaux
Star Citizen : Guide des commandes
Quel pack choisir sur Star Citizen ?