Le Netcode et le Network Smoothing

Lorsque vous jouez, rien de plus rageant d'avoir la sensation d'avoir le réseau contre soi en plus de l'équipe adverse : penser avoir fait un kill alors que ce n'est pas le cas, ou bien se faire tuer une fois bien caché derrière une caisse.

 

Explication

Afin de permettre une meilleure expérience visuelle (*sic*) aux joueurs de Battlefield, les développeurs ont implémenté une option qui par défaut permet d'éviter de voir des joueurs se téléporter si vous et lui ont par exemple un ping élevé ou une mauvaise connexion. Mais le biais, c'est qu'en faisant cette sorte de lissage réseau, on se retrouve à voir à l'écran quelque chose qui ne représente pas exactement ce qui est en train de se passer. On se retrouve ainsi à mourir une fois caché derrière un mur, ou bien encore à ne pas tuer un joueur qu'on était pourtant certain d'avoir touché.

 

Plus techniquement, voyons les explications données par Alan Kertz (Lead Core Gameplay Designer sur BF4) à propos du netcode sur reddit :

Nous n'utilisons pas une détection des hits purement côté client, nous utilisons un système de détection des hits hybride où les hits du client sont vérifiés sur le serveur. Pour faire ça correctement, le serveur garde en historique une liste des positions du joueur. Même quand nous utilisions une détection des hits côté serveur nous faisions ça. Quand un joueur tire, le serveur revient dans l'historique pour voir le tir en se basant sur la position des deux joueurs depuis la perspective du tireur. Le jeu fait ce retour en arrière en se basant sur le ping du tireur, dans une proportion raisonnable. Cela résulte parfois d'une situation où la victime prend un hit alors qu'elle est positionnée derrière un mur.

La détection hybride des hits nous donne une bien meilleure détection des hits pour le tireur que nous avons pu avoir avec un système basé seulement sur le serveur. Les joueurs de longue date savent à quel point il serait frustrant de voir le sang couler sur un tir net puis avoir le serveur qui refuse le hit. La détection hybride résout ce problème sans aucun changement dans l'expérience de jeu de la victime.

Finalement, le plus gros souci que nous avons en réalité avec Battlefield est le netcode. Sans rentrer dans les détails, la quantité de mises à jour que nous avons besoin d'envoyer pour supporter tous les détails du gameplay utiliserait énormement de bande passante si nous devions envoyer toutes les frames. C'est pourquoi nous envoyons les informations à une fréquence moins élevée et utilisons la prédiction côté client pour interpoler entre ces mises à jour. Cela signifie que malheureusement nous avons un délai plus long que l'idéal pour envoyer les hits et dégâts à la victime depuis le serveur. La réalité est que ce n'est pas trivial à résoudre, ce qui n'est pas une bonne excuse cependant, mais c'est définitivement quelque chose sur lequel on travaille.

Bon, c'était à propos de BF3 et le problème est toujours présent, on imagine donc que le problème n'a pas été encore résolu.

 

On se retrouve donc avec deux facteurs (le netcode et le network smoothing) qui altèrent l'expérience de jeu au profit d'une expérience visuelle améliorée et de besoins en bande passante maîtrisés.

Solution

Concernant le netcode, la balle n'est pas dans notre camp et il faudra donc faire avec (ou ne pas jouer). Mais à propos du Network Smoothing, une option est présente dans le jeu pour le régler :

screen_settings.png 

En mettant la barre au maximum, l'expérience visuelle est favorisée, mais ce que vous voyez n'est pas exact. A l'inverse, en mettant la barre au minimum, vous verrez précisément ce qui se passe. Je vous conseillerai plutôt de mettre cette option au minimum, cependant si vous avez un ping élevé et/ou une connexion pas top il peut être préférable de laisser cette option au milieu ou même au maximum. A vous de tester en jeu ! 

Enfin, pour bien illustrer ce phénomène, voici une vidéo qui a été faite. Difficile d'être plus clair :

 

Source : blog de PinGoo 

Commentaires

Commentaires bloqués dans cette publication

Derniers dossiers_

Le Netcode et le Network...
Dossiers
Le commandant
Dossiers
Retour sur le solo de...
Dossiers
Les Battlepacks
Dossiers
Battlefield 4 sur consoles...
Dossiers
Le Premium Battlefield 4
Dossiers

Twitter_

Partenaires_

Les dossiers_

Battlefield 4 Battlefield 3 Battlefield Bad Company 2 Vietnam Battlefield Bad Compnay 2 Battlefield Heroes Battlefield 2142 Battlefield 2 Battlefield 1942
Tous les dossiers >