Comment (et pourquoi !) nous créons des cartes nouvelle génération avec des évènements aléatoires

Mission de reconnaissance 2023 a introduit les évènements aléatoires sur quatre lieux bien connus : Himmelsdorf, Ruinberg, Prokhorovka et Refuge. Nous souhaitions vous proposer plus d'options tactiques et de nouveaux scénarios de combat, ainsi que des occasions d'improviser lors de situations inédites.

Une fois le test des évènements aléatoires terminé, nous avons analysé près de 400 000 questionnaires. Et 86,8 % des participants ont déclaré apprécier jouer sur les cartes avec des évènements aléatoires !

Nous ajoutons ces cartes au prochain test public afin que vous puissiez les essayer dans leur version la plus récente avant qu'elles ne soient déployées sur les serveurs live. En attendant, voici un aperçu de leur création !

Nouvelle technologie, nouvelles cartes

Pourquoi introduire des évènements aléatoires pour seulement quatre cartes plutôt que sur toutes les cartes, ou au moins la moitié d'entre elles ? Pourquoi les finaliser seulement maintenant, six mois après avoir terminé le test de Mission de reconnaissance ?

Créer des cartes avec des évènements aléatoires est un processus très long, qui nécessite beaucoup de travail et de temps. Cela demande de nombreuses ressources (équipe de conception, QA, développeurs, etc.) ainsi que de nouveaux outils et des technologies avancées. Nous ne disposions tout simplement pas des capacités techniques pour implémenter des évènements aléatoires sur toutes les cartes en si peu de temps.

C'est précisément pour cette fonctionnalité que nous avons commencé à développer un nouvel outil spécial, en nous appuyant sur l'une des technologies les plus avancées de l'industrie du jeu vidéo. L'outil n'en est qu'à sa première ébauche et nous continuons de le développer. Grâce à lui, le processus d'implémentation des évènements aléatoires est désormais plus facile, rapide et efficace. Poursuivez votre lecture pour en savoir plus !

 
 

Préparation au test

Nous avons commencé à nous préparer au test des évènements aléatoires en avril 2023. Ajouter des scénarios dynamiques à un grand nombre de cartes demandait une nouvelle approche de l'automatisation, ainsi que des outils spéciaux pour créer de tels contenus. Mais à ce moment là, nous ne disposions tout simplement pas des capacités techniques pour créer des scénarios dynamiques. C'est pourquoi nous avons choisi seulement quatre cartes et quelques évènements, et nous les avons configurés pour chacun des champs de bataille.

Puisqu'il s'agissait seulement de la phase de test initiale, nous n'avons pas essayé de rendre leur version actuelle et leurs mécaniques finales. Cela représentait pour nous une sorte de « pentest » pour évaluer ce que nous possédions à ce moment là, ainsi que les outils et les technologies dont nous avions besoin.

Nous avons très vite constaté que mettre en place manuellement des évènements dynamiques pour plus de 40 cartes dans le jeu était trop long et inefficace. C'est pourquoi nous avons dû créer un nouvel outil qui pourrait automatiser et permettre d'évoluer (simplifier la production) d'un tel contenu.

Core Gameplay Framework : une technologie innovante pour créer des contenus en jeu de nouvelle génération

Pour répondre à ce défi, nous avons implémenté la technologie Core Gameplay Framework (CGF) dans World of Tanks. Il s'agit d'une variante de l'Entity Component System, l'une des technologies les plus modernes et en vogue de l'industrie du jeu vidéo.

Elle était déjà présente dans le jeu mais sa fonctionnalité et sa flexibilité n'étaient pas suffisantes pour concevoir pleinement les évènements dynamiques. En réalité, nous avons dû grandement améliorer cette technologie et l'implémenter dans World of Tanks sous un tout nouveau format.

À propos de la technologie CGF

Développer

Auparavant, lors de la création de contenu, nous ne pouvions interagir qu'avec les véhicules. La technologie CGF est une sorte de constructeur qui permet de fournir à différents objets (autre que les véhicules) leurs propres propriétés et connexions, au cœur de l'environnement de jeu. Cela permet de changer et de gérer les propriétés ainsi que des parties des objets. Par conséquent, il est possible d'interagir avec chaque objet selon une logique de comportement qui diffère de celle des véhicules.

La technologie CGF permet de créer du contenu en jeu fonctionnel avec un haut niveau d'automatisation et d'évolutivité. Grâce à elle, nous pouvons désormais créer et configurer rapidement des évènements aléatoires dans un format plus simple et pratique.

Réduire

Nouveaux outils

Nous avons également créé des outils de conception spéciaux nous permettant d'utiliser cette technologie pour concevoir des scénarios aléatoires conséquents. En effet, nous avons implémenté un nouvel éditeur similaire à celui que nous utilisons pour créer des cartes.

Grâce à ça, les objets de la carte (outre les véhicules et les bâtiments statiques) peuvent être divisés en plusieurs parties pour bénéficier de leurs propres propriétés et trajectoires. Ils suivent les lois de la physique, influencent l'environnement et fonctionnent selon la même logique physique que nos véhicules.

Auparavant, nous assemblions chaque scénario d'évènement aléatoire manuellement. Grâce à la technologie CGF et les outils conçus pour l'exploiter, les évènements aléatoires sont désormais créés sur le serveur de manière synchronisée pour tous les joueurs.

Découvrons en détail ce que nous réserve cette technologie et comment nous créons des évènements aléatoires.

Étape 1 : choisir une carte

