Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

Aperçu approfondi du backend de jeu – APEX Legends

Publié

Publié

Publié

dernière vérification de l'exactitude

dernière vérification de l'exactitude

dernière vérification de l'exactitude

Points Clés

Points Clés

Points Clés

  • Samy Duc, désormais directeur technique chez Respawn, lève le voile sur le backend d'Apex Legends : les serveurs, le netcode et l'infrastructure qui permettent à chaque match de fonctionner.

  • Depuis la saison 6, une superposition de performances en jeu affiche en temps réel les taux de téléchargement montant/descendant, le ping, la perte de paquets et l'engorgement (choke), transformant les plaintes vagues concernant la latence en mesures précises et exploitables.

  • Des analyses par lots hebdomadaires signalent à grande échelle le matériel défaillant ou les goulots d'étranglement du réseau, et les alertes en temps réel à venir (avec des identifiants de serveur uniques) réduiront de moitié environ les temps d'investigation et de correction.

  • Des outils avancés tels que le profilage RPROF et un système de compensation de latence basé sur le retour en arrière aident à identifier les goulots d'étranglement du processeur, à concilier la gigue (jitter), la perte de paquets et les pings variables, et à répartir équitablement les incohérences de jeu entre les joueurs.

  • Le taux de rafraîchissement (tickrate) de 20 Hz d'Apex équilibre les coûts de bande passante et de processeur par rapport à la fidélité de la simulation, troquant quelques images de délai d'entrée (input lag) contre une réplication complète de l'état du monde et un gameplay global plus riche.

Samy Duc, désormais directeur technique chez Respawn Entertainment, a partagé des informations sur le backend d'Apex Legends en 2021, mettant en lumière le fonctionnement des serveurs, du netcode et de l'infrastructure d'APEX Legends derrière chaque match. Il a ainsi fourni une analyse approfondie du modèle de Respawn pour son infrastructure en ligne.

Indirectement, cela met en évidence les meilleures pratiques que tout studio de jeux, grand ou petit, peut intégrer à son mode multijoueur pour l'aider à améliorer ses performances.

Tableau de bord des performances orienté joueur

À partir de la saison 6 (novembre 2020), l'équipe d'APEX Legends a ajouté une superposition de performances. Ce tableau de bord en jeu affiche les débits d'envoi et de réception en kilo-octets par seconde, la latence aller-retour en millisecondes, ainsi que les pourcentages de perte de paquets et de congestion (choke), transformant ainsi des plaintes vagues en données précises sur lesquelles les joueurs et les ingénieurs peuvent agir. Cela permet également aux joueurs de surveiller les pics de connexion.

En traduisant des expériences subjectives en mesures quantifiables, l'équipe de développement peut également utiliser ces informations pour cibler des problèmes tels que les goulets d'étranglement de bande passante ou la gigue (jitter) avant qu'ils ne perturbent un match. Considérez cela à la fois comme un retour immédiat pour le joueur et, à un niveau macro pour l'équipe de développement, comme des données exploitables pour améliorer les performances. Cela présente l'avantage supplémentaire d'éliminer les suppositions, car un utilisateur peut signaler « 15 % de perte de paquets et 200 ms de latence », ce qui accélère considérablement le dépannage et le déploiement de correctifs.

Notez que c'est également une stratégie adoptée par les clients d'Edgegap, notamment Rivals of Aether 2. En plus de mettre en évidence la latence pendant un match et la latence potentielle avant un match, ce système permet aux joueurs de mettre en favoris leurs emplacements de serveurs préférés et de signaler un serveur pendant un match pour aider à l'investigation des problèmes.

Passer à l'action – La mise en place de la surveillance facilite la génération de données

En coulisses, la science des données d'APEX Legends analyse une semaine entière de matchs. Les données de performance de chaque match, qu'il s'agisse des taux de perte de paquets individuels ou des temps de trame du CPU du serveur, sont agrégées et analysées afin de repérer des schémas que des équipes humaines pourraient manquer, comme un commutateur réseau défectueux dans un centre de données particulier. Cette approche s'adapte à grande échelle. Elle permet à l'équipe de détecter les problèmes systémiques avant qu'ils ne se transforment en pannes affectant l'ensemble des joueurs, et de collaborer avec les partenaires matériels pour remplacer les machines défectueuses. C'est une démarche proactive. Et en partageant des mesures anonymes et basées sur le consentement (opt-in), les joueurs contribuent à générer ces informations, sachant qu'un seul serveur défectueux peut être localisé et réparé à travers des centaines de matchs.

