fs

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 !


FFS2Play 1.0.6


 fgp76    08 juil. 2017 : 19:47
 Aucun    Misc

3902497enibk_1_.jpg

Version 1.0.6 disponible  en release

Version 1.0.6 disponible  en release

Voici une liste des nouveautés :

  • Refonte du moteur multijoueur avec un nouveau système de timing :
    Le système de synchronisation en temps réel a été revu en créant une horloge précise à la microseconde au lieu des 10 msec de la fonction DateTime de C#.
    Le mode Freeze des AI est maintenant utilisé que pour les avions au sol (pour éviter l'effet d'avion flottant après un retour au sol). Les AI en vol sont unfreeze, ce qui laisse au simulateur d'adoucir les mouvements brusques dû aux caprices de simconnect.
  • Création du mode Beta
    Mode Beta

    En cochant cette option, les joueurs seront informés qu'une version Bêta est disponible, au lancement de FFS2Play.
  • Correction du bug des AI flottants au sol lorsqu'on est en vol:
    Le système de compensation des différences d'altitude prenait comme référence l'altitude du sol en dessous de l'avion piloté par le joueur pour positionner les AI au sol. Ce système fonctionne lorsque le pilote est lui aussi au dessus du même niveau de sol. Mais lorsque l'avion est au dessus d'un relief autour de l'aérodrome par exemple, les AI posés au sol montait et descendait au gré du relief de référence.
    Une nouvelle requête simconnect a été programmé pour obtenir le niveau du sol en dessous de chaque AI pour positionner ceux ci parfaitement au niveau du sol avec la scène locale.

X-Plane à l'étude


 fgp76    20 juin 2017 : 17:24
 Aucun    Misc

xplane_studies.jpg

Pour les besoins du futur plugin FFS2Play

Xplane Studies

La tâche est ardue, mais le bout du chemin commence à être visible