Ne pas confondre le même client et le même moteur de jeu. Bien entendu que Classic c’est pas BfA moins les données des extensions ; d’ailleurs Blizzard a été clair sur le sujet : ils ont recodés Vanilla en se basant sur les données du client et du serveur 1.12.
Simplement au lieu d’être sur le vieux client de l’époque, où on était entre autre chose en 4/3 et pas en 16/9, là ils prennent les évolutions moteurs qui ont été faites et donc (puisque inclus au moteur) la gestion de la plateforme battle.net actuelle.
Cela veut pas dire qu’on a le client BfA, on est sur le même moteur rien de plus.
Pour ceux qui savent pas comment marche un jeu vidéo depuis 20 ans, il y a deux choses : le moteur et le jeu. Le moteur, c’est un ensemble de librairies permettant de gérer différentes choses : déplacement, effets spéciaux (dénommés FX d’ailleurs), le réseau, les sons, les musiques, le visuel (donc le rendu graphique) et même les collisions.
Ensuite on a le jeu qui se greffe par-dessus, c’est à dire qu’on utilise l’API fournie par le moteur afin de concevoir le jeu : fichiers sonores/musicaux (on indique au moteur à quel moment lire le fichier), fichiers graphiques 2D/3D etc.
En gros pour simplifier, un jeu se contente de donner des informations au moteur, c’est le moteur qui gère le reste. Le moteur n’a aucune utilité s’il n’y a pas quelque chose qui l’utilise derrière ; en revanche le jeu n’existe pas sans le moteur, car sans le moteur vous coder rien du tout.
Le moteur est un élément totalement abstrait, il sait faire des choses : afficher des images ou des éléments dessinés (graphismes 2D, exemple les portraits ou encore les sorts ou les fenêtres), afficher des modèles 3D, jouer un son ou une musique, envoyer/recevoir des données sur le réseau, gérer la collision (est-ce que je passe au travers de cet arbre ? par exemple) etc.
Le jeu en lui même va à chaque action, chaque événement (car oui tout est géré comme étant un événement, que se soit l’appui sur une touche du clavier, un clic de souris, un déplacement de la souris…), indiquer au moteur quoi faire.
Je donne un exemple, on clique gauche sur un mob au loin, le jeu va détecter le clic, il va regarder les coordonnées et voit qu’on a cliquer sur un mob, il va donc dire au moteur : « Mon pote, affiche le portrait que voilà à tel endroit de l’écran ».
Le moteur va alors aller chercher la ressource indiquée par le jeu et faire son travail pour l’afficher.
Donc tout ce qui est le gameplay et le game design, c’est le jeu, tout ce qui concerne le reste : affichage, collisions, FX… c’est le moteur.
Qui dit client BfA dit alors données BfA, ce qui n’est pas le cas ici, on a bien des données Classic donc client Classic ; mais le moteur derrière est le moteur actuellement utilisé sur BfA qui est une évolution de celui de Légion, évolution de WoD, évolution de MoP et ainsi de suite.
Car oui, à chaque nouvelle extension, se sont des évolutions du moteur qu’il y a en plus du contenu du jeu en lui même, et se sont ces évolutions là dont on va bénéficier, c’est à dire une gestion réseau optimisée, une gestion visuelle ou sonore optimisée par rapport à l’époque et j’en passe.
Ce qui est demandé c’est que le jeu soit WoW Vanilla, pas que se soit le même moteur. Avec en plus le fait d’avoir le moteur actuellement utilisé, on a des bugs de collisions qui sont corrigés, des bugs sonore ou encore visuels ou encore des bugs réseau.
A l’époque même de TBC, quand il y avait plus de 10 personnes à Hurlevent devant l’entrée du quartier commerçant, avec les ordinateurs de l’époque ça pédalait dans le gouacamole. Moi je me souviens du PC que j’avais quand j’ai pas mal bourlinguer sur des serveurs TBC et WoTLK, il pédalait comme pas possible dans le cas que j’ai cité alors que tout le reste du temps même avec des joueurs à côté, j’étais entre 30 et 60 FPS.
Avec le moteur actuel et les différentes optimisation, à Classic vous prenez ce même PC, vous descendrez plus à 2 FPS à Hurlevent avec 10 jours présents avec leur monture. Pourquoi ? Parce que d’une part la gestion visuelle a été améliorée : moins de traitement donc on affiche plus rapidement ; la gestion réseau a été améliorée : paquets de données sans doute plus gros qu’à l’époque des connexion 56k, donc moins de paquets de données à transmettre donc plus grande réactivité entre client et serveur etc.
D’ailleurs je reprends l’exemple du réseau, avant avec les connexions 56k, un paquet de donnée ne devait pas dépassé 2Ko, tout les MMO faisaient pareil : des dizaines voir centaines de paquets de 2Ko envoyés. Maintenant si on se base sur des paquets de données pour une connexion 512k, on est à 64 Ko de données, de quoi fournir en un seul paquet toutes les données nécessaire de tout les joueurs présent dans la vision de son personnage en une seule fois. Résultat moins de traitement à faire donc mécaniquement des FPS plus haut ; cela soulage aussi la carte réseau car moins de données à transmettre à la fois, cela permet aussi de soulager le client comme le serveur.
En effet, avant avec la limite de 2 Ko/paquet, il fallait envoyer des dizaines de paquets en même temps, il fallait ensuite attendre la réception de tout les morceaux pour rassembler le tout et traiter ensuite l’information. Avec une limite plus haute, mécaniquement on a moins de données à transmettre.