L'Intelligence artificielle et les jeux

Lorsque la plupart des gens pensent à l'intelligence artificielle dans les jeux, ils pensent à l'Intelligence artificielle qui joue le jeu ou contrôle les personnages non joueurs que vous rencontrez dans le jeu. Cela peut être dû à l'association entre l'intelligence artificielle et l'idée d'action autonome, ou encore à l'association entre les personnages du jeu et les robots. Bien que jouer à des jeux soit loin d’être la seule application intéressante pour l’l'intelligence artificielle dans les jeux, c’est une application très importante, celle avec
la plus longue histoire. De nombreuses méthodes de génération de contenu  et de modélisation du lecteur dépendent également des méthodes de jeu. Il est donc judicieux de discuter du jeu avant la génération de contenu et la modélisation de lecteur.


Pourquoi utiliser l'IA pour jouer à des jeux?

La question de savoir pourquoi vous pouvez déployer une intelligence artificielle ou artificielle pour jouer à un jeu peut être réduite à deux questions plus spécifiques: l'IA joue-t-elle pour gagner ?
La question ici est de savoir si atteindre une performance aussi élevée que possible dans le jeu est l’objectif primordial de la méthode d’IA. Par haute performance, il faut ici obtenir un score élevé, gagner son adversaire, survivre longtemps ou de façon similaire.

Il n'est pas toujours possible de définir ce que sont haute performance et «jouer pour gagner» - par exemple, Les Sims (Electronic Arts, 2000) n'a pas d'état gagnant clairement et la condition gagnante dans Minecraft (Mojang, 2011) n'est pas étroitement liée à Bien jouer le jeu - mais dans un très grand nombre de jeux, de Tetris (Alexey Pajitnov et Vladimir Pokhilko, 1984) à La série Go to the Halo (Microsoft Studios, 2001-2015), il est facile de définir ce que signifie mieux jouer. Cependant, tous les joueurs ne jouent pas pour gagner, et peu de joueurs jouent pour gagner à tout moment. Les joueurs jouent pour passer le temps, se détendre, tester de nouvelles stratégies, explorer le jeu, jouer des rôles, tenir compagnie à leurs amis, etc.
Un algorithme d'intelligence artificielle pourrait également être utilisé dans un certain nombre de rôles allant au-delà de la simple interprétation. Par exemple, l'agent peut jouer de manière humaine, jouer de manière divertissante ou se comporter de manière prévisible. Il est important de noter que l'optimisation d'un agent pour jouer un jeu pour gagner peut être en contradiction avec certaines des autres façons de jouer: de nombreux agents IA performants jouent de manière totalement non humaine, ennuyeuse et / ou imprévisible.

L'IA joue-t-elle le rôle d'un joueur humain?

Certains jeux sont mono-joueurs, d'autres multi-joueurs où tous les joueurs sont humains. Cela est particulièrement vrai pour les jeux de société classiques. Mais beaucoup, probablement la plupart, des jeux vidéo incluent divers personnages non-joueurs. Celles-ci sont contrôlées d'une manière ou d'une autre par le logiciel. En fait, pour beaucoup de développeurs de jeux, le terme  IA du jeux désigne le code du programme qui contrôle les personnages non-joueurs, quel que soit leur degré de simplicité ou de sophistication. De toute évidence, le rôle des PNJ varie fortement d’un jeu à l’autre et d’un joueur à l’autre. Dans la discussion, nous désignons les rôles de non-joueurs comme ceux qu'un humain ne pourrait pas ou ne voudrait pas assumer. Ainsi, tous les rôles dans un jeu de tir à la première personne (FPS) exclusivement multi-joueurs, tel que Counter-Strike (Valve Corporation, 2000), sont des rôles de joueur, alors qu’un jeu de rôle typique pour un seul joueur tel que The Elder Scrolls V : Skyrim (Bethesda Softworks, 2011) n’a qu’un rôle de joueur, les autres étant des personnages non-joueurs. En général, les rôles de non-joueur ont des possibilités plus limitées que les rôles de joueur.
En résumé, l'IA pourrait jouer un jeu pour gagner ou pour l'expérience de jeu en prenant le rôle du joueur ou le rôle d'un personnage non-joueur. Cela donne quatre utilisations principales de l'IA pour jouer à des jeux. Maintenant, nous allons examiner plus en détail ces quatre motivations principales pour la construction d’une IA de jeu.


   1. Jouer pour gagner dans le rôle de joueur

