
Point sur la feuille de route - 14 juillet 2021
Le calendrier des équipes en aval ayant été établi pour le 3e trimestre, nombre de nouveaux livrables ont été ajoutés sur la feuille de route de Star Citizen lors de son actualisation du 14 juillet 2021.

Note des traducteurs : Plusieurs termes techniques sont présents dans ce Point sur la feuille de route, en particulier dans les descriptions des nouveaux livrables liés au Server Meshing et à la persistance. Afin de les rendre un minimum compréhensibles, des annotations (créées par Insosama) sont disponibles.
Bon mercredi à tous !
Toutes les deux semaines, nous accompagnons l’actualisation de la feuille de route d’une brève note explicative pour vous donner un aperçu du processus décisionnel qui a conduit à ces changements. Cette démarche s’inscrit dans le cadre d’un effort visant à rendre nos communications plus transparentes, plus spécifiques et plus perspicaces pour tous ceux qui contribuent à rendre Star Citizen et Squadron 42 possibles.
Cette semaine, nous avons un grand nombre de nouveaux livrables, le calendrier des équipes en aval ayant été établi pour le troisième trimestre. Pour rappel, comme ces équipes sont en grande partie réactives à celles en amont, leur calendrier sur la feuille de route ne montre qu’un trimestre dans le futur, par opposition aux quatre trimestres de celui des équipes en amont. De plus, une visibilité accrue sur les tâches nécessaires au Server Meshing et à la persistance a été attribuée pour les équipes Réseau et “Technologie persistante”. Découvrez tous les nouveaux livrables ci-dessous, mais jetez également un œil à ces équipes sur l’outil de suivi des progrès pour voir sur quoi d’autre elles travailleront au cours du troisième trimestre !
Ceci étant dit, plongeons-nous dans le Point sur la feuille de route de cette semaine !
– L’équipe Communauté de CIG
Changements notables du 14 juillet 2021
Suivi des progrès
Ces livrables ont été ajoutés au suivi des progrès :
Mine à déclenchement laser
Implémentation dans le jeu de mines à déclenchement laser, qui sont des explosifs utilisant des faisceaux lumineux comme déclencheurs. Lorsque quelqu’un ou quelque chose entre en contact avec le rayon, la mine explose.
Vêtements frontaliers
Élaboration de concepts de vêtements de style “frontalier” pour les joueurs et les PNJ.
Tête du personnage joueur féminin
Achèvement de la modélisation et du polissage des textures pour la tête du personnage joueur féminin. Après ce passage sur cet asset⁽¹⁾, celui-ci sera envoyé à l’animation technique pour une mise à jour du rigging⁽²⁾.
Nœud de maillage des DGS
Le nœud de maillage des DGS⁽³⁾ implémente plusieurs serveurs de jeu dédiés et clients connectés à la même instance du service Hybrid⁽⁴⁾, et permet aux DGS d’échanger des entités et de faire autorité sur elles.
Gestionnaire de shard
Ajout d’une fonctionnalité sur le service Hybrid pour ce qui deviendra le service de gestionnaire de shard⁽⁵⁾. La fonctionnalité de gestionnaire de shard est chargée de créer un shard dans la base de données EntityGraph⁽⁶⁾, de s’assurer qu’il est “ensemencé” avec une population initiale d’entités, de communiquer avec le matchmaking⁽⁷⁾ pour que les joueurs puissent rejoindre un shard, et de se mettre en relation avec les services d’approvisionnement pour qu’un Hybrid⁽⁸⁾ et des serveurs de jeu dédiés (DGS) puissent être affectés à un shard.
Déstockage de l’inventaire
Le terme “déstockage” fait référence au fait d’aller chercher un objet dans un inventaire et de le placer dans un shard⁽⁹⁾. Par exemple, le déstockage d’un vaisseau contenant une cargaison retire le vaisseau et sa cargaison associée de l’inventaire et les place dans le jeu. Ce travail implémente le déplacement des données persistantes d’un élément depuis un inventaire vers un shard géré par l’EntityGraph⁽¹⁰⁾, et l’ajout de l’élément à la couche de réplication.
Stockage/destruction de l’entité
Le terme “stockage” fait référence au déplacement d’un objet vers un inventaire. Par exemple, le stockage d’un vaisseau contenant une cargaison range le vaisseau et sa cargaison associée. Ce travail met en œuvre la suppression d’éléments de la couche de réplication, en déplaçant ses données persistantes dans un inventaire géré par l’EntityGraph⁽¹¹⁾.
API de modification d’itemport
Cette API⁽¹²⁾ permet à des outils tels que l’application de modification des véhicules (désigné aussi VMA) de modifier les équipements des vaisseaux dans les inventaires.
API de requête de données de shard
Cette API⁽¹³⁾ permet au code du jeu d’accéder à des requêtes⁽¹⁴⁾ courantes sur les données des entity graph⁽¹⁵⁾.
API pour les variables de forme libre
Service ‘blackboard’⁽¹⁶⁾ permettant aux systèmes de code du jeu d’écrire des variables persistantes génériques.
IA – Liens de navigation – Échelle/Saisie de rebord
Implémentation d’adaptateurs spéciaux pour permettre au système de navigation d’être informé des connexions navmesh⁽¹⁷⁾ potentielles offertes par les échelles ou les balises⁽¹⁸⁾ de saisie de rebord. Les liens de navigation ont déjà permis la création d’adaptateurs qui contiennent des fonctionnalités spécifiques au code du jeu pour fonctionner comme des sortes de traducteurs entre le domaine spécifique au système et le système de navigation⁽¹⁹⁾.
IA – Poussée et tirage de chariot
Il s’agit de la première étape de l’implémentation de la capacité des PNJ à utiliser des chariots et des entités similaires. Ils seront capables de se déplacer dans l’environnement en poussant et tirant ces entités pour les placer à des endroits spécifiques. Cela nécessite la création d’un “suiveur de chemin” spécial qui peut prendre en compte les forces externes qui doivent être équilibrées pour atteindre la vitesse désirée.
IA – Véhicules terrestres
Il s’agit de la première étape du support des PNJ contrôlant et conduisant des véhicules terrestres. Cela nécessite l’implémentation d’un nouveau “suiveur de chemin” qui peut prendre en charge les capacités physiques du véhicule pour transformer la demande de mouvement du PNJ en mouvement réel.
IA – Tourelles de missiles automatiques
Ajout de tourelles de missiles contrôlées par l’IA afin d’améliorer la défense des zones d’armistice.
IA – Médical
Implémentation d’une variété de comportements d’IA médicale. Un patient arrivera à l’hôpital et s’enregistrera à un terminal, puis attendra d’être appelé dans une salle pour un diagnostic. Le patient peut alors voir des médecins et des infirmières s’occuper de personnes malades ou blessées. D’autres patients attendent d’être appelés. Les médecins et les infirmiers peuvent être vus en train de se laver les mains, de vérifier le stock médical et de distribuer des médicaments. Certains patients seront endormis dans des lits médicaux.
IA – Loisir
Le comportement de loisir est un segment de notre nouveau système de comportement des civils, contrôlant comment l’IA se comporte lorsqu’elle a du temps libre pendant son emploi du temps. L’IA créera un environnement plus vrai que nature en se détendant et en s’amusant, en utilisant les éléments qui sont à sa disposition, tels que les équipements d’exercice sportif, les itinéraires de jogging, les écrans de télévision, les sièges/bancs et son mobiGlas.
IA – Danse
La danse est un segment du comportement de loisir de notre nouvelle IA civile. Après le travail, certains civils auront envie de passer du temps dans une boîte de nuit et de danser toute la nuit. Cela apportera une nouvelle vie et du mouvement à nos bars.
Risque d’incendie
Le système de risque d’incendie assurera le suivi du feu et la température sur des objets statiques et dynamiques. Pour la version initiale du feu, la fonctionnalité sera configurée sur certains véhicules spécifiques.
Flux de travail pour des destructibles
Élaboration d’un flux de travail (workflow) permettant aux artistes et aux concepteurs de travailler avec des objets destructibles.
Maya Live Link
Maya Live Link établit un lien entre Maya⁽²⁰⁾ et l’éditeur sandbox du moteur Lumberyard/StarEngine⁽²¹⁾. Il est principalement destiné à donner aux animateurs la meilleure qualité de prévisualisation possible, du style “ce que vous voyez est ce que vous obtenez”, en intégrant de manière fluide les images rendues par l’éditeur dans la fenêtre d’affichage de Maya.
Mission de sauvetage/de transport
Utilisation des comportements de suivi de l’IA pour créer des missions dans lesquelles les joueurs transportent des clients d’un endroit à un autre, ainsi que des missions prototypes dans lesquelles les joueurs doivent sauver des clients en danger et les escorter en lieu sûr.
Mission d’infiltration/de défense
Les installations souterraines sont le premier endroit à bénéficier de l’ajout de “placards à spawn⁽²²⁾” qui nous permettent d’étendre la suite de missions qui s’y déroulent. Les missions vont de l’assaut total à des situations où vous pouvez remplir des objectifs sans avoir à vous engager dans un combat, et comprennent des versions légales et illégales.
Amélioration des missions autour des Comm Array
Plusieurs missions améliorées et d’autres totalement nouvelles à travers et autour des Comm Arrays, avec un accent particulier sur le contenu PvP.
Mouvement physique du voyage quantique
Ce livrable avait été précédemment retiré de la feuille de route. Il a été réintégré au suivi des progrès car il est programmé pour être travaillé au troisième trimestre par l’équipe en charge de la physique.
MISC Hull B
Il était initialement prévu que le Hull B soit travaillé en même temps que le Hull A. Cependant, des ressources supplémentaires ont dû être allouées au Hull A. Nous retirons donc temporairement le Hull B du suivi des progrès jusqu’à ce qu’il soit reprogrammé.
Affichage des sorties
Ces livrables ont été ajoutés à l’affichage des sorties dans la colonne de l’alpha 3.17 :
Hangars persistants
Les joueurs auront la possibilité d’avoir leurs propres hangars persistants. Cela apportera des changements dans la boucle de gameplay de cargo en permettant aux joueurs d’acheter du fret et de l’envoyer dans leurs hangars, puis de maximiser leur espace de stockage du fret en leur permettant d’emballer eux-mêmes les marchandises. L’époque où l’on se faisait expulser de son hangar parce qu’on y restait trop longtemps sera révolue.
Avant-postes coloniaux – Indépendant & hors-la-loi
Un petit foyer où l’IA peut vivre et s’abriter. Ils se composent d’un hub central et de quelques modules internes et externes optionnels. Ils fournissent les éléments de base nécessaires pour faire vivre un petit groupe de personnes pendant une durée indéterminée.
C’est tout pour cette semaine ! Participez à la discussion sur Spectrum.
⁽¹⁾ Élément simple en 3D, brique élémentaire, souvent « modulaire » (qui peut être réutilisé à plusieurs endroits).
⁽²⁾ Le squelette simplifié qui permet de prendre en charge les nœuds et les articulations d’un élément animé organique.
⁽³⁾ Dedicated Game Servers ; serveurs de jeu dédiés pour les joueurs, à différencier du serveur central qui gère l'univers, l'économie, etc…
⁽⁴⁾ Service qui permet de synchroniser les serveurs en charge des aspects globaux du jeu avec ceux des clients ou en charge des aspects locaux.
⁽⁵⁾ Le sharding est une technologie serveur de base de données qui divise une base commune unique en nœuds (les shards) virtuels répartis sur plusieurs serveurs physiques séparés. On pourrait un peu comparer ce système au RAID 5 pour les disques durs. Au même titre que le RAID 5, cela permet d'assurer une meilleur vitesse, et surtout une plus grande stabilité, ainsi qu'une récupération des données facilitée : en cas de crash d'un des nœuds virtuels, les serveurs peuvent rapidement, sur la base des données résiduelles réparties entre eux, reconstituer rapidement un shard de rechange identique et se relancer.
⁽⁶⁾ Base de données des entités générées du jeu ; plus exactement, cela désigne un moyen particulier de trier les données de sorte à gérer des relations complexes entre plusieurs éléments en optimisant la taille occupée et les performances de consultation.
⁽⁷⁾ La faculté de mettre en relation les joueurs entre eux. Dans la plupart des jeux, on parle ici de pouvoir rejoindre nos amis, ou de se regrouper par niveau. Malgré le fait que Star Citizen marche en théorie sur le principe d’un serveur unique, en réalité, ce n’est qu’une illusion de serveurs uniques. Et pour certains aspects du jeu (notamment la modération) il a été évoqué plusieurs fois l’idée d’instance séparée spécialisée. Il existe donc bien un système de matchmaking dans Star Citizen pour gérer tous ces cas.
⁽⁸⁾ Voir définition au paragraphe précédent.
⁽⁹⁾ Voir définition au paragraphe précédent.
⁽¹⁰⁾ Base de données des entités générées du jeu ; plus exactement, cela désigne un moyen particulier de trier les données de sorte à gérer des relations complexes entre plusieurs éléments en optimisant la taille occupée et les performances de consultation.
⁽¹¹⁾ Voir définition au paragraphe précédent.
⁽¹²⁾ Interface de programmation (Application Programming Interface) ; peut être résumée à une solution informatique qui permet à des applications de communiquer entre elles et de s'échanger mutuellement des services ou des données.
⁽¹³⁾ Voir définition au paragraphe précédent.
⁽¹⁴⁾ Une requête en programmation est un ordre ou une consigne en attente de traitement.
⁽¹⁵⁾ Base de données des entités générées du jeu ; plus exactement, cela désigne un moyen particulier de trier les données de sorte à gérer des relations complexes entre plusieurs éléments en optimisant la taille occupée et les performances de consultation.
⁽¹⁶⁾ D'arrière-plan, caché.
⁽¹⁷⁾ Un navmesh, ou "mesh de navigation" en francais, est tout simplement le terme qui désigne la surface accessible pour le déplacement d'un PNJ. C’est un « mesh », donc une surface en 3D collée au décor qui permet de représenter tous les endroits où une IA peut aller.
⁽¹⁸⁾ Indicateur non visible permettant de renseigner le système sur une capacité, un élément utile pour le fonctionnement du jeu.
⁽¹⁹⁾ En gros, ici, on est en train d’évoquer que ce système permet d’attacher des zones entre elles dont les règles physiques de déplacement ne sont pas les mêmes. On peut penser simplement à une zone dépourvue de gravité connectée à une autre qui en possède.
⁽²⁰⁾ Logiciel d’édition et de modélisation 3D utilisé par CIG.
⁽²¹⁾ L'éditeur lié au moteur de jeu de Star Citizen qui permet de réellement créer les environnements du jeu en positionnant tous les éléments et les logiques créés séparément.
⁽²²⁾ Zone cachée à la vue du joueur qui permettent aux personnages non joueur d’apparaître ou de disparaître sans que cela nuise au réalisme du jeu.