Salut à tous,
Voyant tous les topics et discussions autour du sujet du netcode, j'ai décidé de faire un sujet pour essayer de clarifier la chose, de rassembler les informations et d'apporter des choses un peu plus complètes que "ça bug" ou "ça bug pas".
Par contre je tiens à préciser, ce n'est pas un domaine où je m'y connais particulièrement, je m'y suis intéressé depuis peu (vu un peu avec BF3, puis là...
). Je suis donc susceptible de raconter des choses incomplètes voir fausses, si c'est le cas, faites vous plaisir et corrigez moi !
Bon déjà le netcode qu'est ce que c'est ? Pas mal de gens ne le savent pas ou mal, un bon CC d'un site :
"Ce que qu'on appelle le netcode, c'est le code machine [...] qui gère la mise en réseau du serveur de jeu avec les joueurs."
CF ce lien, qui est pour CSS, mais qui pour la base est valable pour BF :
http://counter-criminals.superforum.fr/t1144-pourquoi-sa-touche-pas-normal-c-est-le-netcode
Un petit schéma en gros :
https://developer.valvesoftware.com/w/images/6/6f/Lagcomp1.png
Venant de (il y a de quoi faire de ce coté, mais encore sur CS) :
https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization#Lag_Compensation
Et alors ?
Ben le truc, c'est que c'est ça qui nous permet de jouer en ligne, et que quand il est "pas bon", on a une expérience de merde.
Il se trouve que notre cher (ou pas) BF4 n'est pas bien réputé pour ça, et que je voudrais faire un petit point la dessus.
Concrètement, qu'est ce qu'on se bouffe en jeu avec un 'mauvais" netcode ?
(les vidéos sont un peu mises à l'arrache, pas forcément dans leur sections respectives. De plus, il y a une infinité d'autres exemples, suffit de chercher vite fait sur youtube)
Petite liste des trucs classiques :
- Le plus visible, vraiment très méchant sur BF3, un poil moins sur BF4 (de mon point de vue), la mort derrière les murs. Toujours le sympathique "je passe derrière un mur et je meurs une seconde après".
De quoi s'imager la chose :
http://www.somua.com/uploads/Nov-2013/test1.gif
http://www.somua.com/uploads/Nov-2013/test2.gif
http://youtu.be/5N6d8lqHfsM?t=39s
http://youtu.be/Eaw9eyABc6Q?t=22s
C'est frustrant, très frustrant.
- Les duels daubés, ça touche pas/mal, le gars d'en face te met une race, mais pas à cause de son skill :
http://www.youtube.com/watch?v=Zrga2RNIGvc
http://youtu.be/2btF4mHpVvA?t=34s
- Les OS, 100% de vie / 0% de vie, merci d'être passé. Sensé être corrigé, queneni. Une vidéo faite avant la maj :
http://www.youtube.com/watch?v=3vDOC1V6GM8&feature=youtu.be
D'autres (c'est très lié bug du OS et les duels, mais c'est ce que ça donne au final) :
http://www.youtube.com/watch?feature=player_detailpage&v=5N6d8lqHfsM#t=39
http://www.youtube.com/wam/watch?v=mGghVL0zS-8&hd=1
http://www.youtube.com/watch?v=kfU2vlOx_5I
http://www.youtube.com/watch?v=tIV3XgaBcgc
- Toujours lié (et vu sur les vidéos), les morts réciproques, parfois bien trash...
Et une pléthore d'autres bugs et problèmes, je ne fais qu'une mini-liste.
Ce qui faut retenir c'est que c'est buggé, mais que surtout vous ne voyez pas du tout la même chose que l'autre, voici des vidéos plus générales et assez criantes :
http://www.youtube.com/watch?v=cVuHzSx5zSo
http://www.youtube.com/watch?v=tZyqeFwtRTk
Le pire je pense :
https://www.youtube.com/watch?v=A9zv1nNP8c8
La grande majorité de ces vidéos sont faites par des personnes ayant de bonnes connections, je préfère le préciser.
Et donc là on arrive à la partie qui est un peu compliqué, pourquoi donc ?
2 choses :
- De un on est sur une détection des hits hybrides, où en gros les hits sont vérifiés par le serveur, c'est cool, mais c'est un peu long. Là c'est assez divers, des devs qui nous disent juste que c'est à cause de ça, d'autres qui disent que non, mais que ça en fait partie, je suis incapable de dire perso.
- De deux, très sûrement le principal problème, le moteur de BF4 est un moteur top-moumoute (ou pas encore une fois), et tellement trop top moumoute qu'il y a pleins de trucs à calculer, genre monstrueusement beaucoup pour un fps (64 joueurs + véhicules + trajectoires des balles + destruction + ect ect).
Le problème ? C'est qu'il y a des limites au niveau de la bande passante que tu peux utiliser (soit coté client soit coté serveur, je sais pas perso), ils sont donc obligés de diminuer le rafraîchissement des infos.
Et alors encore un fois ? Ben pour exemple sur CSS le rafraîchissement est de 33hz de base, et 66 sur les "bons" serveurs (les joueurs plus assidus que moi me corrigeront, mais il me semble que c'est ça), il en résulte donc un rafraîchissement des infos toutes les 30 voir 15ms environ.
Sur BF4 (et très probablement le 3) le rafraîchissement coté client est de 10hz, c'est à dire que vous envoyez vos infos relatifs à tout ce qui se passe sur votre jeu tous les 100ms, ce qui est énorme.
On voit déjà le gouffre entre un CS et un BF à ce niveau-là... D'autant que BF a le très mauvais goût d'être complètement buggé, donc on se retape une tartinée de bugs (OS, mal contage des hits, toussa toussa) par dessus.
Preuves :
http://www.reddit.com/r/battlefield3/comments/qr1p8/i_think_i_know_why_youre_getting_killed_behind/c3ztt97
http://www.youtube.com/watch?v=tZyqeFwtRTk
Corrigeable ?
Faut pas voir le truc comme un bug en soi, c'est que les serveurs ont une caractéristiques, Dice sont parfaitement au courant de tout et savent très bien que ça merde.
En l'état des choses, hors les bugs (ce qui déjà serait un pur miracle), c'est pas corrigeable. Ils ne peuvent juste pas.
Peut-être sur le prochain BF ? Mais ça serait un choix, et un truc vraiment compliqué pour eux.
En tous cas, LE PROBLEME DU NETCODE NE SE REGLERA PAS A COUP DE PATCHS.
Il faut honnêtement rien en attendre, supporter ou arrêter de jouer.
Purement objectif ? Pareil chez tout le monde ?
Non, déjà ça change pas mal en fonction de votre connexion (et surtout pas de votre ping ou de la qualité de celle-ci, avoir un ping de 5 en jeu ne veut en aucun cas être mieux logé sur BF4, plutôt tendance à être le contraire même...) et de pleins d'autres trucs dont je serais dans l'impossibilité de détailler.
C'est aussi assez subjectif, des gens chez qui ça choque, d'autres qui s'en foutent. Personnellement je trouvais ça mieux que BF3 au début, maintenant je trouve ça bien pire, et on se rapproche de l'injouable sur certaines parties.
Qu'en pensez-vous ?
(svp pas de "apprenez à viser" ou autre "achète-toi une co", c'est un problème réel et qui concerne plus ou moins tout les joueurs de BF3/4. De plus, c'est pas parce que vous ne le ressentez pas que c'est inexistant pour tout le monde, et l'inverse).
PS : Je redis, je ne suis pas du tout un connaisseur la dedans, je ne fais qu'une synthèse de ce que j'ai pu comprendre par les sources, vidéos, dires des devs et directement ingame. Si je fais de grosses conneries, corrigez moi je vous en prie 