L’intelligence artificielle dans les jeux vidéo, Axel Buendia* et Stéphane Natkin**

Dans cet article, les auteurs présentent ce que l’on entend par intelligence artificielle (IA) dans les jeux vidéo en relation avec l’IA considérée d’un point de vue plus général et de son évolution à court et moyen terme.

*Axel BUENDIA est docteur en IA et créateur de la société SpirOps.
**Stéphane NATKIN est directeur de l’École Nationale du Jeu et des Médias Interactifs Numériques (ENJMIN).


La production des jeux vidéo et les moteurs de jeu
Comme pour les systèmes de simulation d’entraînement, ceux utilisés pour apprendre à piloter par exemple, ce qui caractérise un jeu vidéo doit être élaboré de sorte que les actions représentées épousent le rythme de la perception du joueur et, en conséquence, de ses actions, faisant intervenir la notion de temps réel. La réalisation d’un film d’animation suit à peu près le même schéma ; mais, comme le spectateur n’intervient pas sur le film, il est possible de mettre plusieurs heures pour synthétiser quelques minutes de film, ce qui limite la complexité des calculs que peut réaliser un ordinateur ou une console de jeu. Le jeu vidéo est confronté au défi de générer en temps réel des images et des sons complexes de bonne qualité, et ce sur des machines peu onéreuses. Cela a un effet déterminant sur les technologies nécessaires à la synthèse en temps réel. La fabrication du jeu proprement dite est touchée par les limites qui sont imposées à la conception et à la réalisation des objets : encore aujourd’hui, un objet ne peut avoir la même structure ni le même réalisme dans un jeu que dans un film. Les outils utilisés pour réaliser les objets d’un jeu sont donc très proches de ceux employés pour la post-production audiovisuelle et la programmation des simulateurs. C’est leur usage qui est spécifique. Détaillons les opérations schématisées dans l’encadré ci-dessous. Dans un premier temps, graphistes, vidéastes et musiciens fabriquent des matériaux numériques, ou ressources : des images scannées, des vidéos, du son sous un format audionumérique. Ces éléments sont dits des textures (visuelles ou sonores). Il faut également construire une représentation symbolique de l’univers du jeu. Elle peut être textuelle, en 2D ou en 3D. En utilisant un logiciel de modélisation, un modeleur1, un graphiste conçoit des objets 3D par opérations de composition des formes simples ou comme une composition de polygones. Il précise que les objets doivent être recouverts d’une texture. Le son subit le même traitement : il peut être représenté par un fichier audio enregistré dans la première phase ou un fichier symbolique de type MIDI2 (jouer un la au piano pendant 20 millisecondes avec une attaque forte).
Dans un second temps, l’intégration de tous ces éléments, repose sur un logiciel éditeur de jeu (Game Editor est le plus répandu), l’équivalent dans le jeu vidéo d’un outil de montage dans l’audiovisuel. L’éditeur de jeu permet d’assembler toutes les ressources construites par l’équipe de production. Ainsi, un personnage est un objet 3D associé à un ensemble d’animations construites avec des outils proches de ceux que requiert un dessin animé plus des sons produits par le personnage quand il parle, quand il marche, quand il meurt… Mais également de programmes informatiques qui vont choisir, en fonction du contexte et des actions du joueur, quelle animation ou quel son choisir, quel filtre lui appliquer, à quel rythme…
Cela permet la construction des objets du jeu. La conception des niveaux est elle aussi fondée sur l’éditeur, qui permet au concepteur de niveau de placer les objets dans le niveau. Le concepteur doit en outre poser des déclencheurs (sorte de détecteurs) qui vont permettre de lancer certains comportements des objets du jeu. Les ambiances sonores sont localisées de cette façon.
L’éditeur de jeu comporte également des bibliothèques logicielles facilitant le travail des équipes dans tous les domaines : le rendu graphique et l’animation, le son, la simulation physique, les réseaux informatiques et, bien entendu, l’IA.
L’éditeur de jeu s’accompagne le plus souvent d’un moteur de jeu, lequel va produire un jeu, donc un logiciel qui comprend tous les éléments propres au jeu, toutes les bibliothèques logicielles utilisées, ainsi qu’un logiciel spécifique, un moniteur, qui va piloter l’exécution du jeu dans le temps en réalisant périodiquement les opérations de lecture des commandes du ou des joueurs, de mise à jour du monde virtuel et de prise de décision par l’ordinateur, ainsi que de rendu des images et du son. Ce logiciel peut être en général adapté en fonction de la machine cible : PC, console, téléphone…
La durée d’un cycle – elle détermine la fluidité de l’animation – est cadencée par la fréquence de rafraîchissement des images (15 à 60 images par seconde selon les plates-formes). Cette contrainte dynamique détermine la priorité des traitements. À chaque cycle, le rendu visuel et sonore est traité. Le calcul de la cinématique des objets est traité de 2 à 10 fois plus lentement. Enfin, tous les calculs liés aux réactions dues aux actions du joueur, donc l’«intelligence artificielle», sont examinés beaucoup moins fréquemment.