Un pipeline de surveillance en temps réel déclenche des notifications dès que les mesures franchissent des seuils critiques, accompagné d'un identifiant de serveur unique qui permet aux ingénieurs de localiser et de diagnostiquer la machine exacte sans avoir à corréler les horodatages. Cela signifie la fin de l'analyse manuelle des journaux d'activité (logs).

Grâce à des correctifs plus rapides, les serveurs ralentis et les incidents réseau devraient être relégués au rang de cas exceptionnels grâce à un processus simple d'itération et d'amélioration, rendant les matchs de plus en plus fluides et réactifs au fil du temps.

Serveurs au ralenti

Les serveurs au ralenti (slow-motion) se produisent encore (et continueront de se produire).

Lorsque le processeur d'un serveur ne parvient pas à terminer son cycle de simulation à 20 Hz (50 ms par tick), il commence à accumuler du retard, ce qui provoque des saccades sur l'ensemble du match pendant que le système attend que la physique, les animations et la réplication de l'état se synchronisent. Ce décalage est particulièrement pénible.

Respawn retire activement le matériel sous-performant, comme les machines souffrant de surchauffe, de processeurs sous-cadencés ou de composants défectueux, afin de maintenir un parc de serveurs qui répond constamment aux objectifs de performance. Les futures mises à jour visent à réduire ces événements. Des alertes en temps réel et des analyses prédictives permettront de détecter les baisses de performance avant qu'elles n'impactent le jeu, de sorte que les matchs au ralenti deviennent des exceptions rares plutôt que des frustrations hebdomadaires.

Le Wi-Fi – Le pire ennemi de la latence

La gigue et les pics de latence peuvent être difficiles à cerner. Alors que les utilisateurs de Wi-Fi peuvent être confrontés à des variations de ping imprévisibles, même les joueurs connectés par câble peuvent subir des ralentissements lorsque les processus du serveur introduisent des retards. Jusqu'à présent, les ingénieurs devaient recréer les conditions sur des bancs d'essai pour identifier les goulets d'étranglement.

Cela change avec le profilage RPROF. En enregistrant un journal détaillé de chaque tâche du serveur (calculs de trajectoire, E/S réseau, simulations physiques), les fichiers RPROF montrent exactement quelles opérations accaparent les cycles du processeur afin que les développeurs puissent optimiser les nouvelles fonctionnalités avant qu'elles ne dégradent les performances. C'est comme une radiographie. Cela aide l'équipe à réduire la latence dans chaque recoin du code, garantissant que les nouvelles légendes, armes et capacités arrivent sans ralentissements inattendus.

Pourtant, tous les jeux n'ont pas la possibilité de s'affranchir du Wi-Fi, car certains matériels comme la réalité virtuelle sont conçus pour être utilisés sans fil. Si vous êtes un développeur VR, assurez-vous de lire le guide d'Edgegap sur comment minimiser la latence dans les jeux VR multijoueurs et les projets XR.

Perte de paquets

La perte de paquets n'est pas toujours de la faute du développeur.

Le trafic Internet traverse de multiples fournisseurs d'accès (FAI) et points d'interconnexion (peering), et lorsque des paquets disparaissent, que ce soit sur votre réseau domestique, entre des fournisseurs de réseau de transit, ou au sein d'une liaison de centre de données, cela perturbe le flux d'entrées et de mises à jour qui maintient tous les joueurs synchronisés.

Retracer l'origine du problème demande énormément de travail, comme l'a souligné l'équipe de Respawn. L'équipe collecte des traces réseau auprès des joueurs et effectue des tests depuis le centre de données, puis négocie avec des fournisseurs tiers pour réparer les liaisons d'interconnexion défaillantes ou les routeurs encombrés.

