Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

Interpolation

L'interpolation fluidifie le mouvement des autres joueurs entre les mises à jour du serveur plutôt que de les aligner brusquement sur chaque nouvelle position. Le client effectue le rendu légèrement dans le passé et trace la trajectoire entre deux états connus. Cela coûte un léger délai supplémentaire sur les joueurs distants en échange d'un mouvement qui semble continu.

Aussi appelé

interpolation d'entités

Par

Par

Par

Jakub Motyl

Jakub Motyl

Jakub Motyl

,

Directeur de produit

Directeur de produit

Directeur de produit

Publié

Publié

Publié

Que coûte l'interpolation, et qu'apporte-t-elle ?

L'interpolation échange du temps contre de la certitude. Un joueur interpolé ne se déplace que par des positions que le serveur a réellement envoyées, il n'y a donc rien à prédire de manière erronée et rien à corriger brusquement. C'est également peu coûteux : le client n'exécute aucune logique de jeu pour ce joueur, seulement la transition entre deux états (SnapNet).

Le prix à payer est le délai. Le moteur Source de Valve est configuré par défaut à 100 ms, de sorte qu'une mise à jour perdue en laisse encore deux entre lesquelles effectuer la transition (Valve). Les bibliothèques plus récentes ajustent le délai en fonction de l'évolution des conditions au lieu de le figer. SnapNet vise à ce que chaque entité atteigne sa dernière mise à jour juste au moment où la suivante arrive, et le Netcode pour Entités d'Unity prend en compte la gigue mesurée lorsqu'il dimensionne le tampon (documentation Unity).

Points clés de l'article

  • La désynchronisation est un désaccord, pas un retard : Le lag signifie que l'information arrive tardivement. La désynchronisation signifie que deux machines détiennent des versions différentes du même monde, ce qui est une défaillance distincte avec des corrections distinctes.

  • Il en existe deux types distincts : La désynchronisation de réplication, où un serveur faisant autorité corrige un client qui a mal deviné, et la désynchronisation de déterminisme, où les simulations des pairs divergent et la session s'arrête carrément.

  • L'effet d'élastique (rubberbanding) a deux leviers : La fréquence à laquelle le client fait de mauvaises prédictions, qui dépend de la latence, et la visibilité de chaque correction, qui dépend du netcode. Modifiez l'un ou l'autre de ces leviers et les joueurs le verront moins.

  • Le tick rate (taux de rafraîchissement) n'est aucun de ces leviers : L'augmenter ne rend pas les prédictions plus précises, et sur une connexion qui perd déjà des paquets, cela aggrave les artefacts.

  • « Une désynchronisation s'est produite » est un échec de checksum (somme de contrôle) : Les jeux en lockstep comparent les hachages d'état à chaque tour, donc un seul flottant divergent ou un seul appel aléatoire non synchronisé met fin à la session.

Quand les jeux vidéo prédisent-ils au lieu d'interpoler ?

Lorsqu'un objet interpolé doit s'aligner avec un objet prédit. Le propre personnage d'un joueur est généralement prédit, il tourne donc légèrement en avance sur le serveur, tandis que les objets interpolés tournent légèrement en retard par rapport à celui-ci. L'exemple de SnapNet est une balle dans un jeu de sport : un joueur prédit poursuivant une balle interpolée atteint le bon endroit trop tard. De plus, un objet interpolé ne peut pas réagir aux commandes du joueur local tant qu'au moins un aller-retour complet ne s'est pas écoulé, car seul le serveur peut le modifier (SnapNet).

Pour les mécaniques basées sur le contact entre les joueurs, comme les saisies, les lancers ou une balle partagée, cet écart peut exclure l'interpolation, c'est pourquoi les jeux de combat et de sport prédisent souvent tout. Les jeux de tir ne prédisent généralement que ce que le joueur contrôle et interpolent le reste. La prédiction côté client couvre la partie prédite.

Un mot de notre sponsor (nous-mêmes !)

La majeure partie du lag provient de la distance, non du code. L'Edge Cloud d'Edgegap est un réseau distribué disposant de plus de 615 emplacements disponibles sur demande, garantissant que chaque partie se déroule au meilleur endroit possible pour ses joueurs. Des tests indépendants sur le trafic d'un studio en direct ont mesuré une baisse de 58 % du temps de trajet aller-retour moyen par rapport au cloud public.

Questions Fréquemment Posées

Est-ce que le serveur fait de l'interpolation ?

L'interpolation d'images est-elle la même chose que l'interpolation de réseau ?

Intégrer Edgegap facilement en quelques minutes

Commencez l'intégration maintenant!

Commencez l'intégration maintenant!