L’utilisation la plus commune de l’IA avec des jeux en milieu universitaire est peut-être de jouer pour gagner, tout en jouant le rôle d’un joueur humain. Ceci est particulièrement courant lorsque vous utilisez des jeux en tant que banc d'essai d'IA.
Les jeux ont été utilisés pour tester les capacités et les performances des algorithmes d'intelligence artificielle pendant une très longue période. La plupart des jalons dans la recherche sur l'IA et les jeux ont pris la forme d'un programme d'IA battant le meilleur joueur humain du monde à certains jeux. Voir, par exemple, Deep Blue d’IBM remportant la victoire sur Garry Kasparov aux échecs, AlphaGo de Google DeepMind remportant la victoire sur Lee Sedol et Ke Jie in Go, et la victoire de Jeopardy. Tous ces événements étaient des événements très médiatisés largement considérés comme une confirmation des capacités croissantes des méthodes d'IA. Comme indiqué au chapitre 1, les chercheurs en intelligence artificielle se tournent de plus en plus vers les jeux vidéo pour trouver les défis appropriés pour leurs algorithmes. Le nombre de compétitions actives associées aux conférences IEEE CIG et AIIDE en témoigne, tout comme le choix de StarCraft II par DeepMind et Facebook AI Research (Blizzard Entertainment, 2015) comme banc d’essai pour leurs recherches.


Les jeux sont d'excellents bancs d'essai pour l'intelligence artificielle pour un certain nombre de raisons, une raison importante est que les jeux sont conçus pour tester l'intelligence humaine. Des jeux bien conçus exercent bon nombre de nos capacités cognitives.
Le plaisir de jouer à des jeux provient en grande partie de leur apprentissage, ce qui signifie que des jeux bien conçus sont également d'excellents enseignants. Cela signifie qu'ils offrent le type de progression des compétences qui permet de tester l'IA à différents niveaux de capacité.
Outre l'analyse comparative de l'IA, il existe certaines raisons pour lesquelles vous pourriez vouloir utiliser l'IA à la place d'un humain pour jouer à des jeux gagnants. Par exemple, dans certains jeux, une forte intelligence artificielle est nécessaire pour offrir un défi aux joueurs. Cela inclut de nombreux jeux stratégiques d’informations parfaites, tels que les jeux de société classiques, tels que Chess, Checkers et Go. Cependant, pour les jeux contenant des informations cachées, il est souvent plus facile de contester en se contentant de "tricher", par exemple en donnant au joueur IA l'accès à l'état caché du jeu ou même en modifiant l'état caché de manière à le rendre plus difficile. jouer pour l'humain. Par exemple, dans le jeu de stratégie épique Civilization (MicroProse, 1991), toutes les civilisations peuvent être jouées par des joueurs humains.

Cependant, jouer à n'importe quel jeu de Civilization dans les mêmes conditions qu'un homme est très difficile, et à notre connaissance, il n'y a pas d'IA capable de jouer à ces jeux ainsi qu'un bon joueur humain. Par conséquent, lorsque vous jouez contre plusieurs civilisations contrôlées par ordinateur, le jeu triche généralement en leur fournissant des conditions préférentielles de différentes manières.



Un autre cas d'utilisation de l'IA pour gagner dans un rôle de joueur consiste à tester des jeux. Lors de la conception d'un nouveau jeu ou d'un nouveau niveau de jeu, vous pouvez utiliser un agent de jeu pour tester si le jeu ou le niveau est jouable, ce que l'on appelle des tests basés sur des simulations.
Cependant, dans de nombreux cas, vous souhaitez que l'agent joue également le jeu à la manière d'un homme pour rendre les tests plus pertinents. Historiquement, l’utilisation de l’intelligence artificielle pour gagner le rôle de joueur a été si dominante dans les travaux universitaires que certains chercheurs n’ont même pas envisagé d’autres rôles pour l’intelligence artificielle dans les jeux. En développement de jeu, par contre, cette motivation particulière pour l'IA de jeu est beaucoup plus rare; dans les jeux existants, la plupart des IA dans les jeux existants sont centrées sur des rôles de non-joueurs et / ou sur l'expérience. Cette inadéquation a toujours contribué au manque de compréhension des milieux universitaires et de l'industrie sur l'intelligence artificielle dans les jeux. Au cours des dernières années, toutefois, la multitude de motivations à l’intelligence artificielle dans le jeu a été mieux comprise.

   2. Jouer pour gagner dans un rôle de non-joueur

