# Intelligence artificielle dans le jeu vidéo

L'intelligence artificielle dans le jeu vidéo est l'utilisation d'algorithmes et de techniques permettant de simuler des comportements intelligents chez les personnages et éléments du jeu. Elle est un domaine clé du développement de jeux, cherchant à rendre l'expérience de jeu plus immersive en offrant des interactions crédibles avec des entités non-joueurs (PNJ), une gestion dynamique de l'environnement ou des prises de décisions stratégiques par l'intelligence artificielle.

## Histoire

L'usage de l'intelligence artificielle (IA) dans les jeux vidéo remonte aux premières années de l'industrie. L'un des premiers exemples marquants est le jeu Pong (1972), dans lequel une IA simple régulait les mouvements de la raquette contrôlée par l'ordinateur. Le jeu Space Invaders (1978) qui a montré une évolution, dans lequel des ennemis accéléraient à mesure que le joueur les éliminait, donnant une illusion d'intelligence adaptative.
Dans les années 1980, les jeux tels que Pac-Man introduisirent des comportements plus sophistiqués, avec des ennemis dotés de routines spécifiques pour chasser ou éviter le joueur. Le jeu Rogue (1980) introduisit quant à lui des comportements procéduraux basés sur des algorithmes de génération aléatoire, ouvrant la voie à des IA plus imprévisibles et dynamiques.

## Techniques et algorithmes courants

L'intelligence artificielle dans les jeux vidéo repose sur plusieurs techniques et algorithmes classiques, qui sont souvent adaptés et optimisés pour offrir des performances suffisantes en temps réel tout en tenant compte des contraintes de ressources des jeux.

### Arbres de décision

Les arbres de décision sont largement utilisés pour modéliser les prises de décision des IA dans les jeux vidéo. Ils permettent aux PNJ de réagir à des situations spécifiques en fonction de conditions définies. Un exemple célèbre est Halo (2001), où les ennemis utilisent des arbres de décision pour déterminer leur comportement en fonction de la distance ou de la position du joueur.

### Systèmes de scripts

Dans de nombreux jeux, l'IA suit des scripts prédéfinis pour effectuer des actions spécifiques à des moments donnés. Ces scripts peuvent être utilisés pour orchestrer des séquences narratives ou pour contrôler des événements précis dans le jeu. Par exemple, dans "Half-Life" (1998), les ennemis réagissent de manière prédéterminée à l'arrivée du joueur.

### Pathfinding et algorithme A

L’algorithme A\* est un algorithme de pathfinding très populaire dans les jeux vidéo, utilisé pour déterminer le chemin le plus court entre deux points tout en évitant les obstacles. Il est souvent utilisé pour le déplacement des PNJ dans des environnements complexes. Ce type d'IA a été popularisé par des jeux comme StarCraft (1998), où les unités utilisent A\* pour naviguer sur le champ de bataille.

### Comportements basés sur des règles

Certains jeux, comme Les Sims (2000), utilisent des systèmes de règles pour contrôler le comportement des personnages. Chaque PNJ suit un ensemble de règles qui définissent ses besoins, comme manger, dormir ou interagir avec d'autres personnages.

### Intelligence artificielle procédurale

La génération procédurale d'IA, mise en œuvre dans No Man's Sky (2016), permet de créer des mondes, des personnages et des comportements en temps réel grâce à des algorithmes générant du contenu de manière dynamique et aléatoire. Cela offre des expériences de jeu uniques et imprévisibles à chaque partie.

## Implémentations
### Jeux de tir à la première personne

