BFV – Analyse du netcode par Battle(non)sense

Malgré son expertise en terme de jeu multijoueurs depuis Battlefield 1942, Dice a reçu beaucoup de critiques sur son ‘netcode’ ou code réseau en français pour leur dernier titre Battlefield V.
En effet, qui n’a pas déjà eu cette impression d’avoir été tué malgré s’être mis à l’abri derrière un mur pendant un échange de balles avec un ennemi?

DICE RECOIT L’AIDE DE BATTLE(NON)SENSE

Dice veulent mettre tout en oeuvre afin d’améliorer le code réseau et pour y voir plus clair, ils ont alors fait appel à l’excellent Youtubeur Battle(non)sense.
Si vous allez jeter un oeil sur ses vidéos, vous pourrez constater qu’il travaille essentiellement sur l’analyse du netcode des différents jeux multijoueurs à la mode comme Overwatch, H1Z1 ou CounterStrike.
Il s’est donc penché sur Battlefield V et voici son compte-rendu détaillé en vidéo en anglais (des sous-titres en français sont disponibles en traduction automatique):

Les tests et résultats de l’analyse netcode par Battle(non)sense

EN BREF!

Si une vidéo en anglais avec des termes techniques rend la compréhension difficile, voilà un petit résumé des points à corriger et des idées apportées par Battle(non)sense afin d’améliorer l’expérience multijoueur dans Battlefield V.

Définition du TTK et TTD

Tout d’abord, on va commencer deux explications importantes puisque pas mal de joueurs semblent mélanger un peu ces deux termes, le TTK et le TTD.

TTK ou ‘Time To Kill’
C’est la perception en tant que tireur, soit le temps pour votre personnage pour tuer un ennemi entre votre premier coup de feu enregistré et la vie à zéro de la cible.

TTD ou ‘Time To Death’
C’est la perception en tant que cible, soit le temps entre la première balle vous causant des dégats et celle qui mettra votre vie à zéro.

Fonctionnement du code réseau

Tout comme BF4 et BF1, le netcode de BFV fonctionne avec une « vérification serveur », c’est à dire que toutes les détections d’impact ou de mort sont vérifées coté serveur de jeu avant d’être retranscrites sur votre écran.
Prenons le scénario en jeu où avec votre Eclaireur, un ennemi passe dans votre viseur et vous tirez alors une balle.
L’action entre ce que vous voyez et ce qu’il se passe à l’écran peut être découpé grossièrement ainsi:

De ce fait si votre connexion rencontre un souci de latence ou de pertes de paquets, les informations envoyées vers le serveur comme celles envoyées par ce dernier vers votre ordinateur auront un impact sur ce que vous verrez au final sur votre écran.
Comme on peut le voir sur la vidéo, si un joueur X ayant 17 ms de latence qui rencontre un autre joueur Y ayant lui 400ms de latence de son coté tirent en même temps, le joueur X verra le joueur Y mourir avant de mourir à son tour peu de temps après (voir au chrono 10:29 sur la vidéo).

Les faiblesses du code réseau

Suite aux différentes tests sur serveur vide ou serveurs pleins par Battle(non)sense, le code réseau reste selon lui, perfectible.
Comme on peut le voir sur son graphique ci-dessous comparant la latence entre 2 joueurs sur un serveur à 64 joueurs, BF5 reste moins bon que celui de BF1 alors que même le ping affiché en jeu est meilleur!

Cliquez sur l’image pour l’agrandir

Toutefois au chrono 14:50 dans la vidéo, Battle(non)sense note qu’en conditions idéales (16ms de ping dans son exemple), le TTK, le TTD ainsi que les infos de ‘hitmarker’ sont bien synchronisés entre les 2 joueurs, que le serveur soit vide ou plein.
Si l’un des joueurs rencontre une instabilité de ping, un phénomène de ‘Superballes’ peut alors se produire. C’est ce phénomène qui donne l’impression au joueur ciblé de mourir très rapidement puisqu’il reçoit un ‘lot de balles’ venant du tireur ayant des problèmes de latence.

Des soucis avec l’interface utilisateur

Durant ses tests, Battle(non)sense a pu également remarquer des soucis avec l’interface utilisateur, cette dernière manquant de réactivité avec le retour d’information pour le joueur.
Par exemple, il peut arriver que l’indicateur de dégats reçu ne soit pas aligné correctement avec l’emplacement exact du tireur ou que le ‘hitmarker’ s’affiche avec un petit retard par rapport au moment où il a était validé par le serveur.
Enfin, Battle(non)sense suggère à Dice qu’il faudrait apporter une amélioration du journal de mort en affichant plus d’informations aux joueurs. Cela permettra de comprendre les évènements exacts ayant causé la mort de son personnage, comme on peut le voir sur son screenshot:

Cliquez sur l’image pour l’agrandir

A Dice de jouer maintenant!

Voilà, j’espère que cette analyse détaillée du netcode Battlefield V par Battle(non)sense sera très profitable pour Dice et donnera ainsi les moyens d’améliorer tout ça!
Maintenant, c’est donc à leur tour d’agir et de voir ce qu’ils vont nous réserver pour les prochaines mises à jour du jeu et de son netcode! 🙂