Les personnages non joueurs sont très souvent conçus pour ne pas offrir le maximum de défi ou être aussi efficaces que possible, mais plutôt pour être amusants ou humains. Cependant, il y a des cas où vous voulez qu'un personnage non-joueur joue aussi bien que possible. Les jeux de stratégie tels que Civilization (MicroProse, 1991) ont un besoin (sans réponse) élevé d’opposants non tricheurs très performants, bien que nous parlions ici de jouer des rôles que d’autres joueurs humains auraient pu en principe assumer. D'autres jeux de stratégie, tels que XCOM: Enemy Unknown (Jeux 2K, 2012), ont des rôles que les humains ne joueraient pas, ce qui crée un besoin pour l'IA (les personnages non joueurs) de gagner.
D'autres fois, créer un PNJ en train de gagner est un préalable nécessaire à la création d'un PNJ en quête d'expérience. Par exemple, dans un jeu de course, vous voudrez peut-être implémenter une "IA élastique" dans laquelle les voitures des PNJ adaptent leur vitesse au joueur humain, de sorte qu'elles ne soient jamais trop loin derrière ou en avance. Faire ceci est facile, mais seulement si vous avez déjà un contrôleur d'intelligence artificielle capable de bien jouer, soit en jouant bien le jeu, soit en trompant d'une manière qui ne peut pas être facilement détectée. Les performances du contrôleur peuvent ensuite être réduites si nécessaire pour correspondre aux performances du joueur.



   3. Jouer pour acquérir de l'expérience dans le rôle de joueur

