This is a translation of a question-and-answer reply to
this English-language forum thread, from Game Director Rich Lambert.
Bonjour tout le monde ! Nous allons répondre aux principales questions qui ont été posées dans cette discussion, et lever un peu le voile sur nos processus et les actions que nous sommes en train d'entreprendre pour régler les problèmes. Merci pour toutes vos questions, et continuez de nous donner votre avis !
Quels sont les éléments sur lesquels vous vous penchez quand on vous signale des problèmes de performances dans le jeu ?
Les enquêtes sur les problèmes de performances sont complexes, nous devons envisager un grand nombre de facteurs potentiels. En général, les éléments les plus importants sont les suivants :
- Les serveurs où le problème se produit
- Les heures auxquelles le problème se produit
- La configuration des joueurs affectés
- Ce que les joueurs étaient en train de faire au moment où le problème est survenu
- Les extensions installées par les joueurs affectés
Tous ces éléments nous aident à avoir une vue d'ensemble de la plupart des problèmes. À partir de là, si nous avons besoin d'autres informations, comme c'est le cas pour ce problème, nous en faisons la liste. Il peut s'agir de renseignements supplémentaires à demander aux joueurs affectés, ou de données qu'il faudra recueillir en mettant en place de nouveaux systèmes.
À quoi ressemblent les tableaux de performances actuels du jeu ?
Ceux que je préfère regarder (plantages, temps de chargement excessifs et trames du serveur) sont globalement plutôt positifs. Il y a quelques plantages que nous sommes en train de régler, mais ils sont rares. Les temps de chargements excessifs sont très courts, surtout sur console, et la vitesse des serveurs est très stable, du moins en dehors des heures d'affluence. Pendant ces périodes, il y a quelques ralentissements ; dans les prochains correctifs, nous allons mettre en place des outils afin de recueillir les données qui permettront à nos ingénieurs de mieux enquêter sur ces problèmes.
Quelles sont les informations les plus utiles lors d'une enquête sur un problème de performances ?
Le plus utile, c'est de nous indiquer la date et l'heure auxquelles le problème s'est produit, à la minute près si possible, et de nous dire ce que vous étiez en train de faire. C'est encore mieux si vous avez une vidéo afin que nous puissions voir exactement ce qu'il s'est passé. Nous avons regardé les vidéos que vous nous avez envoyées pour ce problème, et nous vous remercions !
Que pouvez-vous modifier lorsqu'il y a des problèmes de performances ?
Tout dépend du problème. Dans certains cas, nous pouvons implémenter un correctif sans arrêter les serveurs, mais la plupart du temps, une interruption du service est nécessaire. Pour les plantages, les objets ou points d'apparition qui fonctionnent mal et les bugs exploitables, il est généralement plus simple d'identifier les causes et de déployer rapidement une solution. Les problèmes de latence d'entrée, de ping élevé ou de nombre d'images par seconde bas sont beaucoup plus difficiles à cerner et demandent davantage de temps. Cependant, en cas de latence d'entrée ou de ping élevé, si le problème est dû à une attaque sur nos serveurs, nous disposons de contre-mesures.
Pourquoi les enquêtes sont-elles parfois très longues ?
Il peut y avoir beaucoup de raisons ; par exemple, certains bugs sont simples à reproduire, et d'autres non. Les problèmes de chargement, comme la latence d'entrée et le ping élevé, sont les plus difficiles à cerner. Il ne faut pas oublier qu'ESO est un jeu gigantesque, et qu'il y a environ 25 millions de lignes de code à parcourir. Et il faut aussi prendre en compte les innombrables machines et pilotes qui existent, les différents types de connexion Internet autour du monde, les extensions et ainsi de suite. Tous ces facteurs rendent la chasse aux bugs beaucoup plus complexe.
De plus, il est vraiment très compliqué de reproduire en interne un serveur accueillant des centaines de milliers d'utilisateurs. En résumé, c'est très difficile !
Combien de groupes sont impliqués dans l'enquête autour de ce problème ?
De nombreuses personnes sont impliquées dans les enquêtes sur les problèmes de performances ; il y a notamment des membres des équipes BI (Business Intelligence), Community, Customer Support, Game Design, Engineering, QA et Live Services.
Est-ce que quelqu'un au sein de ZOS a réussi à reproduire le problème ?
Nous ne sommes pas parvenus à reproduire le problème de façon systématique sur les serveurs du jeu, et nous n'y arrivons pas du tout sur nos serveurs internes, car il manque certains facteurs comme le nombre d'utilisateurs. Certains de nos développeurs l'ont rencontré en jeu en même temps que les joueurs, mais nous n'avons pas été en mesure d'identifier une cause claire.
Est-ce que quelqu'un peut confirmer que le contrôle du chat par l'IA joue un rôle ?
Nous avons enquêté en profondeur afin de déterminer si cet outil pouvait avoir un impact sur les performances du jeu. Il examine les historiques de chat qui sont exportés du jeu ; il n'est pas directement intégré à ESO, et n'est jamais en contact avec les serveurs de jeu ou de chat.
Cet outil nous aide à identifier plus rapidement les préoccupations et risques potentiels dans le chat, mais ce sont nos agents qui décident si un compte doit être banni ou suspendu. Il y a des règles d'expulsion automatique pour le spam, mais toutes les sanctions de ce type sont temporaires. Nos agents passent en revue l'historique du compte au moment de chaque action automatique avant de prendre des mesures permanentes.
De plus, nous utilisons cet outil depuis quelques années et notre façon d'enregistrer les discussions du chat n'a pas changé, donc rien n'indique qu'il y ait un lien avec notre problème. La hausse des sanctions en lien avec les historiques de chat il y a quelques mois était due à un changement de procédures et à la formation de nouveaux agents, et non à l'outil en lui-même. Néanmoins, nous avons étudié la question, et nous pouvons affirmer que l'outil n'a pas eu d'impact notable sur les performances du jeu.
Quel est le processus lorsqu'un problème de performances est signalé ?
La première étape, c'est de recueillir un maximum d'informations. Le problème affecte-t-il une seule personne ou plusieurs ? Se produit-il uniquement dans une région ou une zone précise ? Sur une plateforme précise ? Pendant les heures d'affluence ? Une fois que nous disposons de toutes ces données, nous essayons de reproduire le problème en interne. En général, si nous y parvenons, nous pouvons ensuite rapidement trouver une solution.
Qu'est-ce qui a été entrepris ou fait à ce jour ?
En plus d'enquêter à partir des informations que vous nous avez fournies, nous avons surtout créé de nouveaux outils de collecte de données. Ils ne suffiront pas à résoudre le problème, mais ils devraient nous aider à mieux le comprendre.
- Au niveau du serveur, la collecte des données sur l'expérience des joueurs au sein d'une instance ou d'une région : nombre de messages par trame, quantité moyenne et maximale de données envoyées et reçues, etc.
- Au niveau du client, la prise en compte de la façon dont le jeu a été quitté : si le client est fermé avec Alt+F4 ou avec l'icône « X », la connexion est interrompue mais le serveur ne sait pas que c'est intentionnel et considère cela comme un dépassement de délai. Cette mesure nous aidera à éliminer les faux positifs.
- HeartbeatDisconnector est un message qui vérifie que le client est connecté ; il faut qu'il accepte tous les types de messages, et pas seulement les « pulsations ». Si vous recevez énormément de messages, il est peu probable mais néanmoins possible que les pulsations ne soient pas traitées et que cela entraîne une déconnexion.
- Une mesure plus précise du ping dans le client de jeu. À l'heure actuelle, la latence que nous mesurons ne correspond pas au ping réel, car elle dépend aussi du nombre d'images par seconde, des écrans de chargement et d'autres facteurs.
- Une enquête sur l'extension d'interface « Bandits », qui fait partie des 15 extensions les plus utilisées à l'heure actuelle. Un grand nombre de messages du forum suggèrent qu'elle pourrait provoquer des problèmes de latence. Notre hypothèse est que les requêtes qu'elle envoie à la carte transmettent des données arbitraires aux clients de tous les joueurs, qu'ils aient installé l'extension ou non, ce qui entraîne des problèmes de performances au niveau de la latence et du nombre d'images par seconde.