En 2018, une équipe de chercheurs de Google DeepMind affirme sur son blog avoir conçu un programme d'intelligence artificielle capable de battre les champions humains du jeu vidéo de tir à la première personne Quake III, en utilisant les bots (les robots) intégrés au jeu. Le mode choisit était le CTF (Capture the flag, « capture du drapeau » en français) : dans ce mode, le but du jeu est de récupérer le drapeau de la base ennemie pour le ramener dans sa propre base, tout en défendant son propre drapeau des assauts ennemis.
N'ayant reçu aucune information avant de commencer à jouer, ces robots (nommés « agents coopératifs complexes » par Deepmind) ont joué des milliers de parties entre eux, apprenant de leurs erreurs pour perfectionner leurs tactiques (« comment voir, agir, coopérer et concourir dans des environnements invisibles, le tout à partir d’un seul signal de renforcement par match » disant aux agents s'ils avaient gagné ou non). À chaque nouvelle partie, une nouvelle map (zone de jeu) était générée automatiquement (de manière procédurale), permettant de compliquer la tâche aux bots. Les trente bots se sont affrontés sur un demi-million de parties (450 000), afin de maîtriser l’environnement et les différentes tactiques et stratégies inhérentes au jeu$^,$. Selon les chercheurs : « Grâce à de nouveaux développements dans l’apprentissage par renforcement, nos agents ont atteint des performances de niveau humain dans Quake III Arena CTF, un environnement multi-agents complexe et l’un des jeux multijoueurs cultes en 3D à la première personne. Ces agents démontrent leur capacité à faire équipe avec d’autres agents artificiels et des joueurs humains ». Pour Deepmind, « les agents n’ont jamais été informés des règles du jeu, mais ont appris ses concepts fondamentaux et [ont] développé efficacement une intuition pour le CTF ».
Au lieu de former un seul agent, les chercheurs ont entraîné « une population d’agents » qui apprenaient en jouant les uns avec les autres, fournissant ainsi « une diversité de coéquipiers et d’adversaires ». Chaque agent dans la population possède « son propre signal de récompense interne, ce qui permet aux agents de générer leurs propres objectifs internes, comme la capture d’un drapeau ». « Un processus d’optimisation à deux niveaux optimise les récompenses internes des agents directement pour gagner », en se servant de l’apprentissage par renforcement. Selon les chercheurs, « les agents opèrent à deux échelles de temps, rapide et lent, ce qui améliore leur capacité à utiliser la mémoire et à générer des séquences d’actions cohérentes ». Selon un graphique de progression dévoilé par Deepmind, les agents dépassaient déjà le niveau des joueurs humains moyens après 150 000 parties.
Par la suite, un tournoi est organisé entre des binômes de machines contre des binômes humains (40 joueurs humains), ainsi que des duos mixtes humains/machines entre eux. Selon DeepMind, les équipes de bots atteignirent un taux de victoire probable de 74 %. En comparaison, les très bons joueurs humains n’ont atteint que 52 % de taux de victoire. Les équipes composées d'agents uniquement sont restées invaincues lors de leurs confrontations avec équipes composées exclusivement d’humains. Les duo d'agents avaient 95 % de chances de gagner contre des équipes humains/agent artificiel.
Par ailleurs, les chercheurs ont observé que la probabilité de victoire par les bots baissait si le nombre de membres dans l'équipe augmentait. Cela s'explique par le fait que l'intelligence artificielle apprend à jouer au jeu en solo, mais ne comprend pas encore complètement la notion de coopération, souvent capitale dans un jeu en équipe. Ce paramètre était l'un des objets de cette expérience, visant à améliorer la conscience collective des IA, ce qui est un point déterminant dans le développement d’une espèce.

### Jeux de stratégie en temps réel

Le 24 janvier 2019, Google DeepMind présente sur son blog AlphaStar, une intelligence artificielle dédiée au jeu de stratégie en temps réel StarCraft II qui a affronté deux joueurs humains lors d'un match retransmis en direct sur Internet. Durant cet évènement, AlphaStar bat deux joueurs professionnels, dont Grzegorz « MaNa » Komincz, de l'équipe Team Liquid, l'un des meilleurs joueurs professionnels au monde. Le développement de cette intelligence artificielle a été permis par un partenariat entre Google DeepMind et Blizzard Entertainment, l'éditeur du jeu.
L'une des caractéristiques de cette intelligence artificielle est qu'elle propose une version implémentant un brouillard de guerre. C'est-à-dire que, contrairement aux personnages contrôlés par le jeu, l'intelligence artificielle n'a accès qu'aux informations auxquelles aurait accès un joueur humain. Par ailleurs, le nombre d'actions par minute d'AlphaStar était inférieur au nombre d'actions par minute de ses adversaires. Ce n'est donc pas la rapidité de jeu de l'IA, mais l'efficacité de sa stratégie qui aurait permis à AlphaStar de gagner, bien que cette question soit sujette à controverses.