Accueil Jeux Comment éviter les problèmes d’infrastructure de réseau et de serveur pendant le...

Comment éviter les problèmes d’infrastructure de réseau et de serveur pendant le cycle de développement ?

512
0

Mathieu Duperré, PDG, Edgegap

Que vous soyez un développeur indépendant ou un éditeur AAA, créer des jeux n’est jamais simple. Faire passer un projet de jeu du concept initial au lancement est une entreprise énorme, surtout lorsque vous commencez à incorporer des éléments multijoueurs et sociaux. En dépit de budgets exorbitants et d’énormes équipes de développeurs, d’innombrables jeux tombent à plat à leur sortie.

Heureusement, la plupart des obstacles courants peuvent être facilement évités et les perturbations de votre calendrier de sortie réduites au minimum si vous êtes conscient des problèmes potentiels d’infrastructure de réseau et de serveur aux étapes clés du développement : le cycle de développement principal, le pré-lancement, la période de lancement elle-même et une fois le jeu lancé.

Problèmes pendant le cycle de développement principal

Certains des problèmes les plus courants que vous rencontrerez du côté technique du cycle de développement principal peuvent être le résultat de.. :

  • Des pipelines CI/CD imparfaits ou précipités. Il faut parfois des jours pour pousser une nouvelle version à tester, alors que vous devriez être en mesure de lancer quelques versions par jour.
  • Les équipes de développement s’occupent de trop de choses en interne plutôt que de faire appel à une aide extérieure (netcode, moteur de jeu, services backend).
  • Essayer d’économiser des fonds par le biais de projets open-source qui finissent par devenir obsolètes, ne sont plus supportés pendant le cycle de développement ou finissent par devenir des gouffres à fric.
  • Les développeurs attendent la fin du lancement pour se concentrer sur des éléments importants comme le crossplay.
  • Les équipes d’assurance qualité n’ont pas un accès constant à la version du jeu.

L’une de ces situations vous semble-t-elle familière ? Si c’est le cas, il est peut-être temps de repenser votre stratégie de base et de vérifier si vous adhérez à la méthodologie DevOps. Avez-vous une approche structurée ou êtes-vous en train de vous égarer et de dévier de votre route ?

Si le développement en interne de votre propre code réseau et de votre propre moteur de jeu peut sembler attrayant, il est important de prendre en compte les risques potentiels qui peuvent apparaître plus tard. Si des problèmes avec votre netcode ou un moteur de jeu propriétaire se présentent à un stade particulièrement chargé du développement, vous regretterez de ne pas les avoir externalisés.

Envisager de confier certains aspects du développement à des partenaires externes peut contribuer à réduire la charge de travail de votre équipe et à améliorer son efficacité afin qu’elle puisse se concentrer sur des questions plus urgentes.

Les erreurs à éviter juste avant le lancement

L’une des plus grosses erreurs que vous pouvez faire juste avant le lancement ? Sous-estimer votre CCU (utilisateurs simultanés dans le monde) et utiliser un faible pourcentage de tampon d’environ 10%. Une mauvaise estimation de votre CCU va mettre trop de pression sur vos serveurs et sur l’ensemble des services backend et c’est l’une des raisons les plus courantes pour lesquelles les joueurs ont des plantages au moment du lancement. De même, ne sous-estimez pas le nombre de régions dans lesquelles vous aurez besoin de serveurs. Le lancement d’un jeu à l’échelle mondiale nécessite une répartition égale des serveurs dans le monde entier pour éviter les problèmes de latence.

En ce qui concerne les serveurs, il est toujours préférable de planifier à l’avance et de réduire les dépenses, plutôt que l’inverse. Privilégiez les partenaires réseau qui proposent des options de paiement à l’utilisation pour l’accès aux serveurs, de sorte que si vous devez réduire (ou augmenter) votre capacité, vous pouvez le faire facilement. Cette option devrait toujours être privilégiée et vous évitera d’être facturé pour des serveurs que vous n’utilisez pas. Il est important d’être conscient des risques associés à la surestimation, car cela peut conduire les studios à signer des contrats à long terme et, en fin de compte, à être surdotés en ressources.

Lire aussi:  Boulies lance sa série Master ultra-luxueuse de chaises de jeu et de bureau en polyuréthane Ultraflex et en tissu hydrofuge.

Enfin, les lois sur la protection des données sont un problème qui peut causer beaucoup d’ennuis aux développeurs et aux studios. J’ai entendu beaucoup d’histoires d’horreur sur les studios qui ferment les yeux sur les lois sur la protection de la vie privée telles que le règlement général sur la protection des données (RGPD) et la loi californienne sur la protection de la vie privée des consommateurs (CCPA). Assurez-vous d’avoir vérifié les règles spécifiques concernant la collecte de données dans votre région le plus tôt possible pour éviter une course effrénée à la paperasse vers la fin du développement ou, pire, d’encourir des amendes coûteuses.

Obstacles le jour du lancement

Il peut être facile de penser que vous avez traversé le pire une fois le jour du lancement atteint, mais c’est généralement à ce stade que des problèmes majeurs peuvent soudainement apparaître. Vous pouvez remarquer un bombardement de réponses négatives sur Twitter, Steam et d’autres plates-formes concernant des problèmes critiques du jeu – assurez-vous de les traiter plutôt que de les ignorer. Ces réponses peuvent être des indicateurs importants de la façon dont les joueurs réagissent à votre jeu et si vous avez pris en compte leurs commentaires dans la phase de développement.