n23 jv

L’intelligence artificielle dans les jeux vidéo
Délaissée après une période de recherche intense et d’applications potentielles déçues, l’IA a trouvé dans les jeux vidéo et les mondes virtuels un champ d’expérimentation et de développement. On entend par IA tout algorithme qui permet à l’ordinateur de prendre des décisions en fonction des actions d’un ou plusieurs joueurs. L’objectif de ces décisions peut être de deux ordres : incarner un adversaire ou améliorer l’expérience du joueur en termes de mécanisme de jeu, de crédibilité de l’univers virtuel… Pour cela, l’ordinateur peut soit prendre la place d’un joueur, soit avoir un rôle propre dans le jeu, par exemple en contrôlant un personnage non joueur (PNJ) ou ayant le rôle du manager du jeu dont la responsabilité est de garantir une bonne expérience pour le joueur. Cela conduit aux quatre situations du tableau ci-dessous. La case 1(Joueur/Gagner) correspond à un domaine de l’IA en vogue puisque, depuis que DeepBlue, a battu en match Garry Kasparov, champion du monde d’échecs, et qu’AlphaGo est devenue champion du monde de go puis du jeu vidéo Starcraft 23, l’intelligence humaine se sent menacée. Ce cas stricto sensu ne présente que peu d’intérêt commercial. En effet, qui achètera un jeu où le joueur est sûr de perdre ? Le fait de savoir gagner sert à améliorer l’expérience du joueur et à rejoindre la case 4 pour « coacher » le joueur en augmentant progressivement le niveau de son adversaire virtuel. C’est ce que réalise le mode solo des jeux de stratégie comme Starcraft ou Civilisation, qui amènent progressivement le joueur à un niveau qui lui permet ensuite d’affronter d’autres joueurs humains. (Pour les échecs, il faut disposer réellement d’une IA qui joue très bien.) Pour ce qui est de Civilisation, l’ordinateur connaît beaucoup de choses que le joueur ne connaît pas (la totalité de l’état de la carte du jeu, par exemple…) et il peut donc tricher pour surclasser le joueur.
Eddy E. Yannakis et Julian Torgelius donnent quelques exemples d’application de la case 2 (PNJ/Gagner). La case 3 (Joueur/Expérience), elle, a de nombreuses applications. Par exemple, le jeu Left 4 Dead, où quatre joueurs affrontent des hordes de zombies et où la coopération est au coeur de la qualité des parties, il est possible de jouer à deux ou trois joueurs humains, le ou les joueurs manquants sont remplacés par des IA qui jouent subtilement sur la coopération4.
La case 4 (PNJ/Expérience) est le domaine ou l’IA est la plus prégnante dans les jeux vidéo. À la question très ambiguë: « comment reconnaître, si cela arrive un jour, qu’un ordinateur est devenu intelligent ? », Alan Turing proposa en 1950 une réponse, appelée « test de Turing ». Pour les jeux vidéo, supposons que nous limitions le test de la façon suivante : l’homme et l’ordinateur sont tous les deux impliqués dans un jeu contrôlant l’un un avatar, et autre un NPC (non player character, c’est-à-dire un personnage contrôlé par l’ordinateur). Les deux positions sont interchangeables dans le jeu. De plus, l’ordinateur qui gère le jeu n’est pas celui qui joue et ne connaît pas, lui non plus, qui contrôle l’avatar et qui contrôle le NPC. Un jury observe le jeu. Le jour où le jury ne pourra plus distinguer l’avatar du NPC… l’ordinateur jouera comme un humain.
Cela veut dire seulement que l’ordinateur a un comportement observable de type humain. L’intérêt en est considérable dans le cadre du jeu et de la création d’univers virtuels. Il est alors important de distinguer ce que les chercheurs et les praticiens entendent par « intelligence artificielle » : ce que les professionnels du jeu vidéo appellent « intelligence artificielle » dans le jeu vidéo est dans l’apparence.

n23 jv

