STAR WARS™ Battlefront™ II : les évolutions de l'intelligence artificielle
Découvrez en détail la conception et le fonctionnement d'une nouvelle technologie d'IA.
Que vous soyez un joueur de longue date ou simplement observateur, vous aurez sans doute remarqué le rôle majeur qu'a représenté l'ajout de joueurs non humains, contrôlés par l'IA (intelligence artificielle), dans l'évolution de STAR WARS™ Battlefront™ II au cours de l'année passée.
Nous avons tendance à vous parler des nouvelles planètes, des nouveaux héros, renforts et autres aspects concrets de notre jeu. Cette fois, nous souhaitions prendre le temps de vous présenter le travail de nos programmeurs et de nos concepteurs dans ce domaine spécifique qu'est l'IA.
Nous espérons ainsi vous donner un aperçu intéressant et détaillé du fonctionnement de l'IA, et vous aider à comprendre en quoi cela permet à nos concepteurs de jeu de créer d'incroyables expériences de gameplay et des affrontements dans le style caractéristique de Star Wars.
Anakin Skywalker et Obi-Wan Kenobi et contrôlés par l'IA font équipe dans les rues de Theed, saisissant toute l'essence de Star Wars en un moment épique.
En bref : la nouvelle IA de STAR WARS™ Battlefront™ II
Une étape importante a été franchie en mars 2019 avec la sortie de Suprématie Capitale, qui s'accompagnait d'une toute nouvelle technologie d'IA. Pour la première fois dans le mode multijoueur en ligne de STAR WARS™ Battlefront™ II, les joueurs pouvaient combattre aux côtés de bots (autrement dit, des unités contrôlées par l'IA) ou en affronter.
En augmentant simplement le nombre de soldats présents sur le champ de bataille, l'IA a donné une nouvelle ampleur au combat. Les unités IA étant, comparées aux joueurs les plus aguerris, des cibles plus abordables, cela a également permis à tous les joueurs de profiter de parties agréables, quel que soit leur niveau.
Depuis, dans le cadre de la mise à jour Coop, l'IA se trouve au cœur de deux nouveaux modes de jeux : Coop en ligne et Action instantanée hors-ligne. L'équipe de développement a mis les bouchées doubles dans son utilisation de l'IA afin de procurer aux joueurs une sensation d'héroïsme sur le champ de bataille, en leur offrant la possibilité de façonner leurs propres moments de gloire, plus vrais que nature, dans l'univers de Star Wars, et de passer du bon temps sans la contrainte de la compétition humaine.
Les tirs de blaster fusent de tous les côtés dans une féroce bataille de la Guerre des Clones en Coop sur Géonosis.
Aux origines, il s'agissait d'un outil de test
Le projet a été lancé en août 2017 par Jonas Gillberg, ingénieur principal en IA chez EA, et impliquait (comme nous l'avons mentionné) la création d'une toute nouvelle technologie. Soyons clairs, l'initiative n'a rien à voir avec les agents autonomes présentés par le SEED ou l'IA du mode Arcade de STAR WARS™ Battlefront™ II.
En quelque sorte, cette technologie a été conçue pour que des bots jouent à des jeux, afin que des humains n'aient pas à le faire. Dans quel but ?
À l'origine du projet, l'objectif était de concevoir une IA pour la mise à l'échelle des tests automatisés des grosses sessions de jeu multijoueur. Afin de pouvoir effectuer les tests adéquats, il fallait une IA capable d'adopter un comportement aussi proche que possible de celui d'un joueur humain.
La technologie est conçue pour assurer aux analystes en assurance qualité (qui analysent et testent régulièrement les jeux) et aux créateurs de contenu (les concepteurs de jeux et de niveaux) un haut niveau de contrôle sur les objectifs de l'IA grâce au visual scripting. De cette façon, lorsque l'IA est utilisée pour effectuer des tests, il n'est pas nécessaire d'interagir directement avec le code.
Voici des exemples d'objectifs de haut niveau pouvant être obtenus via le visual scripting : bouger, défendre, attaquer, interagir, agir, rechercher et détruire, et suivre. À terme, le cerveau de l'IA décide des « touches clés » sur lesquelles appuyer à chaque image : tirer, mitrailler, lacet, tangage, sauter, etc. Imaginez cela comme un robot jouant au jeu avec une manette dans les mains, appuyant sur des touches physiques. C'est la même chose, mais sur un plan conceptuel. Lorsqu'il est intégré au moteur du jeu, il en résulte un outil extrêmement versatile, applicable à n'importe quel jeu ou presque.
Les soldats clones IA tiennent leurs positions sur Félucia, esquivant et se mettant à couvert comme ils peuvent, et patrouillant la zone.
En tant qu'outil de test, les possibilités qu'il offre sont énormes. Il est utilisé pour tester les clients et les serveurs de jeu, remplir les serveurs des playtests, effectuer des vérifications pré-playtest, tester la stabilité de la coop, les fonctionnalités (comme la conduite de véhicules), le fonctionnement d'un nouveau patch et bien plus encore. L'outil est aussi utilisé activement par les concepteurs de jeu pour lancer une « recherche exhaustive » et peaufiner les niveaux. Par exemple, en lâchant l'IA sur une carte multijoueur, elle trouvera des endroits où des joueurs humains pourraient se retrouver coincés.
Bien que conçue comme un outil de test imitant un comportement humain, son potentiel restait majoritairement inexploité. Puis, par un hasard du destin, le directeur conception de STAR WARS™ Battlefront™ II, Manuel Llanes, qui buvait un café avec Luca Fazari, ingénieur IA chez EA, lui a demandé sur quoi il travaillait. Luca venait tout juste de rejoindre le projet du nouvel outil de test, et lui fit une démonstration des bots en action. Pour Manuel, découvrant un outil de test server-side performant et prometteur, ce fut le déclic. Le prototypage a débuté et a été présenté au reste de l'équipe de développement, ce qui a provoqué une certaine excitation.
Rapidement, Luca s'est attelé à l'amélioration du système de combat et de navigation, et à l'implémentation de comportements afin d'en faire une fonctionnalité livrable, tout particulièrement pour STAR WARS™ Battlefront™ II.
Ce qui se cache derrière la nouvelle technologie IA de STAR WARS™ Battlefront™ II
Lorsque vous lancez une partie de Suprématie Capitale, de Coop ou d'Action instantanée, les unités IA analysent immédiatement ce qu'elles doivent faire. Ce comportement se poursuit au cours de la partie, l'IA priorisant et sélectionnant les actions à effectuer en se basant sur la situation présente.
Le comte Dooku contrôlé par l’IA déchaîne ses éclairs avant que les clones ne parviennent à le terrasser.
Et c'est là que la logique devient magique (OK, on se vante peut-être un peu).
On peut considérer les prises de décisions de l'IA comme des sous-catégories fonctionnant en tandem.
- Visée et vision. L'unité contrôlée par IA effectue une vérification de sa ligne de mire, correspondant à un cône de vision orienté vers l'avant. Elle engage le combat avec la cible la plus proche située dans ce cône. Elle n'attaque pas les cibles à couvert, qui ne sont pas directement visibles. Chaque bot traque les coordonnées et l'horodatage de sa cible actuelle.
En examinant les dernières coordonnées connues, l'IA anticipe de quelques secondes la trajectoire de sa cible, calcule le vecteur vitesse et les multiplie pour prédire la future position. C'est l'endroit que visera le bot. Évidemment, la précision de l'IA peut être configurée et dépend des caractéristiques de l'arme.
- Armes et distances d'engagement. Les choix au combat sont basés sur l'arme équipée du bot et sur sa portée de tir maximale. Pour chaque arme, il existe une distance optimale pour « s'arrêter et tirer », qui se situe légèrement avant le point où les dégâts infligés par le projectile commencent à diminuer. C'est là que l'IA va cesser d'avancer vers sa cible, non seulement car se rapprocher ne lui permettrait pas d'infliger plus de dégâts, mais également parce l'IA deviendrait elle aussi plus facile à atteindre. Chaque arme se voit également attribuer une valeur flottante comprise entre 0 et 1, qui détermine quelle partie du corps de sa cible va viser le bot. 0 correspond aux pieds de la cible, 1 à sa tête.
Par ailleurs, la distance à partir de laquelle l'IA va traquer une cible est définie par la distance à laquelle se termine la diminution des dégâts multipliée par un nombre ajustable, déterminant si la cible se trouve suffisamment proche pour être poursuivie.
- Manœuvres de combat et conscience de l'environnement. Puisque la vision du bot se limite à un cône dirigé vers l'avant, vous avez la possibilité de vous glisser dans leur dos ! Cependant, si elle se fait tirer dessus, l'unité IA se retourne immédiatement vers le joueur lui ayant infligé des dégâts, et en fait sa cible prioritaire.
Si le bot et le joueur (ou une autre cible) se font face, l'unité IA va tenter de fuir et d'esquiver les projectiles de sa cible tout en lui tirant dessus à son tour. Le bot va mitrailler de gauche à droite (changeant aléatoirement chaque fois qu'il changera de direction) et bouger vers l'avant ou l'arrière, le tout selon des contraintes temporelles configurables.
À chaque changement de direction, l'unité IA aura également la possibilité d'effectuer un saut ou une roulade. Cette imprévisibilité maîtrisée, si l'on peut dire, aide à renforcer l'impression d'un comportement humain.
Et ce n'est pas tout, d'autres comportements ont été configurés pour être suivis par l'IA, par exemple :
- Défendre une zone
- Se baisser et patrouiller en défendant une zone
- Se déplacer à travers la carte de manière réaliste en passant par un ensemble défini/aléatoire de positions intermédiaires entre le point de départ et l'arrivée.
- Suivre des procédures pour se dégager d'une zone où le bot s'est coincé (imaginez ça comme une étape consistant pour l'IA à marteler furieusement toutes les touches de la manette pour se décoincer !)
- Suivre des objectifs, se placer en formation autour du joueur et atteindre une position proche du joueur suivi, à partir de laquelle patrouiller les environs pour repousser les assauts ennemis.
Combat de héros : les spécificités du système
Osons le dire, lorsqu'un héros IA apparaît soudainement au beau milieu d'un affrontement en Action instantanée ou en Coop, il s'accompagne généralement d'un intense sentiment d'exaltation. La bataille dans son ensemble passe au second plan, il ne reste que votre duel contre l'impitoyable général Grievous, voire contre l'Élu en personne ! Les joueurs, dans certains cas, ont la possibilité de créer leurs propres moments épiques Star Wars .
Certains de nos choix en termes d'IA de combat de héros sont faits dans le but d'améliorer cette immersion. L'idée derrière les héros IA est de recréer des expériences issues des films Star Wars , dans lesquels parer les coups et étudier son ennemi sont des composantes importantes du combat.
Une fois que le héros IA a ciblé un ennemi situé à une certaine distance, il existe une plage de probabilités pour que le bot utilise l'un de ses pouvoirs uniques (attaques propres au personnage, buffs ou pouvoirs de la Force). Quand la cible se rapproche, cela déclenche une véritable logique d'attaque et de parade.
Un général Grievous contrôlé par un joueur fait face à un Anakin Skywalker IA, alternant défense et attaque.
Si l'IA est un héros armé d'un sabre laser et que son adversaire l'est aussi, elle se verra attribuer une fenêtre de temps pour parer et une autre pour attaquer. Afin de rendre son comportement plus difficile à anticiper, ces fenêtres varient aléatoirement entre des valeurs minimales et maximales configurables, choisies différemment à chaque choix de mouvement. La même logique s'applique à la manœuvre d'esquive du héros.
En octobre, les héros IA ont été mis à jour et rendus encore plus agressifs. Un nouveau comportement a également été implanté, et se déclenche lorsque la cible de l'IA brandit un blaster au lieu d'un sabre laser. Dans ce cas, le héros IA va pouvoir, pendant un certain laps de temps, renvoyer le tir de blaster en direction de l'ennemi. Une fois passé ce délai, le héros IA va se mettre à charger son adversaire aussi vite que possible.
Pour nous, ce dernier petit détail est aussi terrifiant qu'excitant !
Un joueur affronte Yoda contrôlé par l'IA, qui absorbe les tirs de blaster pour les retourner contre lui.
Comment nos concepteurs utilisent la nouvelle IA pour créer des moments Star Wars épiques
La nouvelle technologie d'IA de STAR WARS™ Battlefront™ II comprend deux couches distinctes : une couche tactique et une couche stratégique. Les éléments présentés ci-dessus dépendent de la couche tactique. Il s'agit, dans le code, du processus de prise de décisions successives.
De leur côté, les concepteurs de jeu doivent s'occuper de la couche stratégique. Celle-ci détermine comment le bot, disposant de toutes les connaissances tactiques nécessaires grâce aux programmeurs, agira dans un mode de jeu donné. Dans STAR WARS™ Battlefront™ II, Viktor Lundberg, concepteur technique senior, dirige les implémentation des modes Coop et Action instantanée, et Martin Kopparhed, concepteur de jeu senior, programme les bots pour qu'ils abordent les différents modes de manière stratégique.
Les Séparatistes contrôlés par l'IA attaquent un poste de commandement sur Naboo en mode Action instantanée.
Prenons l'exemple du mode Coop : il faut établir des règles pour définir quel poste de commandement l'IA va attaquer et à quel moment, pour déterminer combien de bots seront déployés pour défendre un poste de commandement attaqué par des joueurs humains, à quel moment et de quelle manière les unités IA en défense vont battre en retraite lorsqu'un secteur est perdu, etc.
Il faut également générer ce qu'on appelle un mesh de navigation (ou « navmesh »), une couche invisible appliquée directement à l'environnement pour aider l'IA à s'y retrouver. Le navmesh fera en sorte d'éviter que l'IA tombe d'une falaise ou tente de passer à travers des portes fermées.
Le travail du concepteur consiste également à créer l'apparition des vagues d'ennemis, afin de générer des pics et des baisses d'intensité. C'est pour cette raison que vous vivrez parfois des moments très intenses, où les tirs de blaster fusent dans tous les sens comme en pleine Guerre des Clones, et d'autres où vous aurez le temps de vous poser et de vous regrouper.
Un système similaire existe pour les héros IA, qui décide des moments et de la fréquence de leurs apparitions, afin de vous poser un défi de taille, un peu comme un mini-boss !
Prenez les couches tactique et stratégique de l'IA, ajoutez-y des effets visuels et sonores réalistes, une multitude de personnages et de lieux uniques, ainsi que tous les autres aspects qui composent le jeu, et vous aurez tous les ingrédients nécessaires à la création de vos propres moments Star Wars extraordinaires.
En ce qui concerne le jeu dans sa globalité, notre technologie d'IA est en constante évolution. Tenez-vous informé de nos actualités en consultant régulièrement cet espace, nos réseaux sociaux EA Star Wars et les forums.
Si votre soif de connaissance sur les secrets de la conception de Star Wars™ Battlefront™ II n'est toujours pas étanchée, nous avons quelques articles supplémentaires à vous présenter :
L'animation Anakin Skywalker
Le concept art de STAR WARS Battlefront II
Monde vivant et Bataille en toile de fond
La création de Géonosis
La genèse d'un héros
Aux origines de la Chasse Ewok
–Daniel Steinholtz (suivez Daniel sur Twitter @dsteinholtz)
Rejoignez la discussion sur les forums officiels et suivez les actualités EA Star Wars sur Twitter, Facebook et Instagram.
Enfin, abonnez-vous maintenant pour recevoir par e-mail les dernières actualités, mises à jour, présentations des coulisses, offres exclusives de Star Wars™ Battlefront™ II et bien plus encore (ainsi que d'autres actualités, produits, évènements et promotions EA).