211service.com
'C'est tout simplement impossible': les développeurs expliquent pourquoi les gros jeux en ligne semblent toujours se casser au lancement
Entre le lancement fragmenté de Hymne , le lancement surprise d'Apex Legends et le lancement prochain de La division 2 , début 2019 regorge de gros jeux en ligne. Comme l'ont démontré les derniers jeux de BioWare et d'innombrables jeux avant lui, les jeux multijoueurs de cette envergure se lancent rarement dans un état brillant. Il semble que chaque jeu en ligne ait quelques des problèmes techniques au lancement, qu'ils soient mineurs, comme les bogues de la première semaine dans Apex Legends, ou des briseurs de jeu, comme les problèmes de connexion qui ont initialement paralysé Diable 3 .
Nous avons eu des lancements difficiles depuis que nous avons des jeux en ligne, mais il semble que la conversation autour des problèmes de lancement n'ait pas vraiment abouti. Nous voyons les mêmes questions apparaître à chaque fois. Pourquoi est-ce arrivé? Pourquoi les développeurs n'ont-ils pas anticipé cela ? Pourquoi a-t-il fallu si longtemps pour réparer ? Avec autant de grands jeux en ligne sortis si proches les uns des autres, avec la montée en puissance des jeux en tant que service dans l'industrie, le moment semblait maintenant être le bon moment pour poser certaines de ces questions aux développeurs dans l'espoir de démystifier le redoutable temps d'arrêt du jour du lancement. Pourquoi continuons-nous à rencontrer les mêmes problèmes lors du lancement des jeux et comment les développeurs les gèrent-ils ?
'La capacité est très rarement le problème'

Chaque fois que les jeux tombent en panne ou sont lents à se connecter, beaucoup supposent que c'est parce qu'ils ont manqué d'espace serveur. Que les développeurs ont sous-estimé le nombre de joueurs qui se connecteraient et que, par conséquent, leurs serveurs ont cédé sous la pression. Dans ce cas, tout ce qu'ils ont à faire est de payer pour plus de serveurs, n'est-ce pas ? Eh bien, non, pas nécessairement; comme c'est souvent le cas lors de la création de jeux, ce n'est pas si simple.
'L'un des états d'esprit que vous voyez souvent en ligne est:' Pourquoi la société A n'a-t-elle pas plus de serveurs? ', nous explique Alex Mann, responsable du développement et ancien analyste QA chez EA. 'Au lancement, vous voyez le plus grand trafic sur ces jeux. Tout le monde a été excité, l'équipe marketing a bien fait son travail, tout le monde est vraiment excité à l'idée de se connecter, et au moment où le jeu apparaît, tout le monde clique sur 'Go'. Mais vous remarquerez qu'avec le cycle de vie de la plupart des jeux, vous avez cette rafale massive, puis elle s'arrête. Si toutes les sociétés de jeux achetaient le matériel pour couvrir tout ce dont elles avaient besoin au cours de cette première rafale, deux semaines plus tard, elles auraient 50 % de leur matériel qui n'aurait jamais été utilisé.
'Ce n'est pas à propos de 'Mettons-y beaucoup d'argent et agrandissons-le.''
Alex Mann
Il est donc difficile pour les développeurs de se préparer au lancement sans dépenser trop et acheter trop les serveurs. Heureusement, les développeurs ont désormais accès à des serveurs virtuels via des sociétés comme Amazon Web Services, et ceux-ci peuvent être activés ou désactivés selon les besoins. Ces types de serveurs sont également devenus nécessaires lorsque les jeux se sont éloignés des connexions peer-to-peer – le type qui prenait en charge des jeux comme Halo 2 en 2004 – vers des serveurs dédiés qui supportent des jeux massifs et persistants comme Destin 2 et Hymne. Cependant, les serveurs virtuels ne sont pas un remède miracle et ils ont leurs propres problèmes.