Heureusement, il existe des services d'orchestration d'hébergement de serveurs de jeux comme Edgegap qui s'occupent de toute cette logistique pour vous. En orchestrant l'hébergement de serveurs de jeux multijoueurs à la demande sur l'ensemble de ses plus de 615 emplacements à travers le monde (le réseau sans région le plus vaste et le premier au monde) à travers plus de 17 fournisseurs. Profitez d'une réduction moyenne de la latence de plus de 58 % et d'une augmentation de l'équité de 28 %.

Si Respawn a les moyens de financer des équipes DevOps, des ingénieurs et des responsables commerciaux pour négocier avec les fournisseurs grâce à ses liens avec Electronic Arts, désormais, tous les studios peuvent y accéder.

Ping

Concilier différents pings est un art. Le système de compensation de latence d'APEX Legends rembobine l'état du monde pour chaque tir, fusionnant ce que les joueurs à ping élevé et à ping faible ont vu au moment du tir pour déterminer les impacts d'une manière qui répartit les situations aberrantes de façon équitable, plutôt que de favoriser systématiquement les utilisateurs à faible latence. Aucune solution n'est parfaite. Des joueurs avec un ping de 300 ms peuvent se faire tirer dessus alors qu'ils sont à l'abri, tout comme les joueurs à faible ping se sentent parfois injustement vulnérables lorsque le décalage fausse leur perception, mais le système veille à ce que ces anomalies s'équilibrent avec le temps. C'est un choix délibéré. Cela signifie que les joueurs en zones rurales ou à l'international ne sont pas laissés de côté par un netcode qui ne donnerait la priorité qu'aux connexions les plus rapides.

Rollback (Retour arrière)

Il arrive encore parfois que des tirs ne soient pas enregistrés. Que ce soit à cause d'erreurs de prédiction, de particularités du moteur physique ou d'une désynchronisation réseau passagère, vous pouvez voir du sang et entendre des effets sonores localement sans qu'aucun dommage ne s'affiche sur le serveur. C'est frustrant.

Respawn développe des outils de détection automatisés qui signalent les écarts dans les hitboxes et les trajectoires, tout en s'appuyant sur les clips vidéo envoyés par les joueurs pour découvrir des bogues qui n'apparaissent que lors des matchs en direct. Les boucles de rétroaction sont essentielles. Lorsque vous signalez un tir non enregistré en y joignant vos statistiques de performance, cela accélère le processus d'identification et de résolution de la cause profonde pour tout le monde.

Si vous envisagez d'ajouter le rollback, n'hésitez pas à en savoir plus sur le Rollback dans notre article dédié.

Tickrate et optimisation

Le tickrate est une question d'équilibre. En effet, si passer de 20 Hz à 60 Hz permettrait de réduire la latence d'entrée de réseau d'environ cinq images à trois, cela triplerait également l'utilisation de la bande passante (c'est-à-dire la sortie réseau/egress), passant d'environ 60 Ko/s à 180 Ko/s, et exigerait beaucoup plus de ressources processeur pour simuler et répliquer les états complets du monde.

Ce coût supplémentaire n'est pas négligeable.

Le modèle basé sur les instantanés (snapshots) d'APEX Legends sauvegarde les états complets du jeu à chaque tick, prenant en charge des capacités globales et des interactions complexes qui souffriraient si la bande passante était limitée par des tickrates plus élevés. Les gains marginaux semblent minimes. L'équipe soutient que ces deux images d'amélioration ne l'emportent pas sur les avantages de simulations d'une fidélité totale et d'exigences réseau moindres pour une base de joueurs mondiale et diversifiée.

Cet article s'inspire et cite l'article original de Sammy Duc publié sur le blog officiel d'EA. Tous les droits sur le contenu original appartiennent à leurs propriétaires respectifs.

Écrit par

Gabriel Parent (Directeur) & notes de Jakub Motyl (Produit)

Intégrer Edgegap facilement en quelques minutes

Commencez l'intégration maintenant!

Commencez l'intégration maintenant!

Intégrer Edgegap facilement en quelques minutes