Menu
Millenium / Actualités jeux vidéo / Star Citizen /

Star Citizen : le développeur Clive Johnson nous parle de stabilité et de 30k

Star Citizen : le développeur Clive Johnson nous parle de stabilité et de 30k
2

Le développeur en chef de l’architecture réseau de Star Citizen nous explique la stratégie de Cloud Imperium Game face aux crashs serveurs. Clive Johnson n’est pas avare en explications. Bonne lecture !

Star Citizen : le développeur Clive Johnson nous parle de stabilité et de 30k

Les développeurs de Star Citizen sont actifs sur les forums. Après Chad McKinney hier, c'est au tour de Clive Johnson, en charge de l'architecture réseau, de répondre aux questions d'un joueur avec beaucoup de pédagogie.

Quand est-ce que les serveurs seront stables ?

Pendant la phase Alpha, la priorité est de développer des fonctionnalités et du contenu. Seuls les bugs gênant le développement sont corrigés. Pourquoi cette stratégie ?

  • C’est la manière la plus économique de tester de nombreux choix de design et donc de retravailler les concepts sans avoir trop dépensé de ressources.
  • Cela évite de consommer des ressources à corriger des problèmes sur des parties du code qui ne seraient pas conservées dans le produit final.

Le développement s’effectue ainsi, sur un produit en partie dysfonctionnel, jusqu’à ce que toutes les fonctionnalités aient été ajoutées. C’est à ce moment que le projet passe en phase beta.

La phase beta consiste à corriger, optimiser, équilibrer et polir. Idéalement, plus aucune fonctionnalité n’est ajoutée en beta.

Dans le cas d’un développement ouvert comme Star Citizen, la phase alpha doit intégrer un minimum de corrections de bugs pour rendre le produit testable, et permettre ainsi aux backers de faire des retours.

Et c’est un équilibre à trouver : Trop de corrections de bugs ralentit le développement du projet (et retarde l’entrée en beta), trop peu empêche d’avoir assez de retours des joueurs.

Comment est déterminé le juste niveau de correction de bugs ?

En aucun cas l’équipe ne cherche à éliminer tous les bugs. Elle cherche à en éliminer juste assez pour que ce soit testable en moyenne. C’est là que le hasard frappe.

Comme c’est une moyenne :

  • Certains backers vont être chanceux et n’avoir presque aucun problème, ils demanderont plus de fonctionnalités.
  • D’autres auront un produit impossible à tester à cause de trop nombreux crashs ou bugs, ils demanderont plus de corrections.

Leur stratégie consiste à sortir chaque patch dans un état plus stable que le précédent (en moyenne). Mais chaque patch aura une stabilité différente en fonction des styles de jeu, et parfois un patch pourra être moins bon en moyenne.

Pourquoi ils ne corrigent pas les 30k ?

Ils corrigent constamment des bugs menant à des erreurs 30k. Dès qu’un bug fait planter un serveur, les clients affichent une erreur 30k au bout de 30 secondes. Pendant ces 30 secondes, le jeu est encore “jouable” dans un état dégradé (les portes ne s’ouvrent plus, les personnages non joueurs ne répondent plus…). Le chat fonctionne encore car il est géré par un autre type de serveur.

Lorsqu’un patch est en préparation pour passer en phase de test (PTU), les développeurs sortent quasiment un build par jour, et celui-ci est testé plusieurs heures en interne puis par les joueurs. Les rapports d’erreurs, les rapports de l’Issue Council, les posts de feedback, les journaux des serveurs : tout est analysé pour identifier les problèmes les plus graves. Les problèmes de serveurs arrivent souvent en top priorité. A ce moment, tout un processus interne mobilisant l’ensemble des studios pour bénéficier des différents fuseaux horaires est enclenché pour allouer les ressources nécessaires à la résolution des problèmes. Ceci implique de nombreuses équipes. Parfois, il peut arriver qu’un problème nécessite une refonte profonde d’une partie de l’architecture du jeu, et que sa correction soit repoussée à un patch ultérieur.

Pourquoi reste-t-il des 30k ?

A chaque patch trimestriel, beaucoup de parties du code changent ou sont ajoutées. Les développeurs sont des êtres humains et ils font des erreurs. Les processus mis en place pour limiter ces erreurs ne sont pas infaillibles non plus. Et parfois, les bugs identifiés ne sont pas faciles à résoudre et demandent plus de temps. Enfin, un bug peut en cacher d’autres. En résolvant un problème, on fait apparaître de nombreux problèmes qui étaient invisibles jusque là.

