Rapport Hebdomadaire #19 – Mise à jour du moteur et optimisation – World War 3 – Official Website

Rapport Hebdomadaire #19 – Mise à jour du moteur et optimisation

08/07/2019

 

Bonjour, Soldats,

Nous voulions vous donner un aperçu un peu plus technique de ce que signifie changer la version de Unreal Engine pour une version plus récente, ainsi que de la façon dont l’optimisation est effectuée et en quoi elle consiste. Celui-ci sera un peu plus technique, mais nous allons essayer de la rendre compréhensible.

Tout d’abord, quelques nouvelles de la semaine dernière ! Nous avons célébré le 4 juillet avec nos amis américains de la meilleure façon possible – en aidant les joueurs militaires et vétérans avec leur flux de vacances de 24 heures. Nous avons ajouté leur emblème de patch et d’arme au jeu pour soutenir leur cause. Vous pouvez voir les nouveaux skins du 4 juillet dans le jeu dès maintenant. En tant qu’entreprise, nous travaillons avec différentes organisations caritatives et nous avons déjà soutenu les anciens combattants et leurs familles.

Mise à jour moteur :

Actuellement, le jeu utilise Unreal Engine 4.19 depuis plus d’un an. Nous avons mis à jour le moteur plusieurs fois dans le passé, mais à mesure que la version complète approche et que nous avons un jeu en direct à prendre en charge, de grands changements comme celui-ci sont de plus en plus dangereux. Les moteurs de jeu sont incroyablement compliqués et demandent des années et des années de travail, non seulement pour la fabrication, mais aussi pour la compréhension. Il n’est donc pas aisé de changer de version de moteur. Ce n’est pas un simple clic et c’est chose faite. De nombreux systèmes de base changent de version en version, ce qui signifie beaucoup de travail et parfois de refaire certaines parties du jeu pour mieux utiliser les nouvelles technologies ou même pour les faire fonctionner correctement.

Pour ajouter à cela, nous avons apporté quelques modifications au moteur afin de répondre à nos besoins et celles-ci doivent également être prises en compte lors de la commutation. Notre équipe doit faire preuve de prudence et tester beaucoup entre les étapes pour savoir quelle partie pose problème et la résoudre immédiatement.

Tout cela est intentionnellement un peu vague pour ne pas s’embourber dans les détails, mais par souci de complétude, examinons l’un des plus gros changements à venir en 4.21 pour nous, c’est le graphe de réplication.

La réplication est un terme utilisé pour décrire comment le jeu et le serveur se parlent – comment la position du joueur, la rotation, l’état et toutes les variables sont déplacés entre le jeu et le serveur et les autres jeux d’un match. En 4.20, Epic Games a ajouté le graphe de réplication qui permet de décider quelles informations à partir de quelles parties du niveau sont les plus importantes pour vous et comment y accéder le plus rapidement possible. Rappelez-vous: le serveur doit calculer les positions et les rotations de dizaines de joueurs, leur mouvement, leur santé, leurs munitions, leurs coups, il doit simuler véhicules et balles, calculer la pénétration dans les murs et les ricochets. Nous réalisons quelques astuces ingénieuses pour réduire la quantité de données transférées entre les lecteurs, mais le graphique de réplication facilite grandement cette tâche, libérant du temps processeur sur le serveur et le client.

Tout cela semble génial, mais le défi est que tout dans le jeu repose sur le transfert fiable de ces données entre les joueurs et la plupart des bugs dans les jeux multijoueurs sont liés à la perte ou à la corruption de ces données.

Si vous souhaitez simplement mettre à jour le moteur et ne rien faire de plus, le graphe de réplication ne fera même rien. Nous devons modifier le fonctionnement de notre réseau pour utiliser cette nouvelle fonctionnalité impressionnante à son plein potentiel. Cela signifie beaucoup de changements sous le capot et de nombreux tests, pour s’assurer que cela fonctionne plus rapidement et de manière plus fiable qu’auparavant. De plus, les autres équipes doivent également en tenir compte – états de l’animation, données des armes, véhicules – tout doit bien se synchroniser.

En résumé, alors que la mise à jour de base du moteur n’est pas très dure, elle peut être effectuée en un jour ou deux par une personne, c’est le travail qui s’ensuit après le défi : s’assurer que tout fonctionne et ne tombe pas en panne, avec des centaines de milliers de lignes de code écrites au fil des ans par nous et Epic Games.

Optimisation :

L’autre grande partie des préparatifs de la version 0.7 consiste à jeter un autre regard sur les performances du jeu. En 0.6, nous avons fait de grands progrès, accélérant considérablement le jeu et le rendant beaucoup plus performant qu’avant, mais nous ne sommes toujours pas complètement satisfaits du résultat.

L’optimisation n’est cependant pas uniquement réalisée par le personnel technique: c’est un travail d’équipe qui commence par la conception de fonctionnalités et de mécanismes ne nécessitant pas beaucoup de puissance de traitement, grâce à une conception de niveau prenant en compte les lignes de vision et la lecture en continu du niveau. Ils doivent être préparés de manière à optimiser leurs performances, qu’il s’agisse de l’optimisation du code et des calculs, ou du rendu, en créant des moyens pour ne restituer que ce qui est absolument nécessaire.

Actuellement, nous travaillons fortement dans trois domaines principaux: l’optimisation du niveau (actif), l’utilisation de la mémoire vive et le bégaiement lié aux performances du serveur. Tous ces domaines travaillent ensemble en étroite collaboration, car l’optimisation des niveaux augmentera le nombre de FPS moyen, mais éliminer les bégaiements et les freezes rendra ces FPS beaucoup plus agréables. Avoir plus de mémoire libre pour charger des textures et des objets réduira également le nombre de bêtises dans le chargement et accélérera le chargement.

La bonne nouvelle est que nous savons ce qu’il faut faire pour que le jeu fonctionne aussi bien que possible. Nous testons constamment des choses en interne et parfois même en externe avec la communauté (comme nous l’avions fait la semaine dernière sur PTE), nous cherchons des moyens d’augmenter les performances du jeu et, à partir de cette recherche, nous vous proposons des plans pour les rendre incroyables.

Nous estimons que depuis la sortie de la version Early Access en octobre dernier, nous avons augmenté la moyenne des FPS de 200 à 300% pour la plupart des joueurs et réduit le bégaiement de plus de 75%. Il y a encore beaucoup de choses que nous pouvons améliorer et ce travail avance bien – cela prend du temps, mais rassurez-vous, l’optimisation est une chose sur laquelle nous nous concentrons vraiment.

Merci de nous faire savoir si des rapports un peu plus techniques vous intéressent, rejoignez nos forums et inscrivez-vous à la newsletter si ce n’est déjà fait !