Star Citizen Ile Avalon Pilot Logbook
Carnet de Vol d'un Citoyen de l'Espace

Que s'est-il passé avec l'iCache ?

Pause-Café

Comme souvent, Chad McKinney ne manque pas de répondre à la communauté et d'apporter quelques clarifications sur l'avancement des projets que sont Star Citizen et Squadron 42, ici il est plus précisément question de la raison du retard de l'iCache, qui "devait" initialement sortir courant 2020.

Et une question en apportant souvent une autre, Chad fait aussi la lumière sur les complexités internes liée aux gestions des ressources de développement et de ce que l'iCache et la Persistance Globale pourront apporter en termes de gestions des personnages du joueur.

Dans une discussion du Spectrum datant de Mai 2020, Chad McKinney a écrit :

A ce stade, je pense que le niveau 1 de l'iCache/Persistence Globale arrivera avant la fin de l'année, mais je ne veux pas préciser les dates exactes.

Chad McKinney, dans iCache et Inventaire Global

4 mois plus tard, dans la lettre du Président, Chris Roberts déclare :

Nous avons fait de grands progrès sur l'iCache et nous espérons l'intégrer dans une construction LIVE d'ici le deuxième trimestre de l'année prochaine ("espérer" et non "promettre").

Chris Roberts, dans la Lettre du Chairman d'octobre 2020

Star Citizen Retreive-ship-failed

Un backer, et il est probablement loin d'être le seul, s'interroge sur les raisons qui ont pu générer un tel retard :

Je comprends très bien comment "la merde arrive" et je ne veux pas que vous pensiez tous quelque chose comme "oh non, c'était un faux pas, nous ne devrions plus jamais dire quelque chose comme ça, pas de date limite Evah" parce que personnellement j'aime avoir des dates limites. Elles me donnent un aperçu de ce que sont les plans et de ce à quoi je peux raisonnablement m'attendre dans un délai donné sans avoir à douter de "ok, mais c'est quelque chose de long terme ou ils travaillent dur maintenant pour livrer plus tôt".

Quoi qu'il en soit, la question est de savoir ce qui s'est passé.
Il était simplement plus difficile de faire le reste du travail ?
Il manquait une technologie inattendue ?
iCache "v1" était presque terminé mais n'a pas fonctionné comme prévu ?

Lorsque j'ai écrit cela (peut-être avec un certain optimisme), c'était en effet le reflet du calendrier courant prévu pour l'iCache et la Persistance Globale. Rétrospectivement, je pense que je n'aurais probablement rien dû dire, même vaguement, à propos des dates, parce que cela fait plus partie du message coordonné qui accompagne des choses comme la feuille de route. Notre feuille de route interne prévue pour l'iCache n'a pas été communiquée à l'extérieur et maintenant elle est directement citée comme une sorte de date de livraison garantie, ce qui n'a jamais été le cas, juste une estimation interne prévue à l'époque.

Pour répondre à votre question "que s'est-il passé ?"

Eh bien, plusieurs choses :

  • On a fini par découvrir des travaux en cours de route pour atteindre les objectifs de la Persistance Globale et de l'icache, tout en nous préparant au Server Meshing. Sans trop entrer dans les détails, nous avons par exemple complété la structure de l'iCache pour mieux le dimensionner en nous permettant d'interroger les données d'une manière qui tire parti de l'agrégation des tessons de données. De plus, nous avons élaboré des plans plus ambitieux pour traiter certains travaux de conception de l'inventaire afin de nous préparer à des fonctionnalités prévues comme la séparation entre les joueurs et les personnages (la mort d'un astronaute, par exemple), et pour prendre en charge des demandes de conception supplémentaires comme l'inventaire physique et la cargaison. Ce n'est pas tout, mais vous comprenez l'idée.

  • Certaines ressources ont été empruntées ici et là au travail de l'iCache pour des choses comme l'implémentation et le support de la Persistance à long terme (LTP) et certains travaux vitaux de moteur interne pour soutenir l'équipe. Cela n'a pas été énorme, mais cela a eu un impact sur le calendrier.

  • Nous avons augmenté la quantité de tests internes que nous prévoyons pour l'ensemble des fonctionnalités, et nous avons augmenté le temps consacré aux outils de débogage afin d'avoir plus confiance lors de la mise en service de la version initiale. Il s'agit d'un ensemble de changements incroyablement importants pour le jeu et le backend, le fait de le précipiter ne profite à personne.

Dans la dernière vidéo que j'ai faite, j'ai dit que la flotte de service iCache était largement terminée et que la plupart du travail se concentrait sur l'intégration dans le moteur de jeu et la mise à jour de tous les systèmes de jeu en conséquence. C'est toujours vrai.

-- Chad McKinney

Une question en entraînant une autre, bien évidemment quand sur un projet de l'importance de l'iCache, Chad déclare que certaines ressources ont été "empruntées ici et là au travail de l'iCache", il ne va pas sans dire que cela en surprend quelques-uns :

Pour une chose aussi cruciale pour le développement futur de votre jeu, ne pensez-vous pas qu'il faudrait mettre plus de "ressources" dans l'iCache... au lieu de les retirer ?

Je sais que si mon équipe construisait une fondation, je retirerais des ingénieurs de projets moins cruciaux/critiques pour combler ces lacunes... A moins que vous n'ayez pas assez de ressources appropriées au départ ?

Les programmeurs ne sont pas interchangeables, et ceux qui travaillent sur les différentes parties de l'iCache et de la Persistance Globale ont une compréhension spécifique du jeu, du moteur et des systèmes de base qui ne peut pas être facilement reproduite simplement en ajoutant quelqu'un de nouveau à l'équipe, même si c'est un très bon programmeur.

Par analogie, considérez qu'il faut être deux pour danser le tango, et qu'ajouter des danseurs n'est pas vraiment utile. En ce qui concerne leur retrait, cela fait partie des appels prioritaires quotidiens normaux qui doivent être effectués.

Eh oui, à l'occasion, certaines décisions difficiles entraînent une brève pause dans les efforts à long terme pour obtenir quelque chose ayant un impact plus immédiat (comme le LTP) pour une sortie. Enfin, nous devons encore faire des poussées trimestrielles, et donc oui, cela signifie que nous avons encore besoin de personnes travaillant sur d'autres parties du jeu, sans parler de S42.

-- Chad McKinney

Jamais deux sans trois, Chad en a peut-être trop dit encore une fois, quand il évoque la possibilité de séparer le joueur du personnage, il ne va pas sans dire que cela a fait tilt dans l'esprit de certains backers qui commencent déjà à y voir une opportunité d'incarner plus d'un personnage ou de voir l'arrivée de la mort du personnage entrer en jeu :

Donc, si je comprends bien, l'iCache va ouvrir la porte pour séparer le joueur et le(s) personnage(s). C'est-à-dire qu'on pourra faire plus d'un personnage. Ce qui signifie que l'une des conditions requises pour la Mort d'un Astronaute (si vous mourez, un de vos personnages hérite de vos affaires), sera remplie.

Est-ce que je comprends bien ?

Nous sommes en train de préparer le terrain qui rendra cela possible, mais je ne dis pas qu'une fois que nous aurons l'iCache et la Persistance Globale, nous aurons une division entre les joueurs et les personnages. Il y a encore du travail à faire en amont et dans le jeu avant que ce soit prêt.

Par exemple, il y a certaines interfaces de niveau de service qui devront être mises à jour pour tenir compte de la séparation, et beaucoup de code de jeu va devoir être modifié.

-- Chad McKinney

Notes et Références

Dernière mise à jour : 08/06/2023