De manière générale, ils arrivent à ne laisser passer que des bugs apparaissant rarement. Un bug qui apparaît une fois par mois est difficile à reproduire. Mais une centaine de bugs aussi rares peuvent provoquer trois crashs serveurs par jour

Pourquoi n’y a-t-il pas de mécanisme de récupération ?

Il a été suggéré par les joueurs qu’un système d’assurance soit mis en place pour les cargaisons. Cela a été étudié mais il y a un risque d’exploitation du système. Tant qu’une solution contre ces abus n’a pas été trouvée, les développeurs ne mettront pas d’assurance.

La récupération d’un serveur complet, qui permettrait à tous les joueurs ayant été éjectés d’un serveur crashé est une fonctionnalité sur laquelle ils travaillent. Mais cela va prendre encore du temps car c’est lié au SOCS et à la persistance intégrale.

Créer une sauvegarde locale sur les clients ou les serveurs en temps réel poserait des problèmes de sécurité et seraient des solutions temporaires qui consommeraient des ressources.

La meilleure option est donc de continuer à corriger les crashs serveurs pour maintenir une stabilité moyenne juste suffisante pour que les joueurs puissent tester le jeu.

Star Citizen : Clive Johnson parle du server meshing

S’il y a bien un sujet qui fait l’objet de toutes les attentions dans la communauté Star Citizen, c’est celui de la technologie de « Server Meshing ». C’est l’un des douze piliers nécessaires à l’arrêt des remises à zéro des bases de données à chaque patch (« Wipes »).

Star Citizen : Clive Johnson parle de compression réseau, et évoque la priorité du server meshing

Le chef de l'équipe de développeurs réseaux, qui semble être très occupé par l'implémentation du server meshing, prend le temps de répondre à une question sur Spectrum. Sa réponse détaillée est riche en informations.

Star Citizen : Chad McKinney parle de persistance et d'inventaires physiques

Chad McKinney est responsable de gameplay sur Star Citizen. Il intervient de temps à autre sur Spectrum pour répondre aux questions des joueurs, et le moins qu'on puisse dire est que ses réponses sont détaillées et informatives. Aujourd'hui il nous parle de persistance et d'inventaires physiques.

2
[LOUPS] Malheur il y a 1 semaine

Mise au point très intéressante. On comprend la logique, malgré la frustration que cela peut engendrer. C'est en même temps le principe d'une Alpha : il faut en accepter les inconvénients. ;)<br /> <br /> Vivement les prochaines itérations de la persistance et les premiers pas "globaux" du server meshing.

[LOUPS] Malheur il y a 1 semaine

Mise au point très intéressante. On comprend la logique, malgré la frustration que cela peut engendrer. C'est en même temps le principe d'une Alpha : il faut en accepter les inconvénients. ;)<br /> <br /> Vivement les prochaines itérations de la persistance et les premiers pas "globaux" du server meshing.

L'actu

En Continu

13:00 Star Citizen : Les news de la semaine du 25 au 31 mai 2020
12:30 Star Citizen : Mise à jour hebdo de la Roadmap - 29 mai 2020
09:00 Calling All Devs : Road to Salvage – Le chemin vers le recyclage
09:27 Star Citizen : ILW - Jour 4 MISC/Consolidated/Argo/Crusader
08:25 Inside Star Citizen : Danger! High Voltage! - Echanges d'UEC entre joueurs et armes électriques
19:40 Star Citizen : Un patch pour corriger les récents problèmes d'instabilité
07:00 Star Citizen : Calliope, Lune de Microtech
02:10 Star Citizen : ILW - Jour 3 Aegis Dynamics
23:00 Star Citizen : Invictus Launch Week - ILW - Jour 2 Anvil Aerospace
17:35 Star Citizen : Invictus Launch Week - Jour 1 Origin/RSI/Tumbril

Articles

recommandés

Star Citizen : Accompagnement des nouveaux joueurs par l'équipe Millenium pendant l'accès libre
Star Citizen : Patch alpha 3.10
L'équipage Millenium Star Citizen a besoin de vous !

Guides

à découvrir

Calendrier des sorties de jeux
Star Citizen : notre sélection des meilleurs vaisseaux par rôles et budgets
Star Citizen : les prisons