'La capacité n'est pas nécessairement liée au nombre de serveurs', explique Mann. «Même si nous attendons des millions de joueurs et que nous avons les serveurs, nous ne nous attendons pas à ce qu'ils accèdent tous à ce portail de connexion en même temps. Il s'agit d'avoir suffisamment de voies sur l'autoroute pour que les gens puissent passer. Vous avez deux pays connectés via un pont, et les deux pays ont des tonnes d'espace dessus, mais pour passer du pays client au pays serveur, quelle est la taille de ce pont ? Il ne s'agit pas de 'Injectons beaucoup d'argent dessus et agrandissons-le'. En fin de compte, c'est souvent un goulot d'étranglement basé sur la technologie et le moteur que vous utilisez.
Erreur commune 
Une idée fausse que Mann voit souvent concerne le fonctionnement des équipes de développement - en particulier, l'idée que n'importe qui peut réparer n'importe quoi.
'Lorsque vous avez affaire à des bases de code complexes couvrant plusieurs fichiers créés par 200 personnes, si je regarde mes codeurs et qu'ils ont construit cela, le codeur A ne connaît pas l'intégralité du projet', explique-t-il. 'Il y a ce concept que tout le monde sait tout sur le code du jeu, donc l'artiste de niveau devrait aider avec le correctif de l'architecture de niveau. Vous savez, les community managers ne corrigent pas les bugs.
J'ai entendu la même chose de Fredrik Brönjemark, directeur des services en direct chez Massive Entertainment, le studio derrière The Division. 'Les grands jeux en ligne sont des logiciels extrêmement complexes, qui reposent sur une infrastructure de serveurs en ligne massive pour les prendre en charge', explique Brönjemark. 'En plus de cela, vous avez également la couche supplémentaire de services de première partie, il y a donc beaucoup de façons différentes dont les choses peuvent mal tourner !' Pour nous sur The Division, les principaux types d'incidents pouvant entraîner des temps d'arrêt ou des problèmes de connectivité étaient l'instabilité du logiciel de jeu exécuté sur les serveurs ou les problèmes de fournisseur d'hébergement. Le manque de capacité du serveur est très rarement le problème. Sur The Division 2, nos serveurs évoluent automatiquement en fonction du nombre de joueurs souhaitant jouer au jeu.'
Un certain nombre de choses peuvent mal tourner le jour du lancement, et le plus souvent, le nombre de joueurs est relativement faible sur la liste de surveillance. Il pourrait y avoir une fuite de mémoire, une ligne unique mais catastrophique de code incorrect, ou un point de décalage enfoui quelque part dans l'énorme pipeline du serveur. Un jeu peut avoir un problème avec un certain FAI ou, comme l'a mentionné Brönjemark, les services propriétaires sur lesquels repose un jeu peuvent tomber en panne. Le problème peut être n'importe où, mais peu importe où il se trouve, c'est le problème de tout le monde. Personne n'est une île quand il s'agit de jeux en ligne, et cela peut rendre la réponse aux problèmes incroyablement difficile et chronophage.
'Chaque lancement est différent'

Tous les développeurs à qui j'ai parlé ont décrit un processus de triage similaire pour résoudre les problèmes. Mann a offert un aperçu de ce à quoi pourrait ressembler un correctif du début à la fin. Tout d'abord, un développeur doit passer au crible les symptômes du problème pour identifier la cause réelle. Ensuite, ils font venir les personnes responsables de ce domaine du jeu pour trouver une solution. Est-ce quelque chose qu'ils peuvent mettre à jour de leur côté ou doivent-ils publier un correctif ? Une fois qu'ils auront trouvé une solution, ils devront la tester pour s'assurer qu'elle ne casse rien d'autre, surtout s'il s'agit d'un patch.
'Il y a une vérification avant que quoi que ce soit ne soit mis en ligne', explique Mann. 'Il y a beaucoup de va-et-vient avec les détenteurs de plates-formes [comme Sony et Microsoft] pour s'assurer que nous travaillons ensemble vers le succès ; nous devons passer par des étapes d'assurance qualité. Et pendant que nous traversons ce patch, si nous réagissons par réflexe et corrigeons cela maintenant, mais qu'une demi-heure plus tard, nous devons faire un deuxième patch le même jour, ça va être un gâchis. Nous devons donc dire : « Nous faisons ce patch ; quels autres problèmes critiques pouvons-nous résoudre dans le cadre de cela ? Qu'est-ce qui ne va pas ? Vous ne pouvez pas simplement faire un patch en une demi-heure. Vous devez vous assurer que vous êtes intelligent dans la façon dont vous corrigez ce contenu.
Une fois que tout cela est fait, si l'univers le permet, les développeurs peuvent faire passer le patch et commencer à le surveiller et à communiquer ses effets via leurs canaux sociaux. Mais 'il n'y a pas une demi-heure de tour', dit Mann, ajoutant, 'il y a peut-être des centaines de personnes qui vont toucher ça avant qu'il ne s'éteigne'.

