L'interpolation et la prédiction dans FFS2Play


 fgp76    02 août 2017 : 21:00
 Aucun    Misc

college3.jpg

Comment faire croire que deux avions volent cote à cote en temps réel malgré la lenteur d'internet? Cet article va surement éveiller votre curiosité

doc brown "Mais Gianni tu va provoquer une rupture dans le continuum espace temps !" S'exclamerait Doc en comprenant ce que je fais dans FFS2Play. Pourquoi ? Parce que l'algorithme qui place les avions autours de vous, va dans le Futur! et aussi dans le passé...

Dans un jeu multi-joueur internet, la grosse problématique est justement le temps. Imaginez, par exemple, que vous jouez au ping pong, et que l'image de la balle met deux secondes à arriver chez vous alors que celle ci est déjà réellement passée. Et bien vous donneriez des coups de raquette dans le vide et la balle serait depuis longtemps par terre en train de rebondir avec le chat qui coure derrière et ... <Flo : Gianni Stop !!!>

Heu. ok je m'emballe

Sur internet les informations de votre position réelle peut être retardée de plusieurs centaines de millisecondes et dans de rares cas , de plusieurs secondes. Le pire est que ce temps de retard n'est jamais constant donc impossible à prédire.

Pourtant vous volez avec FFS2Play avec l'impression que les avions des copains est réellement à côté de vous et que vous voyez ses mouvements avec précision. Quelle est donc cette diablerie ?

Que nenni, cela est parfaitement scientifique et même mathématique.

FFS2Play fait appel aux mêmes algorithmes que ceux utilisés dans les jeux multijoueurs, comme par exemple , le célèbre counter-strike.

En algorithmie , on appel ces méthodes prédiction et interpolation.

La, j'en vois certains sourciller, voir trembler de peur devant la formule mathématique qui se prépare ...

College3Mais non vous allez voir c'est simple.

LA prédiction se base sur la position dans le passé: en gros on prend plusieurs points passés et on essaye de deviner le prochain. On fait voler l'avion vers ce point jusqu'à ce qu'une nouvelle coordonnée arrive

L'interpolation est l'art de découper la trajectoire pour fair bouger un avion du point A vers le point B. Vous vous imaginez bien , qu'il est irréaliste d'envoyer les coordonnées de votre avion à la vitesse de rafraichissement de votre carte graphique. FFS2Play envois donc la position des avions à un rythme régulier de 200 msec au minimum. Pour reproduire un mouvement fluide , le calculateur de FFS2Play découpe le mouvement à chaque rafraichissement de votre simulateur. Par exemple si vous êtes réglé à 24 images par secondes, il enverra 24 coordonnées par secondes sur la trajectoire précèdement prédite .

Donc finallement , pas de magie la dedans, uniquement du bon sens !








Cet article est de FFS2Play
http://ffs2play.fr/news.php?extend.11