Pour créer des évènements aléatoires, il faut d'abord choisir une carte adéquate. Il est important de souligner que nous ne prenons pas en compte la popularité d'une carte, ni les statistiques d'exclusion de celle-ci. Nous nous concentrons plutôt sur deux critères :

  • La variété du gameplay
  • Le type de carte : ouverte, urbaine ou un mélange

Nous choisissons des lieux avec un environnement permettant diverses options et la possibilité de scénarios d'évènements aléatoires. Sur Himmelsdorf par exemple, la grande place centrale offre la possibilité d'y écraser un grand objet, comme un zeppelin.

L'une des zones de jeu principales sur Prokhorovka est une allée où un avion pourrait potentiellement s'écraser.

Étape 2 : analyse d'évènements potentiels

Lors de l'étape suivante, nous établissons une liste de tous les évènements aléatoires possibles pouvant potentiellement avoir lieu sur une carte spécifique. Parallèlement, lors du choix d'un scénario, nous préférons qu'il soit unique. Et plus le scénario est unique, mieux c'est.

En outre, nous évaluons l'exclusivité de l'évènement et les nouvelles opportunités tactiques qu'il peut proposer en termes de gameplay. L'idéal est de permettre aux joueurs de prendre plus de décisions lors des batailles. 

Étape 3 : analyse des cartes de fréquentation et choix de la zone d'évènement

L'un des éléments principaux de la progression en bataille réside dans l'emplacement des véhicules sur la carte. Pour implémenter un scénario d'évènement aléatoire, il est nécessaire d'analyser les cartes de fréquentation pour déterminer les zones avec la plus grande concentration de joueurs. Elles nous aident à cibler les lieux où nous pouvons étendre les possibilités tactiques sur une carte spécifique et rendre le gameplay plus varié, avec différentes options de développement de bataille.

Nous prenons également en compte vos retours et votre expérience pour choisir la zone d'évènement la plus adéquate.

Pour le moment, nous n'avons parlé que d'étude de données et de préparation préliminaire. Après avoir obtenu et analysé toutes ces informations, nous pouvons commencer à créer des évènements aléatoires.

Nous évaluons la version finale et le format du gameplay de la zone d'évènement aléatoire après son interaction avec l'objet. Nous effectuons des changements si nécessaire, tels que l'ajout ou le retrait d'allées, de couvertures, de bâtiments, etc.

L'objectif final est de reconfigurer soigneusement la zone de jeu, de sorte à amener de nouvelles opportunités passionnantes vous permettant d'appliquer de nouvelles tactiques.

Autrement dit, nous ne commençons pas à créer des évènements aléatoires directement, comme le décollage d'un avion ou son atterrissage, ou l'arrivée d'un train. Nous cherchons plutôt à finaliser le format de jeu de la zone d'évènement pour une carte spécifique.

Étape 4 : création d'un prototype

Nous commençons ensuite à créer et tester un prototype. Il peut y en avoir plusieurs en fonction des nouvelles opportunités de gameplay et des tactiques qu'un scénario peut amener. Pour le test, nous utilisons des « boîtes grises ». Il s'agit de formes géométriques simples (comme des cubes, des rectangles, etc.) qui font office de matériaux de base et imitent des objets.

Une fois le prototype testé, nous appliquons les dernières retouches et commençons à y ajouter divers détails et objets.

Étape 5 : choix des objets et des scénarios pour un évènement aléatoire

À ce stade, nous choisissons :

  • L'espace : la terre, l'air ou l'eau.
  • L'objet actif : un avion, un dirigeable, un train, une voiture, etc.
  • L'objet cible (destructible) avec lequel l'objet actif va interagir : un bâtiment, un bunker, un pont, un quai, etc.
  • L'état des objets après destruction. Il est essentiel de savoir où les parties des objets resteront après destruction, leur quantité et leur emplacement exact.
  • Le lieu et la trajectoire sur la carte, en prenant en compte la visibilité et le terrain, de sorte à ce que le joueur puisse voir le déroulement d'un évènement aléatoire depuis le début.

De ce fait, si nous choisissons l'eau comme espace, alors nous pouvons avoir un navire qui s'écrase contre le quai. S'il s'agit de l'air, ce sera donc la chute d'un avion ou d'un dirigeable.

Selon le scénario, un objet détruit peut se diviser en un gros fragment ou en plusieurs fragments de taille moyenne. Ils peuvent tous se décomposer en plusieurs parties avec leurs propres trajectoires.

Étape 6 (la dernière) : visualiser et terminer le scénario

Enfin, nous complétons le scénario avec des détails supplémentaires et nous procédons au choix final des objets (modèles) selon leur pertinence pour un évènement précis. Par exemple, si nous devons détruire un château avec un grand dirigeable mais que nous ne disposons pas d'un tel dirigeable, alors nous le remplaçons par un objet plus adéquat, comme un avion.

Nous sélectionnons et peaufinons également les effets visuels pour ajouter plus de réalisme, de divertissement et un effet cinématique. De même, nous n'oublions pas que suite à un évènement aléatoire, de nouvelles opportunités tactiques doivent se présenter, et le gameplay doit se diversifier en étant plus intéressant.

Et voilà ! Une carte époustouflante nouvelle génération avec un superbe évènement aléatoire est prête ! 

Et ensuite ?

Dans un futur proche, nous prévoyons de sortir quatre cartes (Himmelsdorf, Ruinberg, Prokhorovka et Refuge) avec des évènements aléatoires retravaillés qui seront disponibles lors du test public. Préparez-vous à les explorer et à partager vos impressions !

Nous continuons de travailler activement pour agrandir la liste des cartes nouvelle génération avec des évènements aléatoires, afin qu'elles puissent être bientôt introduites en jeu. Restez à l'affût !

En discuter sur Discord

Fermer