Une fois le jeu lancé, vous aurez l’indication la plus claire du nombre de serveurs dont vous aurez besoin pour soutenir les joueurs. C’est à ce moment-là que votre planification s’avérera correcte ou non, si vous aviez réservé 1000 serveurs alors que vous n’en avez besoin que de 200.

Un plan d’assistance 24 heures sur 24 et 7 jours sur 7 est un élément important à prendre en compte lorsque le jeu est en ligne, ce qui permettra d’apporter des solutions rapides pour éviter autant de perturbations que possible. Une solution DDoS peu coûteuse est également une facette cruciale à prendre en compte. Un orchestrateur de serveurs aidera les développeurs à gérer l’afflux de trafic tout en capturant des données cruciales qui pourront être intégrées au jeu dans le cadre de la phase d’observabilité.

Problèmes après le lancement

Maintenant que votre jeu est dans le monde, la tentation peut être grande d’introduire une pléthore de nouveaux éléments dans le jeu pour améliorer l’expérience du joueur. Si, à première vue, ce sont de bonnes idées, les nouveaux mods ou les mises à jour mineures peuvent s’avérer problématiques et contenir des bogues majeurs. Répondre à ces nouveaux problèmes peut être source de distraction et prendre des semaines, voire des mois, pour être résolu.

En plus de cela, si vous n’avez pas correctement planifié plus tôt dans le processus, les mises à jour majeures de vos serveurs de jeu peuvent potentiellement entraîner des problèmes de maintenance et des temps d’arrêt importants pour votre base de joueurs. Si les joueurs ont une mauvaise expérience lors du lancement, ils passeront probablement à la prochaine meilleure chose. Lorsque EA a lancé Battlefield 2042Des problèmes de serveur, des temps de chargement et des bogues qui cassent le jeu sont apparus. En quelques mois, le nombre de joueurs est tombé à moins de 1 000 joueurs simultanés sur Steam.

Lire aussi:  Ouverture d'un nouvel hôtel de la marque MGM à Shanghai

Bien sûr, il existe un certain nombre de moyens de contourner ces problèmes. Il est essentiel de choisir un backend capable de prendre en charge les tests A/B en multi-version et de faciliter les mises à jour sans interruption de service. Il serait difficile de trouver un joueur qui apprécie un jeu injouable. L’automatisation peut également être utile dans le pipeline de production, notamment en déployant des mises à jour et des mises à niveau rapides qui réduiront le facteur d’erreur humaine.

Une autre considération qui est souvent négligée est l’externalisation pour les fournisseurs de réseaux et de plates-formes afin de supprimer une grande équipe interne dédiée au DevOps ou à l’ingénierie. Il s’agit d’un travail intensif qui prendra le temps du personnel, et l’externalisation est une option viable et il est parfaitement logique pour les petits studios, en particulier pour poursuivre cette option purement dans une perspective d’économie de coûts.

Faire compter le bord

L’informatique de périphérie est souvent négligée par les développeurs de jeux, mais elle peut atténuer bon nombre des problèmes décrits ici, notamment en ce qui concerne le provisionnement des serveurs et les problèmes de latence. La technologie Edge rapproche le calcul et le stockage des données de la source des données, en les plaçant à la périphérie du réseau, là où le gain de performance est le plus optimal. Cela permet de réduire les déplacements inutiles et d’accélérer considérablement le processus, ce qui se traduit par une expérience presque sans décalage.

Si vous envisagez le cross-play pour votre jeu, les exigences en matière d’infrastructure deviennent plus complexes. L’Edge Computing permet d’éliminer certains des problèmes de retard les plus tenaces liés au jeu sur différentes plateformes. À mesure que le cross-play devient plus important pour les développeurs, l’Edge Computing et l’automatisation peuvent devenir l’une des solutions à certains des problèmes associés. Les développeurs doivent tenir compte de la partie automatisation de l’équation lorsqu’ils planifient leur projet de jeu. Cela devient encore plus vital lorsque vous ajoutez des éléments dépendant de la latence à un jeu.

Échouer à planifier, planifier pour échouer

Il n’existe pas d’approche unique pour le développement de jeux ou les défis qui y sont associés. Mais en prenant certaines des mesures décrites ci-dessus, vous pouvez contribuer à neutraliser les problèmes potentiels et à en atténuer l’impact, évitant ainsi de faire dérailler un jeu avant même son lancement.

De petites mesures comme faire confiance à des partenaires externes ou s’intéresser à des technologies comme l’Edge Computing pour tirer le maximum de performances de votre jeu peuvent sembler minimes, mais leur impact sur le développement ne doit pas être sous-estimé.

En prévoyant différentes éventualités à des étapes clés du développement, vous vous assurez que votre jeu sera le meilleur possible au moment du lancement. Vous donnerez ainsi à votre jeu les meilleures chances de devenir un succès durable, et non un feu de paille entaché de problèmes de serveur ou de bogues.

L’aspect logistique de la création d’un jeu n’est peut-être pas toujours prestigieux ou excitant, mais il est inévitable. Si votre pipeline de développement est affecté par des problèmes de serveur, vous serez heureux d’avoir planifié votre projet.

Article précédentLe Silver Lion Feature Ball de Lightning Box entre en action
Article suivantLe partenaire de PharmaMar lance le programme d’utilisation compassionnelle de Zepzelca à Hong Kong.