
Aperçu approfondi du backend de jeu – APEX Legends
Samy Duc, maintenant directeur technique chez Respawn, lève le voile sur le backend d'Apex Legends—serveurs, netcode et infrastructure qui maintiennent chaque match en cours.
Depuis la Saison 6, un overlay de performance en jeu montre les taux d'upload/download, le ping, la perte de paquets et le choke en temps réel, transformant les plaintes vagues de lag en métriques précises et exploitables.
Les analyses de lot hebdomadaires signalent le matériel défectueux ou les goulets d'étranglement réseau à grande échelle, et les alertes en temps réel à venir—avec des ID de serveur uniques—réduiront les temps d'investigation et de réparation d'environ la moitié.
Des outils avancés tels que le profilage RPROF et un système de compensation de lag basé sur le rewind aident à identifier les goulets d'étranglement CPU, à concilier le jitter, la perte de paquets et les pings variés, et à répartir équitablement le « non-sens » entre les joueurs.
Le taux de tick de 20 Hz d'Apex équilibre les coûts de bande passante et de CPU par rapport à la fidélité de simulation—échangeant quelques images de délai d'entrée pour une réplication complète de l'état du monde et un gameplay global plus riche.
Samy Duc, maintenant Directeur Technique chez Respawn Entertainment, a donné un aperçu de Apex Legends backend en 2021, mettant en lumière comment les serveurs, le code réseau et l'infrastructure d'Apex Legends fonctionnaient derrière chaque match. Fournissant un aperçu détaillé du plan de Respawn pour son infrastructure en ligne.
Indirectement, cela souligne les meilleures pratiques que tout studio de jeu, grand ou petit, peut ajouter à leur multijoueur pour aider à améliorer ses performances.
Tableau de Performance Vis-à-Vis des Joueurs
À partir de la Saison 6 (novembre 2020), l'équipe d'Apex Legends a ajouté une superposition de performance. Ce tableau de bord en jeu affiche les taux d'upload et de download en kilooctets par seconde, la latence aller-retour en millisecondes, ainsi que les pourcentages de perte de paquets et de congestion, transformant des plaintes vagues en points de données précis sur lesquels les joueurs et les ingénieurs peuvent agir. Ce qui permet à ses joueurs de surveiller les pics de connexion.
En traduisant des expériences subjectives en métriques quantifiables, le développement peut également utiliser ces informations pour se concentrer sur des problèmes tels que les goulets d'étranglement de bande passante ou le jitter avant qu'ils ne perturbent un match. Pensez-y comme à des retours immédiats des joueurs, et lorsqu'ils sont regardés à un niveau macro pour l'équipe de développement, des aperçus sur lesquels agir en termes de performance. Cela a l'avantage supplémentaire de supprimer les conjectures, car les utilisateurs peuvent 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 aussi une stratégie adoptée par les clients d'Edgegap, notamment Rivals of Aether 2. En plus de mettre en avant la latence durant un match et la latence potentielle avant un match, cela permet aux joueurs de favoriser les emplacements de serveurs préférés tout en signalant un serveur durant un match pour aider à enquêter sur les problèmes.
Agir – Construire un Suivi aide à Générer des Aperçus
Dans les coulisses, les données d'Apex Legends traitent une semaine de matchs. Les données de performance de chaque match — des taux de perte de paquets individuels aux temps d'images CPU du serveur — sont agrégées et analysées pour déceler des modèles que les équipes humaines pourraient manquer, tels qu'un commutateur réseau défectueux dans un centre de données particulier. Cette approche est évolutive. Elle permet à l'équipe de détecter des problèmes systémiques avant qu'ils ne deviennent des pannes généralisées pour les joueurs et de collaborer avec des partenaires matériels pour remplacer des machines défectueuses. C'est proactif. Et en partageant des métriques anonymisées et sur option, les joueurs contribuent à ces aperçus, sachant qu'un seul serveur défaillant peut être localisé et corrigé à travers des centaines de matchs.
Un pipeline de surveillance en temps réel déclenche des notifications dès que les métriques dépassent les seuils, complètes avec un identifiant de serveur unique qui permet aux ingénieurs de trouver et de diagnostiquer la machine exacte sans corréler des horodatages. Ce qui signifie adieu les plongées manuelles dans les journaux.
Avec des corrections plus rapides, des serveurs plus lents et des problèmes de réseau devraient être relégués à des cas marginaux grâce au simple processus d'itération et d'amélioration, rendant les matchs de plus en plus nets et réactifs au fil du temps.
Serveurs au Ralenti
Les serveurs au ralenti continuent de se produire (et continueront de se produire).
Lorsque le CPU d'un serveur ne peut pas achever son cycle de simulation de 20 Hz — 50 ms par tick — il commence à prendre du retard, provoquant un décalage dans tout le match alors que le système attend que la physique, les animations et la réplication d'état se synchronisent. Ce décalage est pénible.
Respawn retire activement le matériel sous-performant — des machines souffrant de surchauffe, de processeurs sous-fréquentés ou de composants défectueux — pour maintenir une flotte conforme aux objectifs de performance. Les mises à jour futures 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 gameplay, rendant les matchs au ralenti des exceptions rares au lieu de frustrations hebdomadaires.
Wi-Fi – Le Plus Grand Ennemi de la Latence
Le jitter et les pics de latence peuvent être difficiles à cerner. Bien que les utilisateurs de Wi-Fi puissent constater des fluctuations de ping imprévisibles, même les joueurs en filaire peuvent souffrir lorsque les processus de serveur introduisent des délais, et jusqu'à présent les ingénieurs devaient recréer des conditions sur des bancs d'essai pour identifier les goulets d'étranglement.
Cela change avec le profilage RPROF. En capturant un journal détaillé de chaque tâche serveur — calculs balistiques, E/S réseau, simulations physiques — les fichiers RPROF montrent exactement quelles opérations pénalisent les cycles CPU afin que les développeurs puissent optimiser de nouvelles fonctionnalités avant qu'elles ne dégradent les performances. C'est comme une radiographie. Et cela aide l'équipe à réduire la latence dans tous les coins du code, s'assurant que de nouvelles légendes, armes et capacités arrivent sans ralentissements inattendus.
Cependant, tous les jeux n'ont pas l'occasion de surmonter les défis du Wi-fi, car du matériel comme la VR est conçu pour être utilisé par Wi-Fi. 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 plusieurs FAIs et points de peering, et lorsque des paquets disparaissent — que ce soit dans votre réseau domestique, entre les fournisseurs de backbone, ou dans un lien de centre de données — cela interrompt le flux d'entrées et d'updates qui maintiennent tout le monde synchronisé.
Tracer le problème nécessite beaucoup de travail, comme le souligne l'équipe Respawn. L'équipe collecte des traces réseau des joueurs et des sondes du centre de données, puis négocie avec des fournisseurs tiers pour réparer les liens de peering faibles ou les routeurs congestionnés.
Heureusement, il existe des services d'orchestration d'hébergement de serveurs de jeux comme Edgegap qui s'occupent de la "plomberie" pour vous. En orchestrant l'hébergement de serveurs de jeux de jeux multijoueurs à la demande, dans ses 615+ emplacements à travers le monde (le plus grand réseau d'abord sans région) avec plus de 17 fournisseurs. Offrant 58% de réduction de latence en moyenne, et augmentant l'équité de 28%.
Tandis que Respawn peut se permettre les DevOps et les ingénieurs ainsi que les responsables des ventes pour négocier avec les fournisseurs grâce à ses liens avec Electronic Arts, maintenant tous les studios peuvent.
Ping
Rapprocher différents pings est un art. Le système de compensation de lag d'Apex Legends rembobine l'état du monde pour chaque tir, fusionnant ce que les joueurs à ping élevé et faible ont vu au moment du tir pour déterminer les touches d'une manière qui répartit le "non-sens" de manière égale plutôt que de favoriser les utilisateurs à faible latence. Aucune solution n'est parfaite. Les joueurs avec un ping de 300 ms peuvent être abattus derrière une couverture, tout comme les joueurs à faible ping se sentent parfois injustement vulnérables lorsque le lag déforme leur vue, mais le système veille à ce que ces bizarreries se compensent au fil du temps. C'est un choix délibéré. Et cela signifie que les joueurs ruraux ou internationaux ne sont pas laissés pour compte par un code réseau qui ne priorise que les connexions les plus rapides.
Rollback
Les tirs n'enregistrent parfois toujours pas. Que ce soit à cause d'erreurs de prévision, de quirk du moteur physique, ou des désynchronisations réseau transitoires, vous pourriez voir du sang et des effets sonores localement sans que des dégâts apparaissent sur le serveur. Cela fait mal.
Respawn construit des outils de détection automatisés qui signalent les incohérences dans les hitboxes et les trajectoires, tout en s'appuyant également sur des clips soumis par les joueurs pour découvrir des bugs qui n'apparaissent que lors de matchs en direct. Les boucles de rétroaction comptent. Lorsque vous signalez un "no-reg" avec vos métriques de performance jointes, cela accélère le processus d'isolement et de correction de la cause profonde pour tout le monde.
Si vous envisagez d'ajouter un rollback, assurez-vous de lire plus sur le rollback dans notre article dédié.
Tickrate & Optimisation
Le tickrate est un acte d'équilibre car augmenter de 20 Hz à 60 Hz pourrait réduire la latence d'entrée d'environ cinq images à trois, mais cela triplerait également l'utilisation de bande passante (c'est-à-dire, le débit sortant réseau) — de 60 kB/s à 180 kB/s — et exigerait beaucoup plus de ressources CPU pour simuler et reproduire des états du monde complets.
Ce coût supplémentaire n'est pas trivial.
Apex Legends modèle basé sur les instantanés sauvegarde des états de jeu complets à chaque tick, supportant des capacités globales et des interactions riches qui souffriraient si la bande passante était contrainte par des taux de tick plus élevés. Les gains marginaux semblent petits. Et l'équipe soutient que ces deux images d'amélioration ne compensent pas les avantages de simulations à pleine fidélité et de besoins réseau plus bas pour une base de joueurs diversifiée et mondiale.
---
Cet article est basé sur 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
l'équipe Edgegap