Les niveaux d’utilisation de l’IA dans un jeu
L’intelligence artificielle intervient à différents niveaux. L’exemple le plus classique – premier niveau – est la recherche d’un chemin permettant d’atteindre un lieu donné (path finding). La méthode doit, a minima, permettre d’éviter les obstacles. Elle peut chercher un chemin dans le plan ou dans l’espace; elle peut avoir d’autres contraintes dépendant du genre de jeu et de la situation. Ainsi, dans un jeu d’infiltration ou de guerre, il faut trouver un chemin où le personnage est le moins à découvert. Enfin, le cheminement doit correspondre au mieux à la nature du personnage qu’il pilote. Le path finding s’applique au NPC, mais également, dans certains jeux, aux personnages contrôlés par le joueur. Celui-ci, lorsqu’il veut diriger une des armées qu’il commande, se contente de désigner la destination; en général, la troupe acquiesce et part suivant le chemin calculé par l’ordinateur. Le rapport à l’environnement se généralise à des problèmes plus complexes : par exemple détecter un objet comme une chaise ou un escalier et gérer de façon intelligente la géométrie du personnage pour qu’il semble utiliser ces objets « humainement ». De même, l’IA peut s’immiscer dans le contrôle par le joueur de son avatar. Ainsi, le joueur donne une impulsion ou une intention via son contrôleur et le jeu répond par une action complexe. Parmi les premiers jeux à utiliser ce mécanisme de contrôle, il y a Prince of Persia : Sands of Time. Enfin, l’IA peut intervenir pour moduler la mise en scène du jeu en temps réel et orienter les perceptions du joueur de son environnement.
Un deuxième niveau porte sur les comportements individuels et leur adéquation avec la trame narrative du jeu. Comment gérer le NPC du gardien du temple pour qu’il réagisse efficacement et de manière crédible, en apparence au moins, quand l’avatar du joueur, Harrison Ford « en personne », se présente ? Si Harrison est visible du gardien, il faut au moins que ce dernier défende l’entrée du temple face à cet intrus, en lui tirant dessus par exemple. Si Harrison lui tire dessus, il faut qu’il se mette à couvert et continue à tirer… C’est au travers de ces réactions que le joueur mesure pleinement les conséquences de ses actions. Ainsi il peut mesurer indirectement sa progression dans l’histoire du jeu.
Un troisième niveau porte sur les comportements collectifs et la notion de tactique ou de stratégie. Cela commence avec la gestion des déplacements (comportement des individus dans une foule, déplacement d’unités militaires, d’avions…) et, dans les jeux de stratégie ou les jeux de sports collectifs, s’étend jusqu’à des comportements tactiques. La stratégie s’impose dans certains jeux requérant une réflexion à moyen terme. L’une des clés devient alors la capacité d’apprendre les réactions du joueur et son comportement.
Le quatrième niveau pose le problème de la narration interactive, de l’adaptation du déroulement du jeu au comportement du joueur. L’apprentissage peut être implicite : l’ordinateur connaît le parcours du joueur et évalue ses capacités.
Il gère, en conséquence, le niveau de difficulté, l’expression de l’intensité dramatique, la variabilité de l’expérience ludique… Il peut aussi être explicite : le joueur gère un système d’apprentissage. Illustrons les trois premiers niveaux. Dans les jeux Halo, le joueur est à la tête d’un groupe de PNJ combattant avec lui. Exemples d’objectifs assignés à l’IA des PNJ :
joueur : « Ne pas trop s’approcher de son avatar, choisir les armes en fonction de celles du joueur» ;
menaces : « Si un ennemi est détecté, engager le combat » ;
environnement : « Analyser l’environnement et se comporter correctement et tactiquement dans cet environnement» ;
comportements de groupe : « Éviter que plusieurs PJN soient à court de munitions en même temps».
Les trois premiers niveaux s’inspirent de la robotique et lui ont inspiré des techniques de déplacement et des mécaniques comportementales, pour un seul robot (un véhicule autonome, par exemple) ou plusieurs (les nuées de robots). De même, certains systèmes procéduraux d’animation ont inspiré de nouvelles techniques de contrôle de mouvements pour la cobotique (collaboration entre robot et humain).
Le quatrième niveau devrait s’inspirer des systèmes experts ainsi que des techniques d’apprentissage et fait appel à des aspects fondamentaux de l’IA. Il pose le problème de l’expression dans les médias interactifs : captiver l’attention et amener le joueur à apprendre sans cesse pour venir à bout du jeu. Les applications en matière d’enseignement assisté par ordinateur sont innombrables. Se posent également des problèmes d’interfaces complexes : vocale avec reconnaissance de la parole, génération de dialogue et synthèse de la parole; interprétation et utilisation en temps réel d’images fixes ou animées captées par une caméra. À la frontière de l’IA, du graphisme et de l’ergonomie, les jeux sont un des seuls domaines de l’informatique pour lequel ont été définies des interfaces 3D qui satisfassent les utilisateurs.
A contrario, les techniques d’intelligence artificielle utilisées dans la plus grande partie des jeux sont rudimentaires. La linéarité de la plupart des jeux permet de garantir un certain contrôle sur les interactions possibles, et donc de restreindre l’intelligence nécessaire au PNJ pour être crédible lors de ses interactions avec le joueur. Les comportements reposent, dans le meilleur des cas, sur des mécanismes de représentation des connaissances qui ont une vingtaine d’années. La narration interactive et l’apprentissage, s’appuient sur des méthodes très classiques (apprentissage par renforcement).
Les raisons de cette timidité sont triples : il y a une absence de communication entre les théoriciens et les praticiens ; le jeu, dominé par la synthèse d’image, laisse peu de capacités de calcul et de mémoire aux algorithmes d’IA; enfin, les concepteurs de jeux ne veulent pas prendre le risque de s’appuyer sur des méthodes dont la maîtrise est très complexe. Une méthode simple, qui satisfait les objectifs de gameplay et qui est facile à tester, a leur préférence.