Frank Sanchez, un ancien représentant de la communauté BioWare et Gazillion Entertainment avec une expérience en ingénierie, connaît bien ce paradigme. En tant que personne qui a passé beaucoup de temps à rassembler les réponses et à rédiger des notes de mise à jour, il a vu les deux côtés du processus de mise à jour, des commentaires des joueurs à la soumission des correctifs. Il sait également mieux que quiconque à quel point les correctifs peuvent devenir compliqués et à quel point les problèmes de lancement peuvent être frustrants pour les joueurs et les développeurs.
'Nous sommes les dernières personnes à vouloir voir un serveur monter, puis deux heures plus tard, si mal que les gens ne peuvent pas se connecter', explique Sanchez. 'Je vous garantis que si [les développeurs] mettent un serveur en place pour une version bêta et qu'il ne fonctionne pas correctement, c'est probablement à la fin de quelqu'un qui a mis du temps au-delà de ce qu'il était déjà en train de croquer pour le mettre dans un état où il pourrait se lancer. Donc, quand quelqu'un en ligne dit 'Eh bien, il est juste paresseux', c'est complètement et de manière flagrante faux. Le travail est mis en place, le défi est de savoir comment répondre aux problèmes et communiquer aux joueurs quand ils se produisent. C'est une science imparfaite… chaque lancement est différent. Même si deux jeux sont développés sur Unity ou autre, même si le genre est le même, le processus est différent. Vous ne pouvez pas dire 'Ce jeu était bien, quel est le problème avec ce jeu', car il y a beaucoup d'unicité dans chaque jeu.'
Vous ne pouvez pas dire 'Ce jeu était bien, quel est le problème avec ce jeu', car il y a beaucoup d'unicité dans chaque jeu.
Franck Sanchez
Les commentaires de Sanchez touchent à une autre question courante qui surgit au moment du lancement : pourquoi n'avez-vous pas anticipé cela ? Peut-être que le jeu X a rencontré des problèmes il y a quelques mois. Les développeurs du jeu Y pourraient sûrement voir cela et prendre des mesures pour éviter ces mêmes problèmes, n'est-ce pas ?
Mis à part les différences entre les jeux individuels, tous ceux à qui j'ai parlé ont dit que certains problèmes ne pouvaient pas être anticipés. Les tests internes ne peuvent pas faire grand-chose, et ils ne peuvent jamais vraiment se comparer au lancement d'un jeu.
'Il n'y a tout simplement pas de simulation pour le live'

