
Rétrogradation du Netcode pour l'atténuation de la latence - Limitations et solutions

Lorsqu'il s'agit du développement de jeux multijoueurs en ligne, l'un des défis permanents auxquels les développeurs sont confrontés est d'assurer un gameplay fluide, même face à la nature imprévisible de la latence Internet.
Pour surmonter ces défis, beaucoup se sont tournés vers une technique appelée « rollback netcode » (code réseau de prédiction avec retour en arrière). La première utilisation bien documentée d'un réseau prédictif provient de Starsiege: Tribes, sorti en 1998.
Le rollback netcode est un outil puissant pour atténuer la latence dans le gameplay, mais réduire la latence à sa source nécessite des changements au niveau de l'infrastructure – et ce n'est pas une mince affaire pour les développeurs de jeux.
Comme le montrent les recherches, la majorité de la latence est introduite par le réseau lui-même – 31 %, si l'on exclut l'œil humain et le temps de réponse normal. C'est bien plus que le serveur, le matériel du joueur ou le code du jeu lui-même, soit le double de leur total combiné (14 %).
Ainsi, seule l'orchestration des serveurs de jeu combinée à un réseau distribué d'infrastructures d'edge computing publiques, comme celles fournies par Edgegap, peut relever ce défi spécifique et offrir une expérience de jeu améliorée qui réduit la latence. Cela permet soit de réduire la complexité associée à l'intégration de systèmes de rollback en évitant d'avoir à en inclure un, soit d'améliorer encore l'atténuation du décalage d'un jeu lorsqu'elle est combinée avec le rollback netcode.

Qu'est-ce que le Rollback Netcode : un bref aperçu
Le rollback netcode est essentiellement une variante du système traditionnel de prédiction des entrées, connu dans le monde du jeu sous le nom de « netcode prédictif ». Voici un bref aperçu de son fonctionnement :
Prédiction locale : lorsqu'un joueur effectue une action, le client de son jeu prédit le résultat de cette action sans attendre de recevoir la confirmation du serveur ou des autres joueurs. Cela donne l'illusion d'une réponse instantanée, ce qui est nécessaire pour les jeux au rythme rapide.
Validation du serveur : le serveur reçoit ensuite cette entrée et simule également le résultat. Si la simulation du serveur correspond à la prédiction locale, tout va bien. Sinon, le jeu doit être corrigé.
Rollback (Retour en arrière) : c'est là que le rollback netcode se démarque. Au lieu de simplement corriger les états futurs du jeu, il « ramène » le jeu à un point antérieur à l'apparition de l'erreur, simule le résultat correct, puis effectue une « avance rapide » vers le présent. Tout cela se produit en un clin d'œil, ce qui le rend idéalement imperceptible pour le joueur.
Réduction de la latence au niveau de l'infrastructure : la réponse d'Edgegap
Réduire la latence à sa source semble être la solution idéale, et c'est exactement ce que visent des solutions comme Edgegap. En déployant des serveurs de jeu plus proches des joueurs à l'aide d'un réseau distribué via une plateforme d'orchestration de serveurs de jeu intelligente et automatisée, Edgegap peut réduire considérablement le temps d'aller-retour que les données mettent pour voyager entre le joueur et le serveur.
Voici pourquoi cette approche au niveau de l'infrastructure offre plusieurs avantages :
Réduction immédiate de la latence : les serveurs centralisés traditionnels peuvent être situés à des milliers de kilomètres d'un joueur. En utilisant un réseau distribué, Edgegap place les ressources du serveur plus près des joueurs, réduisant ainsi considérablement la distance que les données doivent parcourir.
Évolutivité : ces solutions peuvent s'adapter automatiquement en phase avec la demande des utilisateurs, accueillant plus de joueurs sans augmentation proportionnelle de la latence.
Charge de travail réduite pour les développeurs : le rollback netcode, bien qu'efficace, est complexe. Les développeurs doivent investir du temps et des ressources pour l'intégrer correctement. Ils doivent également le prendre en compte dans leur boucle de gameplay, en faisant des concessions qui affecteront ses performances – un problème de taille pour les jeux basés sur les performances comme les jeux de combat, ou les projets avec des communautés d'e-sport. En réduisant la latence à la source, le besoin de systèmes aussi complexes peut être minimisé, voire entièrement annulé.
Expérience joueur améliorée : du point de vue d'un joueur, rien ne vaut un jeu qui semble réactif et fluide. Une latence plus faible se traduit par des temps de réponse plus rapides, pour une expérience de jeu plus immersive et agréable. Le rollback netcode crée également des comportements et des artefacts étranges pour les joueurs lorsque le retour en arrière est déclenché. Cela peut se traduire par des images manquées censées montrer un coup de pied, et une expérience globale médiocre car le joueur est incapable de suivre les va-et-vient de ce qui se passe dans le jeu.
Conclusion
Bien que le rollback netcode ait représenté un bond en avant significatif pour garantir une expérience sans décalage pour les joueurs en ligne, c'est une solution qui traite le symptôme plutôt que la cause. Il existe principalement pour lutter contre les défis posés par une latence élevée.
Si nous nous attaquons au problème de la latence à la racine en tirant parti de solutions au niveau de l'infrastructure comme Edgegap, nous pouvons offrir aux joueurs une expérience supérieure. Une telle approche garantit une expérience de jeu plus fluide et simplifie le travail du développeur en éliminant ou en réduisant le besoin de systèmes complexes comme le rollback netcode.
Alors que le monde du jeu en ligne continue de croître et d'évoluer, ce sont des solutions comme l'orchestration automatisée de serveurs de jeu, qui déploient des instances de serveurs de jeu au plus près des utilisateurs, qui ouvriront la voie à la prochaine génération de jeu en ligne transparent.
Essayez-le par vous-même gratuitement, ou découvrez comment d'autres utilisent Edgegap pour leurs jeux.
Écrit par
l'équipe Edgegap









