L’IA, on croit souvent en affronter, tout le monde en parle beaucoup, et au final, les joueurs n’en savent pas grand-chose. Pour avoir passé les 10 dernières années de ma vie dans des équipes de développement de jeu, à des postes allant de graphiste 3D à producteur exécutif, j’ai eu l’occasion de découvrir un peu mieux ce que cachait ce terme. En espérant que cette expérience vous permettra de mieux comprendre l’envers du décor… et le comportement de vos adversaires.
Le problème de l’IA c’est qu’il y a beaucoup à dire à son sujet. A commencer d’abord par le fait que l’on qualifie de plus en plus d’IA des systèmes qui ne le sont pas vraiment, intelligents. Le terme générique d’IA est bien pratique pour englober à peu près tout ce qui va devoir prendre une décision un peu plus compliquée que « Si le compteur de points de vie du joueur passe sous zéro alors Game Over ».
Pour cerner le champ d’application de ces systèmes d’ « Intelligence Artificielle », commençons par identifier les différents besoins auxquels l’IA doit répondre dans un jeu :
L’application principale de l’IA dans les jeux est souvent liée au déplacement des acteurs, que ce soit les ennemis, ou le personnage du joueur lui-même lorsque les déplacements se font par « point and click ». L’objectif est simple : trouver le chemin le plus efficace entre la position actuelle et le point d’arrivée.
En général, on cherchera le trajet le plus court, sans traverser ni murs ni autre acteur. Certains jeux posent plus de problèmes que d’autres, comme les jeux de stratégie, par exemple, qui n’utilise pas doivent déplacer des groupes d’individus. La d’IA très avancée, mais donne une recherche de chemin (path finding) est un impression crédible de vie urbaine. point critique de jouabilité. En effet, un système de déplacement foireux mettra à terre n’importe quel concept, si bien pensé soit-il. Un autre point critique dans les jeux de stratégie réside souvent dans la gestion des ressources : sur quels critères décider de l’objectif suivant lorsque la source est épuisée ? Là aussi, un système mal pensé peut détruire la jouabilité. Simuler la communication des acteurs d’un jeu entre eux ou avec le joueur peut également se révéler critique. Donner l’illusion de la personnalité et de l’intelligence à un acteur (tactiques, stratégies…) ou d’un comportement collectif à une troupe relève du domaine de l’IA. Comme nous le verrons plus loin, plusieurs solutions existent, possédant divers degrés de complexité de mise en uvre et de résultat, et la frontière est étroite entre ce qui fonctionne et ce qui pousse l’expérience de jeu en avant. Cela dit, on peut d’ores et déjà dégager deux grandes tendances au sein des solutions existantes : les solutions dites classiques et les solutions de type adaptatives.
Les solutions classiques : l’IA symbolique.
Dans la famille des solutions classiques, nous avons les automates à état fini. On appelle ces systèmes automates car ils n’ont aucune autonomie décisionnelle, ils ne font que suivre un chemin logique. Ce sont des listes d’états reliés par des transitions logiques. Par exemple, « être en train de courir » est un état, « marcher » en est un autre et « ralentir » est une transition entre les deux.
Voici un exemple de ce que peut donner un système de script (assez rigide) bien utilisé. C’est une solution puissante, facile à mettre en uvre et à déboguer. Le seul problème, c’est qu’elle devient fastidieuse à produire si le système est complexe. Dans ce cas, il faut écrire tous les états, toutes les transitions et les relier logiquement.
Les systèmes les plus utilisés dans la gestion de déplacement utilisent un algorithme de recherche du nom de A* (prononcer a-étoile, ou a-star pour faire genre) : l’espace est divisé sous la forme d’un graphe représentant les différents chemins qu’il est possible d’emprunter, et l’algorithme permet de sélectionner le chemin le plus court d’un point à un autre du graphe. On retrouve ce système au cur de la série Age of Empires, d’Ensemble Studios, ainsi que dans les jeux utilisant le même moteur comme Star Wars -Galactic Battlegrounds de Lucas Arts.
Pour le joueur, l’inconvénient de ce type de solution est sa prédictibilité. En effet, devant une situation donnée, la décision du système est toujours la même. L’utilisation de la logique floue (fuzzy logic) permet d’utiliser des opérations logiques sur des valeurs imprécises (« assez loin », « plutôt chaud ») permettant d’activer simultanément plusieurs états, mais à des niveaux différents (« en colère » mais davantage « curieux ») donnant accès à des comportements moins tranchés et donc plus naturels.
Pour répondre aux besoins de décisions stratégiques, on utilise généralement des systèmes experts. Des règles fixées par le programme permettent de définir un ensemble de stratégies servant de base à la prise de décision en fonction des situations du jeu. La conception des règles est une étape critique. En effet, face à des situations non prévues ou ambiguës, le système peut être amené à prendre des décisions totalement inadaptées.
Empires définit les stratégies d’attaque et de défense des des situations imprévues et surtout d’avoir villes. Dans S.W.A.T., de Yosemite Software, un terroriste plutôt nerveux peut décider de fuir ou d’attaquer. Dans Age of Empires, un système expert définit les stratégies d’attaque et de défense des villes. L’idée que plusieurs personnes travaillent mieux qu’une seule a donné naissance aux techniques multi agents. Un agent est un petit bout de programme plus ou moins autonome. Il participe au fonctionnement du système ou bien gère un acteur simple. Parmi ces techniques, le système de tableau noir (blackboard) décrit un problème sur tableau virtuel et chaque agent en résout une partie en posant sur le tableau une solution ou un nouveau sousproblème.
Les solutions adaptatives : l’IA « située ».
Les solutions adaptatives sont complémentaires des solutions classiques, puisqu’elles tentent de remédier au problème principal de ces dernières qui n’utilisent que les solutions prévues par leur programme. Ces agents sont capables d’interroger leur environnement. Ils savent se situer, car ils possèdent un « système perceptif », et ils peuvent prendre des décisions en fonction de la situation. Un système capable de s’adapter à l’imprévu doit donc trouver ou inventer une solution « par lui-même », que ce soit par « auto préapprentissage » ou par « pseudo déduction ». Les techniques répondant à ce besoin, souvent inspirées de la biologie, sont gourmandes en puissance de calcul. La montée en puissance des processeurs de ces dernières années et le fait qu’ils n’aient plus à se soucier de l’affichage (en particulier la 3D), directement géré par les cartes vidéo, libère suffisamment de temps de calcul pour que des solutions complexes puissent être utilisées. Parmi celles-ci, les réseaux de neurones tiennent une place importante dans les jeux de stratégies car ils permettent de prendre des décisions en tenant compte d’un grand nombre d’informations et de situations différentes. Les réseaux de neurones peuvent être entraînés en dehors du temps de jeu pour apprendre les stratégies convenant au jeu (déplacements, attaques, reconnaissance de forme…) le moteur simulera des parties « contre lui-même » de façon à apprendre un maximum de situations et savoir y répondre efficacement.
Dans Black and White, la créature apprend à évaluer ses motivations en fonction des actes du joueur (récompense/punition…), de son état (fatigue, faim…) et de certains modificateurs (collier d’apprentissage, d’agressivité…). Le système se « souvient » de la façon dont ses actions sont notées par le joueur et essaye de reproduire ces solutions dans des cas similaires. Dans certains cas, le réseau de neurones peut être utilisé pour régler la valeur d’un paramètre en fonction d’un ensemble d’autres paramètres, le réseau simule les situations et choisit ou propose un certain nombre de choix intéressants.
Dans Creatures, de Creatures Labs, les comportements des Norms de créatures (Norns) utilisent plusieurs petits Creatures sont simulés par de petits réseaux de neurones dédiés à des taches réseaux de neurones travaillant précises (perception, actions, concentration de chacun dans une spécialité. l’attention…). Les Norns apprennent pendant le temps de jeu, ce qui est assez coûteux en temps de calcul mais efficace pour ce type de gameplay. En associant un système d’algorithmes génétiques, le jeu peut faire évoluer les générations de Norns en sélectionnant les individus susceptibles d’avoir des réponses plus adaptées à leur milieu lors de croisements ou d’échanges de gènes. Conflict Zone, de Masa, utilise à priori une IA assez complexe à base de graphes de comportements évolutifs. En effet, les différents acteurs du jeu « apprennent » réellement les actions du joueur sinon leurs tactiques. C’est l’un des premiers jeux de stratégie temps réel à avoir poussé l’IA aussi loin.
Dans conflict zones, l’IA très évoluée permet l’émergence de comportements crédible au sein des troupes. Les systèmes « multi agents situés » ont naturellement leur place dans le domaine du jeu puisqu’il s’agit de simuler des populations d’individus. Pour obtenir un système assez simple à mettre en uvre et suffisamment puissant pour simuler de façon crédible les déplacement de troupes, on programme de simples individus ne connaissant que leur points d’arrivée et ne communiquant que leur position et les points d’ancrage pour leurs voisins. Les formations de vaisseaux de Homeworld, de Relic, en sont un bon exemple. Une solution multi agents évolué permet le déplacement d’un grand nombre de créatures dans de façon naturelle dans Dungeon Keeper 2, de Bullfrog, à l’aide de règles simples pour les déplacements : Alignement, Cohésion et Séparation.
L’inconvénient des systèmes adaptatifs et d’apprentissage est de savoir définir l’espace d’apprentissage et ses limites d’une part et l’incertitude du résultat des solutions qui se basent sur l’apprentissage. En effet, l’émergence de comportements est par définition peu prédictible, c’est ce qui en fait la puissance et l’intérêt.
Le Futur de l’IA.
Tout ça c’est très bien, « mais ou est HAL ? », demandait Marvin Minsky, du M.I.T., à la dernière GDC (Game Developers Conference). Quoi ? Toi le Jeune Du Fond, tu ne connais pas HAL, l’ordinateur psychopathe de 2001 l’Odyssée de L’espace filmé par Kubrick en 1968 ? Ni Minsky ? Peut-être Kubrick alors ? Bon, tant pis. Quoi qu’il en soit, dès le début de l’informatique, on a imaginé que les ordinateurs penseraient un jour. Et de fait, on n’en est pas si loin. Ce que l’on vise aujourd’hui ce sont plutôt des systèmes capables de se déplacer et de réagir à des situations plus ou moins prévues, cela dans le domaine du jeu ou de la robotique. L’objectif de demain est un peu plus complexe. Avant de simuler un vrai cerveau (même de poule), il faudrait savoir comment tout ça fonctionne vraiment. Aujourd’hui, on sait grosso modo de quoi les différentes zones sont responsables, mais il manque encore un peu le plan du machin. Des chercheurs y travaillent : décodage de l’ADN, nanotechnologies exploratoires… Mais c’est encore une autre histoire. Pour l’instant, le futur proche du jeu serait plutôt à la gestion de scénarios dynamiques et évolutifs, aux didacticiels qui s’adaptent au niveau du joueur, aux jeux perpétuels dont les acteurs sont capables d’évoluer avec l’apprentissage et la reproduction de comportements. Aujourd’hui, une bonne IA ne se mesure pas à son degré de réalisme : elle doit avant tout être crédible et surtout elle doit amener du plaisir au joueur.
Le monde de la recherche
Aujourd’hui le monde de la recherche se tourne de plus en plus sérieusement vers l’industrie du jeu vidéo. En effet, pouvoir développer des solutions d’IA et les tester sur des milliers de joueurs dans des environnements riches et proches de la réalité est pour eux une aubaine. Jusqu’à présent, pour mener à bien les expériences de perception, réaction et déplacement, les chercheurs fabriquaient des robots et les confrontaient à des formes plus ou moins géométriques. L’arrivée de mondes massivement multijoueurs met à leur portée un terrain d’expérimentation parfait. Gabriel Robert écrit actuellement une thèse au sein du le Laboratoire d’Informatique de Paris 6 (), dont le sujet est « Contribution des méthodologies animat et multi agents à l’élaboration des jeux en ligne, persistants et massivement multi utilisateurs ».
L’objet des travaux (à Nevrax) accompagnant cette thèse est de créer des PNJ (Personnages Non Joueurs) de type adaptatifs -appelés animats-les méthodologies associées à ce domaine sont inspirées de la biologie et peuvent être appliquées à des animats individuels ou à des systèmes multi agents. En gros faire des bots pas cons (adaptatifs), qui apprennent (comportements émergents), et qui sachet se comporter de façon naturelle (profil psychologique). Objectif louable s’il en est. Je tiens à remercier tout particulièrement Gabriel pour la clarté de ses travaux et sa bonne humeur permanente ainsi que son tuteur Sameh Chafick (Lead programmeur IA à Nevrax) pour sa période de promo sur les questions à 2 francs.
Ray Kurzweil : étonnant visionnaire.
Programmeur principal de Conflict Zone Quelques liens pour aller plus loin : L’incontournable Gamasutra : Communautés de développeurs spécialisés en IA :
Marvin Minsky : pionnier de l’IA Marvin Minsky a beaucoup contribué à la communauté des chercheurs en intelligence artificielle, à la robotique, aux mathématiques, à la linguistique, aux systèmes optiques et à la psychologie cognitive (rien que ça). En 1951, il a construit le premier simulateur de réseau de neurones : le SNARC. Ces dernières années, il a surtout travaillé à essayer de donner aux systèmes une sorte de raisonnement avec des morceaux de bon sens dedans. Il expose ses théories sur la structure et les fonction de l’intellect humain dans « The Society of Mind » qui est aussi le nom de son cours au MIT (Massachussets Institute of Technology). Minsky explique entre autre la difficulté d’interprétation de la phrase : « je te dis un mensonge » par un système informatique. Il fait appel aux travaux de Freud sur l’interprétation de l’humour. Je vous conseille vivement une visite sur son site.
Jean-Michel Truong : inclassable Non content d’avoir un cursus impressionnant : psychologue et philosophe de formation, enseignant et chercheur universitaire, expert en IA, fondateur de la première société européenne spécialisée en IA, consultant en transfert de technologies avancées, Jean-Michel Truong est un romancier visionnaire de talent. A lire absolument : Reproduction Interdite (1989), Le successeur de pierre (1999) et Totalement inhumaine (2001). Ses autres livres sont de ouvrages techniques, à découvrir sur son site : . Entre science fiction et philosophie, on retrouve le thème de l’IA dans tous ses romans, traité de façon crédible et avec style. Je vous recommande là encore une visite sur son site et la lecture de ses romans.