'Vous ne pouvez pas planifier de [joueurs simultanés] en direct', poursuit Sanchez. 'C'est tout simplement impossible. Il n'y a pas de substitut. J'ai vu toutes les méthodes de stress tester quelque chose en interne avant de le publier, et il n'y a tout simplement pas de simulation pour le live.
C'est là que les tests de résistance et les périodes bêta de pré-lancement entrent en jeu. Ils ne sont pas parfaits, mais ils sont le meilleur moyen d'évaluer à quoi ressemblera le lancement d'un jeu et ce qui doit être corrigé avant les heures de grande écoute. 'Les bêtas sont extrêmement utiles', déclare Mann. 'Vous ne pouvez pas obtenir la taille et l'échelle que vous obtenez avec un test bêta en interne. Vous ne pouvez tout simplement pas embaucher autant de personnes pour accéder à vos serveurs. La meilleure façon de tester en direct est d'être en direct. Si vous regardez beaucoup d'alphas et de bêtas, il y a ce concept qu'il n'y a pas assez de serveurs, qu'il y a des bogues et d'autres problèmes, mais en une semaine, ils ont été triés et la dernière version ou la version finale n'a pas ces problèmes . C'est uniquement parce qu'il a été expérimenté [en direct] et étudié pendant ces bêtas.
'Récemment, un studio a lancé une version bêta de son jeu et un groupe de mes amis s'est empressé de jouer, et ils ont rencontré un bug où ils sont bloqués dans le didacticiel car un élément clé n'est pas apparu sur le serveur', raconte Mann. moi, notant à quel point il peut être difficile d'anticiper les failles dans le lancement d'un jeu en ligne. 'Je garantis que dans tous les tests d'assurance qualité sur ce jeu, cet élément était toujours là. La seule façon de le trouver est de tester ce flux à grande échelle. Je soupçonne que ces gars-là sont maintenant bien conscients de cela et de tout ce problème pour le résoudre pour le lancement, tout cela à cause de ce travail bêta.
Vous ne pouvez pas tout réparer

Si les bêtas sont si géniales, pourquoi les développeurs n'en détiennent-elles pas plus, et pourquoi ne pas les conserver des mois avant le lancement ? Comme c'est souvent le cas dans les jeux, la technologie et le temps ne permettent pas toujours aux développeurs de faire exactement ce qu'ils veulent faire. En raison de la façon dont la plupart des jeux sont créés, ils ne se réunissent qu'à la fin, ce qui explique généralement pourquoi les bêtas semblent si proches du lancement. Et peu importe ce que les développeurs apprennent d'une version bêta, quels que soient les problèmes qu'elle peut révéler, ils ne peuvent pas retarder de manière réaliste leur jeu en réponse à ceux-ci. Un fournisseur de services Web ne souhaite pas qu'une équipe rate la date de démarrage de son serveur, pas plus qu'un éditeur ne souhaite rater sa date de lancement. C'est pourquoi, tout comme certains problèmes ne peuvent pas être anticipés, certains bogues ne peuvent tout simplement pas être corrigés à temps pour le lancement.
Les bêtas de Division 2 
le Division 2 bêta Le calendrier était assez complet, avec des bêtas privées et ouvertes ainsi qu'un test de résistance plus ciblé. Tous les jeux ne peuvent pas basculer cela, mais ceux qui le font bénéficient énormément de ce que Brönjemark appelle la «répétition finale». Sa première bêta ouverte est prévue du 1er au 4 mars, deux semaines après le lancement.
'J'adorerais expédier sans bogues', considère Sanchez, un commentaire que vous entendrez de tout développeur qui a traversé l'enfer et est revenu pour expédier un produit. Mais n'importe quelle équipe vous dira que c'est très difficile à faire. C'est juste la réalité. La liste des choses qui doivent être corrigées est en constante évolution. Vous devez comprendre qu'en ce qui concerne les bogues, il y a des bogues qui sont potentiellement expédiés et il y a des bogues découverts après le lancement. Tout cela doit être priorisé, planifié et discuté. C'est du triage. Les lancements les plus chanceux sont ceux qui ont des bugs mais qui n'ont pas de bugs paralysants.
En plus de cela, la création d'une version bêta peut être une tâche longue et laborieuse en soi. Les développeurs ne peuvent pas simplement pirater une partie de leur jeu et la télécharger sur Xbox Live ou sur le PlayStation Network. Les bêtas sont souvent développées séparément (mais en tandem avec) un jeu, ce qui prend plus de temps et d'argent. C'est pourquoi des problèmes qui ont été résolus depuis longtemps dans la version principale d'un jeu peuvent toujours être présents dans sa version bêta. Nous l'avons vu dans les démos d'Anthem et dans la dernière version bêta de The Division 2, par exemple.