Pourquoi voudriez-vous un agent qui joue le rôle d'un joueur humain, mais qui ne se concentre pas sur la victoire ? Par exemple, quand vous voulez un agent humain. La raison la plus importante de ces agents est peut-être évoquée : les tests basés sur la simulation.
Cela est important à la fois lors de la conception manuelle de jeux et de contenus de jeux et lors de la création de contenu de manière procédurale. dans ce dernier cas, la qualité du contenu du jeu est souvent évaluée automatiquement à l'aide d'un agent jouant le jeu. Lorsque vous essayez de voir comment le jeu serait joué par un humain, il est donc important que le L'agent joue comme un humain, ce qui signifie qu'il a des performances comparables à celles d'un humain, qu'il a une vitesse de réaction similaire, qu'il fait le même type d'erreurs qu'un humain serait curieux, qu'il est curieux et qu'il explore les mêmes domaines qu'un être humain, etc. Si l'agent de l'IA joue différemment de la manière dont un humain joue, cela peut donner des informations erronées sur, par exemple, si un jeu peut être gagné (il peut l'être, mais seulement si vous avez des réflexes surhumains) ou si un mécanisme de jeu est utilisé ( peut-être qu'un humain l'utilisera, mais pas une IA qui essaie de jouer de manière optimale).

Une autre situation dans laquelle un jeu de type humain est nécessaire est lorsque vous voulez montrer comment jouer un niveau à un joueur humain. Une caractéristique commune des jeux est une sorte de mode démo, qui montre le jeu en action. Certains jeux ont même une fonctionnalité de démonstration intégrée au mode de jeu principal. Par exemple, New Super Mario Bros (Nintendo, 2006) sur Nintendo Wii vous montrera comment jouer une partie particulière d’un niveau si vous échouez à plusieurs reprises. Le jeu reprend simplement les commandes et joue pour vous pendant environ 10 à 20 secondes, puis vous permet de continuer après. Si tout le contenu du niveau est connu à l'avance et qu'il n'y a pas d'autres joueurs, ces démonstrations peuvent être codées en dur. Si certaines parties du jeu sont conçues par l'utilisateur ou générées de manière procédurale, le jeu doit générer ces démonstrations lui-même.

Jouer à la "ressemblance humaine" peut sembler un objectif plutôt flou et subjectif, et c'est le cas. Un agent typique de l'IA joue de nombreuses manières différentes d'un joueur humain typique. La différence entre les humains et les IA dépend de l'algorithme utilisé pour jouer au jeu, de la nature du jeu lui-même et d'une multitude d'autres facteurs. Pour approfondir ces différences et stimuler le développement d'agents pouvant jouer de manière humaine, deux compétitions similaires à des tests de Turing ont été organisées. La 2K BotPrize s’est tenue de 2008 à 2013 et a mis au défi les concurrents de développer des agents capables de jouer au Tournoi FPS Unreal 2004 (Epic Games, 2004) de telle sorte que les participants humains pensent que les robots sont des êtres humains. De même, la piste de test de Turing du concours Mario AI a laissé les gens soumettre les agents de jeu de Super Mario Bros (Nintendo, 1985), jugés par des spectateurs humains sur le point de savoir s’ils étaient humains ou non. Bien qu'il nous prenne trop de temps pour passer en revue tous les résultats de ces compétitions ici, il existe des signes très évidents de non-humanité qui se reproduisent d'un match à l'autre pour de nombreux types d'agents d'IA. Celles-ci incluent des réactions extrêmement rapides, une commutation d'actions plus rapide qu'un humain, ne pas tenter des actions qui échouent (en raison d'un trop bon modèle du résultat des actions), ne pas effectuer d'actions inutiles (telles que sauter quand on pourrait simplement courir ) et ne pas hésiter ou arrêter de penser.


Bien sûr, tous les joueurs d’un jeu ne jouent pas de la même manière. Si l’on analyse un ensemble de traces d’un jeu, on peut souvent trouver un certain nombre d’archétypes  de joueurs, groupes de joueurs qui jouent le jeu de manière très différente. par exemple, l'agression, la vitesse, la curiosité et les compétences. Dans le cadre du travail sur l’IA qui joue à des jeux de style humain, il y a eu des travaux sur l’apprentissage et la reproduction du style de jeu de joueurs individuels et sur l’apprentissage de jeux à la manière de l’un des plusieurs personas.



   4. Jouer pour acquérir de l'expérience dans un rôle de non-joueur

Dans l’industrie du jeu, le but le plus courant en matière d’intelligence artificielle est certainement de faire en sorte que les personnages non-joueurs agissent, presque toujours d’une manière qui ne vise pas principalement à vaincre le joueur ou à "gagner" le jeu ( pour de nombreux PNJ même pas être défini ce que signifie gagner le jeu). Les PNJ peuvent exister dans les jeux à des fins multiples, parfois se chevauchant : agir en tant qu’adversaires, fournir assistance et conseils, faire partie d’un puzzle, raconter une histoire, donner un fond à l’action du jeu, être émotif expressif et ainsi de suite. La sophistication et la complexité comportementale des PNJ varient également considérablement, des mouvements gauche à droite des extraterrestres dans Space Invaders (Midway, 1978) et Koopas dans la série Super Mario Bros (Nintendo, 1985-2016) aux comportements nuancés et variés.

Selon le rôle du PNJ, des tâches très différentes peuvent être confiées aux algorithmes d'intelligence artificielle qui le contrôlent. On peut certes affirmer que beaucoup de scripts qui contrôlent les PNJ ne peuvent pas être décrits en termes d'intelligence artificielle de manière conventionnelle, mais nous nous en tiendrons à l'acronyme utilisé ici, car il est couramment utilisé pour tout code qui contrôle des personnages non-joueurs dans le jeu. Dans de nombreux cas, les concepteurs de jeux recherchent une illusion d’intelligence: le joueur doit croire que le PNJ est en quelque sorte intelligent, même si le code qui le contrôle est très simple. La ressemblance humaine au sens discuté dans la section précédente peut être ou ne pas être l’objectif ici, en fonction du type de PNJ qu’il est (un robot ou un dragon ne devrait peut-être pas se comporter de manière trop humaine). Dans d'autres cas, la caractéristique la plus importante d'un PNJ est sa prévisibilité. Dans un jeu furtif typique, le défi consiste en grande partie à mémoriser et à prévoir les régularités des gardes et autres personnages à éviter. Dans de tels cas, il est logique que les patrouilles soient entièrement régulières, afin que leur horaire puisse être glané par le joueur. De même, dans de nombreux jeux, les boss monstres sont conçus pour répéter certains mouvements dans une séquence et ne sont vulnérables à l’attaque du joueur que lors de certaines phases du cycle d’animation. Dans de tels cas, un comportement trop «intelligent» et adaptatif serait incompatible avec la conception du jeu. Il convient de noter que même dans les cas où vous vous attendez à avoir besoin d'un comportement souple et complexe de la part des PNJ, un agent qui joue pour gagner peut être très problématique.

De nombreuses stratégies très performantes sont considérées comme très ennuyeuses par le joueur et constituent des exemples de comportement «antisportif». Par exemple, lors d’une expérience de construction d’une IA hautement performante pour un jeu de stratégie tour par tour, il s’est avéré qu’une des solutions (basée sur la neuro-évolution) était extrêmement ennuyeuse, car elle prenait simplement une position défensive et attaquait unités entrantes avec des attaques à longue distance. De même, camper (rester immobile dans une position protégée et attendre que les ennemis s’exposent au feu) est un comportement généralement mal vu et souvent interdit dans les jeux FPS, mais il est souvent très efficace et facile à apprendre pour un IA (accessoirement , l’entraînement militaire réel met souvent l’accent sur les tactiques de camping: ce qui est efficace n’est souvent pas amusant). Un autre exemple intéressant est le travail de Denzinger et al. dans lequel un algorithme évolutif a révélé que le meilleur moyen de marquer un but dans FIFA 99 (Electronic Arts, 1999) était de forcer un coup de pied de réparation. Le processus évolutif a trouvé un optimum local dans le paysage de la condition physique correspondant à un point d’intérêt ou à un exploit des mécanismes du jeu, ce qui a donné un gameplay très efficace, mais prévisible et ennuyeux. Exploiter les bugs du jeu pour gagner est une stratégie créative suivie non seulement par les IA mais également par les joueurs.

A suivre >>>