[ net-code ] L'interpolation


LeSage

Messages recommandés

Posté(e)

[#00e21c]1 ) Dans sa théorie :[/#00e21c]

Si vous avez 100 fps mais qu’un joueur sur le serveur où vous vous trouvez n’en a que 30, ce joueur n’enverra que 30 positions par seconde au serveur et le serveur à son tour ne vous enverra que 30 positions de ce joueur par seconde ce qui signifie que vous ne recevez pas assez de position de ce joueur pour les aligner à vos fps du lag sera génré :

pendant que vous vous affichez une boucle de 3 images et que tous votre décor bouge, le joueur ne bouge pas pendant c’est 3 images et à chaque boucle toute les 3 images, le joueur en question fait un petit bond ce qui provoque du lag

pour éviter d’avoir du lag d’un, le jeu est doté d’un mécanisme qu’on appel l’interpolation, cette interpolation va créer autant de positions qu’il faut de ce joueur pour s’aligner à vos fps et donc avoir un jeu fluide

[#0000ff]Ce procédé n’est pas sans défaut :[/#0000ff]

L’interpolation n’invente pas les postions, il a besoins de 2 positions pour créer une ou plusieurs positions entre elles pour s’aligné à vos fps

Cela implique forcement que les positions des joueurs qui s’affichent à votre écran soient en retard par rapport aux positions réelles des joueurs :

finalinterolation1ga5.jpg

Je précise que les scrennshots ont étés fait à partir d'un serveur crée via le menu css pour avoir un ping de 0 et ainsi avoir le temps de décalale le plus parfait

l’interpolation peut cependant être désactivé pour donner ceci :

finalinterolation2bt4.jpg

soit un parfait rééquilibrage.

[#00e21c]2) La pratique [/#00e21c]:

[#0000ff]2.1 L’interpolation 1 :[/#0000ff]

donne un temps de décalage sur le déplacement des joueurs ce qui peut ce traduire par un avantage psychomoteur ou désavantage :

[#ffaa00]avantage psychomoteur :[/#ffaa00]

lorsque l’on décale d’un mur et que l’on aperçois un adversaire :

votre adversaire étant en interpolation 1 est en retard sur votre déplacement et vous voit un petit lapse de temps après vous ce qui laisse le temps à votre système psychomoteur de faire son travaille avant celui de votre adversaire :

je vois, mon cerveau interprète et dit à mon bras de bouger pour tirer

pour ceux qui n’ont pas de bons réflexes ça ne change pas grand-chose mais pour ceux qui ont de très bons réflexes cela représente un avantage de taille qui peut ce traduire par de beau décale à l’awp (vous voyez de quoi je parle)

[#ffaa00]désavantage :[/#ffaa00]

vous avez ratez votre décale, vous voulez vous remettre à couvert ce que vous faites et vous venez de passer le coin du mur mais comme votre adversaire est en retard sur votre déplacement, il vous voit encore un petit peu ce qui peut lui permettre de vous tuer

ou

vous êtes sur un serveur AWP, vous voyez un joueur qui saute et vous tue alors qu’il était encore en l’aire pour vous, ce joueur était déjà au sol mais à cause du décalage que vous avez sur lui il était encore un peu en l’aire pour vous

ça vous est déjà arrivé n’est-ce pas ???

(ce n’est pas pour rien que les lasers de mani passe a travers beaucoup de coin de murs/caisse)

donc l’interpolation 1 peut vous donner un avantage mais il peut aussi vous donner un désavantage suivant diverses situations mais sachez aussi que c’est 2 particularités peuvent s’additionner pour donner un double avantage ou double désavantage, ça dépend de qui ont est.

[#0000ff]2.2 l’interpolation 0 :[/#0000ff]

Dans ça théorie il parait plus que parfait et pourtant ce n’est pas du tout le cas :

prenez cette image que je vous aie donnée plus haut :

finalinterolation1ga5.jpg

- inversez les positions du model et de la hitboxe

- la hitboxe représente l’endroit où vous verriez le joueur si vous étiez en interpolation 1

- le model est ce que vous voyez en interpolation 0

Et bien dites vous que ce n’est plus le model que vous voyez qui est touchable mais la hitboxe que vous ne voyez pas, c’est comme si le jeu ne savait pas que vous étiez en interpolation 0 bref ça peut ce traduire par amélioration des réflexes :

En interpolation 1, vous voyez un ennemi, vous tirez mais trop tard parce que vous avez été trop lent, vous ne le touchez pas mais si vous êtes en interpolation 0 vous l’auriez sans doute touchez

Donc malgré qu’on s’aligne sur la position du joueur, l’interpolation 0 n’est pas parfait

Petite précision :

le temps de décalage en interpolation 1 sur un serveur hébergé parait un plus grand comme sur cette photo :

finalinterpolation3ih9.jpg

en vidéo direct : http://www.youtube.com/watch?v=g7AJ3lBFLOA

et l’interpolation 0 ne vous réaligne pas parfaitement sur le déplacement du joueur mais parait un peu en retard du même temps que l’ont rajoute à l’interpolation 1 sur un serveur

[#0000ff]Conclusion :[/#0000ff]

Les 2 valeurs influent sur le toucher et c’est bien dommage dans un jeu où ce sont les réflexes qui font le skill

[#00e21c]Espace réflexion :[/#00e21c]

Quand je vois les 2 images que je vous ai données et l’effet d’interpolation 0, je ne peux m’empêcher de me souvenir du bug des hitboxes au début de source, il fallait tirer devant les joueurs pour toucher donc c’est comme ci sur cette photo :

finalinterolation1ga5.jpg

c’était la position réel du joueur qui est touchable et plus le model, bref je me disais que valve remette ce bug et qu’on joue tous en interpolation 0 qui devrait faire en sorte qu'on soit le plus proche du déplacement des joueurs et que ce soit vraiment ce qu’on vois qui touche tout en soyant le plus proche des déplacments des joueur

ça doit être pour ça qu’on peut choisir le choix de sa valeur d’interpolation, parce que vavle savait que l’interpolation 1 était merdique

et si je pousse la chose plus loin, vavle devait ce dire que les joueurs qui veulent jouer en compétition jouent en 0 et que le bug des hitboxes n’en était pas un

à m'éditer

(j'ai laisser les scrennshots parce qu'il sont petit et parce c'est mieux :P )

Posté(e)

très interessant mais ou est le lag compensation ??

oui oui le net code de source a ète maintes fois updatés pour améliorer le lag compensation coté serveur...ce n'est pas du tout la mème chose que les effets de l'interpolate mais cela a je pense une vraie incidence sur les hitboxes...

ex:

pourquoi dans l'eau d'aztec quand je suis ct planqué en bas et que je vise les terros qui passent passerelles (c'est un exemple mais il est réel et vécu)je les touche en visant le skin et pas ailleurs alors ??etc...etc...

Posté(e)

Interpolate 1 !

Les américains jouent comme ça, les français jouent comme ça, les italiens jouent comme ça, les anglais jouent comme ça....

Il n'y à que les allemands qui sont obstinés.

Ensuite, si tu touche pas, ca vient surement de ton jeux ou de ton serveur nitroserv.

Si tu joue sur un servlogic sur lequel tu aura fais un minimum de config, tu vise, tu tire, le type s'allonge.

Bon dossier de ta part, même si beaucoup de dossiers de ce genre (nottament celui de rflex) on déjà fait le tour des forums.

Posté(e)

j'ai pas chercher a dire l'interpolate 1 ou 0 est mieux parce que c'etait pas le but du tuto

et ceux qui disent que c'est pompé ne net-code source et bien lisez le mieux

a t il parler les avantages et inconvénients de l'interpolation 0 ???

a t il compelment parler des avantage et i,convénients de l'interpoaltion 1 ???

à t il mis des image pour que ce soit plus explicite ???

non alors chut les gars, ce tuto est un complement bien réussi

Posté(e)
j'ai pas chercher a dire l'interpolate 1 ou 0 est mieux parce que c'etait pas le but du tuto

et ceux qui disent que c'est pompé ne net-code source et bien lisez le mieux

a t il parler les avantages et inconvénients de l'interpolation 0 ???

a t il compelment parler des avantage et i,convénients de l'interpoaltion 1 ???

à t il mis des image pour que ce soit plus explicite ???

non alors chut les gars, ce tuto est un complement bien réussi

Bon écoute leSage, je n'ai jamais dis que tu avais pompé. J'ai juste dis qu'un paquet de topic sur le net code, différents dossiers sur l'interpolation etc étaient déjà présents sur le net.

En fait, laisse tombé.

Posté(e)
LeSage je ne disais pas que c'était toi qui avait pompé mais le gars de cet url: http://www.nofrag.com/2005/sep/19/18903/[/quotemsg]

En même temps, l'article de nofrag commence par dire qui est l'auteur du dossier d'origine... C'est ce qui s'appelle citer ses sources.

Pour l'interpolate, c'est l'ex_interp de cs... Sur 1.6 (et les versions précédentes) le système était particulièrement flexible avec une possibilité de réglage entre 0,1 et 0,01.

Avec des rates faibles (dignes des connexions de la fin des années 90), l'interp se met à 0,1 et plus on augmente les rates, plus on diminue l'interp ce qui fait qu'aujourd'hui, beaucoup jouent à 0,01, comme en LAN.

Pourquoi ? Parce que vu que le jeu tente d'anticiper le déplacement pour rajouter des images, il peut se tromper, avec un interp au plus bas, on évite ce genre de problèmes. Par contre, si les rates sont trop bas, ça saccade, pareil si le pc a du mal à suivre (interp trop faible).

On voit que sur Source on a perdu cette flexibilité, c'est 0 ou 1 et ça crée un décalage relativement important et qui nuit grandement au gameplay.

Par contre, en voyant les screens je me dis que ces hitboxes sont vraiment foireuses : tête un peu grosse, dos qui devrait être redressé,... :P mais ça, c'est une autre histoire.

Posté(e)

ce qu'il veut dire je pense c'est que sur 1.6 l'interpolation de cré pas de décalage pare qu'il envente les positions

ps splankno : la 1er phrase t'etait destiné pas les autres

Posté(e)

Donc si on joue avec l'interpolate 1; qu'on a pas loins de 100 fps et que l'autre en fasse n'as que 50 et que nous avons un ping moyen c'est a dire 40-50. Il faut tire un peu avant le joueur?

Mais si le joueur se déplace de gauche a droite plusieurs fois? il faut tirer ou? préshot un peu sur la gauche puis préshot sur la droite? ou alors tirer au milieu? les hitboxes seront-elles en retard ? meme en déplacement lattéral? :pt1cable:

Si un joueur a 15 de ping avec les rates a 1000 et interpolate 1 Et que l'autre a 100 de pings avec les memes valeurs rates & interp. Quelle joueur le verra le 1er. Celui de 15 de ping ou celui de 100?

Posté(e)

Les 2 valeurs influent sur le toucher et c’est bien dommage dans un jeu où ce sont les réflexes qui font le skill

[/quotemsg]

Salut,

Bon, je fais partis de cette catégorie de personne qui n'ont pas entièrement compris l’interpolation.

Donc quelques questions :)

(Il ce peu que je soit a coter de la plaque donc corriger moi si je dis une connerie)

- Si les joueurs utilise la même valeur et qu'ils ont un ping plus ou moins identique il devraient avoir ceci ?

finalinterolation2bt4jh0.jpg

Posté(e)

oui si ils sont tous en interpolation 0 avec un ping de 0

en réalité sur les serveurs lans ou hébergés, l'interpolation 0 a quand même un décalge :

- prennons la photo que tu as mis

- considère que le joueur est en interpolation 0

- en 0 c'est la position réel du joeur qui touche (la hitboxe plein de cubes de couleur) et pas le model que tu vois à ton écran

et bien la hitboxe est en retrait donc il faut tire derière le model

c'ets pour ça que j'ai dit quand pratique :

l'interpolation 0 peut ce traduire par amélioration des réflexes :

En interpolation 1, vous voyez un ennemi, vous tirez mais trop tard parce que vous avez été trop lent, vous ne le touchez pas mais si vous êtes en interpolation 0 vous l’auriez sans doute touchez

Posté(e)

J'ai rejoué en interpolation 0 sur un "tick 100 plutot stable" pendant une p'tite heure ce matin pour me faire une idée définitive. Aprês cette partie je me demande vraiment comment les allemands peuvent persister dans cette idée.........

Problêmes recontré avec l'interpolation "0", dans les véritables conditions de jeux sur internet.

==> animations en spectateurs complètement bugée, c'est pas utile mais c'est vraiment moche.

==> ça sacade comme pas possible avec certains joueurs low rates/fps, jouer un match dans des conditions comme ça, c'est même pas la peine.

==> Le p'tis décalage des hitboxes, qui comme tu l'as répèté, donne un p'tis avantage au sniper middle sur D2. ben je m'attendais pas à ça, selon certains ça favorise le skill / reflexes mais franchement je trouve l'avantage tellement flagrant qu'à la place des allemands j'aurais vraiment honte de prôner l'interpolation "0" comme supérieur :sweat:

Exemple "dust2": Deux des plus flagrant, mais c'étais comme ça toute la partie :sweat:

-Je saute dans la fosse Ga en venant de spawn t, le gas au milieur de la Ga me tue en vol alors que pour moi j'étais déja à terre et donc hors de son champ de vision :ouch: Le chock moi je me voyais déja lancer une flash et remonter par la droite pour les aligner :heink:

-Sinon encore plus triste je remonte middle et repère un ct à notre spawn qui passe du coter du transfert Ga pour m'engager, je reste descente middle et surveille le coter gauche et finie par le voir passer rapidement par réflexe je tire entre les deux coins de mur et le touche, enfin je vois un beau nuage de sang alors qu'il était déja passé :heink: il continue à avancer et finie derrière le tronc d'arbre, il se retrouve vurnérable et straff tous en m'arrosant de balles j'évite le full et fais de même straff et tire, je remarque que je le touche plusieurs fois "en retard"............

Franchement je veux bien te croire qu'il y a un décalage de 10ms "cl_interp 0.01" sur l'interpolation "1" même si je n'ais jamais ressentie ce décalage en match, mais les bugs de l'interpolation "0" sont bien plus flagrant. C'est bien plus facile de toucher sur cette valeur, ça m'as surpris d'ailleur, mais l'interpolation "0" ne favorise pas le skill, ça serais même le contraire.

J'éssaye d'être le plus ouvert au idée des autres, mais là j'ai beau éssayer, je comprend pas leur position :pfff:

Posté(e)
-Je saute dans la fosse Ga en venant de spawn t, le gas au milieur de la Ga me tue en vol alors que pour moi j'étais déja à terre et donc hors de son champ de vision :ouch: Le chock moi je me voyais déja lancer une flash et remonter par la droite pour les aligner

ça c'est parce que ton adverser était en 1 et avait peut etre pas mal de ping donc il était en retard sur ta vrai position

sinon moi je trouve quand 0 le seul avantage est au snipe sinon a l'arme conventionnel c'est pareil

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.