'Assez souvent, j'entends des gens dire qu'ils pensent que les tests bêta ne sont que des campagnes de marketing, et que les développeurs ne peuvent rien apprendre d'eux de toute façon car le jeu est déjà terminé à ce stade', me dit Brönjemark. « J'aimerais dissiper ce mythe. Même lorsque le jeu est déjà imprimé sur disque et que le patch du premier jour est déjà terminé, il y a encore énormément de choses que nous sommes capables de régler côté serveur, à la fois en termes de technologie mais aussi en termes de gameplay et d'équilibrage. .'
D'un autre côté, dit Sanchez, 'les calendriers de publication et les délais de développement de jeux sont très agressifs, parfois trop agressifs'. Quand quelque chose est-il expédié, combien de financement vous reste-t-il, depuis combien de temps êtes-vous en développement. Parfois, le succès du lancement dépend vraiment du nombre de fois où vous avez dû repousser vos jalons, combien de fois avez-vous retardé votre lancement parce que vous aviez quelque chose à peaufiner. Certains jeux ne peuvent être livrés qu'avec une certaine quantité de vernis. Vous ne pouvez pas dire que c'est complètement et parfaitement bien une fois qu'il est devenu or. Il y a des cas dans lesquels un jeu sera livré dans un état prêt pour le lancement, mais il peut y avoir un peu de peaufinage à faire.
Un lancement est plus qu'un jour

Les développeurs et les joueurs veulent tous deux que leurs jeux fonctionnent parfaitement la première fois qu'ils les lancent, mais la réalité du développement de jeux est qu'il y a tellement de pièces mobiles et tellement de limitations inamovibles que certains problèmes sont obligés de passer entre les mailles du filet, et le les chances que cela augmente à mesure que les jeux deviennent de plus en plus gros. Sanchez estime que c'est pourquoi nous devons examiner des lancements comme ceux-ci de manière holistique. La performance d'un jeu le jour du lancement est importante, mais ce n'est pas tout.
'Ce ne sont pas les problèmes, ceux-ci vont toujours arriver', déclare Sanchez. «C'est la façon dont vous abordez ces problèmes. Si vous êtes lent ou si vous ne les adressez pas correctement, ou si vous êtes hostile envers vos joueurs, cela leur restera. S'il y a une chose que j'aimerais que les joueurs comprennent, c'est que les problèmes surviennent, quelle que soit la manière dont vous les planifiez. Vous devez tenir les développeurs responsables de la manière dont ils reçoivent une réponse. Si vous rencontrez un problème une semaine après votre lancement, mettez les pieds sur le feu et dites 'Hé, je n'ai pas une bonne expérience, c'est pourquoi, je crains que ces problèmes ne soient pas résolus'. Ce sont les choses dont nous voulons entendre parler.
Les problèmes surviennent, quelle que soit la qualité de votre planification.
Franck Sanchez
Aucun jeu ne se lance parfaitement. Cela n'arrive tout simplement pas. Comme le dit Sanchez, 'tout ce que vous considérez comme un lancement en douceur est juste quelque chose qui n'a jamais atteint le niveau où un joueur a perçu que quelque chose n'allait pas'. Il y a toujours du brouillage dans les coulisses. Mann l'a décrit comme un groupe de développeurs entassés dans une ' salle de guerre ' regardant un mur de moniteurs à la recherche de commentaires et de problèmes potentiels. Parfois, ils détectent ces problèmes tôt, parfois ils ne se présentent pas avant quelques heures, et parfois ils ne peuvent pas être résolus avant quelques heures ou même quelques jours.
Le fait est que les jeux en ligne massifs auront toujours des problèmes techniques au lancement. Enfer, tous les jeux modernes ont des problèmes au lancement. C'est juste la nature de la technologie d'aujourd'hui et de l'industrie d'aujourd'hui. Cela ne signifie pas que les joueurs doivent aveuglément donner un laissez-passer aux jeux qui sont repoussés avec une conception catastrophique ou d'autres problèmes, mais cela met le lancement moyen en perspective. Un jeu peut avoir des problèmes mineurs que nous ne remarquons même pas ou il peut avoir des briseurs de jeu évidents. Dans tous les cas, tout ce que tout le monde peut faire, c'est espérer le meilleur, se préparer au pire et signaler les problèmes lorsqu'ils surgissent inévitablement.