Conclusion
L’IA est en train de changer le jeu vidéo et d’amener progressivement à l’utilisation de technologies plus complexes. Le domaine le plus important est lié à l’analyse du comportement du joueur.
Pour rendre un PNJ crédible, il y a deux techniques. La première d’IA « classique » essaie de créer un personnage crédible « en soi ». C’est très difficile. La seconde consiste à créer un personnage crédible pour le joueur, c’est-à-dire de s’appuyer sur ce que l’on peut savoir de lui et de ce qu’il a appris et comment il s’est comporté dans le jeu. C’est, dans une forme très primitive, ce que font les systèmes de dialogue de type chatbot.
De plus, si l’on dispose d’un profil précis du joueur, il est possible, d’adapter le jeu à son niveau et à ses envies et, bien entendu, de lui vendre des objets virtuels adaptés… Ce domaine rejoignant la tendance générale d’IA, et big data a le vent en poupe ! L’adaptation du jeu au joueur est un aspect plus général de production générative de contenu. La majorité des jeux actuels évoluent dans un univers scénaristique, graphique et sonore prédéterminé. Le scénario est codé dans le programme, les objets graphiques et sonores sont des fichiers de données symboliques (description de scènes…) ou de matériaux numériques (textures, fichiers audio). L’interactivité ne joue que sur l’enchaînement et le cadrage (caméras adaptées aux déplacements du joueur, par exemple) de ces éléments. Le concepteur dispose dès lors d’un contrôle sur ce qui peut arriver au joueur et sur ce qu’il peut percevoir. Inconvénient : le caractère limité et répétitif de l’univers construit. Tant que la durée de vie d’un jeu est elle-même limitée, la seule contrepartie est économique, car construire un univers qui, durant une centaine d’heures, offre des découvertes constantes est extrêmement coûteux en termes de main-d’oeuvre (concepteurs de niveaux, graphistes, musiciens…). En outre, un univers très grand doit être chargé via le réseau, ce qui peut poser des problèmes en termes de débit pour certains constituants (textures…).
Une autre méthode consiste à construire l’univers de façon générative. Dans ce cas, il est décrit sous forme de règles comportementales programmées. En général, ces règles sont locales à une partie de l’univers : comportement d’un personnage non joueur, structure du terrain dans les montagnes, transition sonore lorsque l’on passe d’une zone urbaine à une zone rurale… L’univers est généré en temps réel en fonction des déplacements du joueur et d’aléas engendrés artificiellement. L’univers ainsi décrit représente un volume d’information très faible, car il est décrit sous forme d’un langage symbolique. La contrepartie de ce choix est la difficulté de prévoir, de contrôler a priori, les évolutions du jeu, et donc de garantir l’expérience du joueur. Ainsi, l’IA peut être utilisée dans de nombreux domaines : génération de scénarios, adaptation des mécanismes de jeu ou développement de comportements génératifs pour les PNJ. Les producteurs de jeux ont toujours su capter et adapter les techniques afin de faire évoluer leur domaine (notamment dans le rendu graphique ou les interfaces de contrôle). Le jeu vidéo est un marché en plein essor, qui a les moyens (au moins pour les gros studios) de faire de la veille technologique, voire de lancer des sujets de recherche. L’IA n’est pas en reste, et avec l’engouement actuel les producteurs de jeux s’y intéressent à nouveau pour relever de nouveaux défis, que ce soit pour générer des univers cohérents et persistants, analyser le comportement des joueurs, leur proposer des aventures toujours variées et intéressantes, et bien entendu pour mettre au point de nouvelles façons de captiver les joueurs et de les amener à dépenser un peu plus d’argent. Il est intéressant de noter que les usages de l’intelligence artificielle dans les jeux explorent souvent des pistes qui trouvent des échos dans de nombreux autres domaines, que ce soit la formation, le marketing ou encore la simulation.

 

1. Par exemple 3DSMax ou Maya.
2. Musical instrumental digital interface.
3. L’IA DeepMind défie les joueurs pro sur StarCraft II et remporte presque tous les matchs (en anglais)
4. Le système d’IA de Left 4 Dead (en anglais)

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.