Approchez et venez admirer cette toute nouvelle intelligence artificielle évoluée, encore jamais vue et procurant une expérience de jeu inédite !

Cet argument de vente, on l’a tous entendu ces derniers temps et, soyons honnêtes, la déception était souvent au rendez-vous une fois le pad (ou la souris) en main. Bon, c’est vrai que durant les vingt dernières années, les développeurs ont été très préoccupés à nous en mettre plein les mirettes avec des graphismes plus éblouissants les uns que les autres, oubliant le plus souvent de développer en parallèle le scénario et l’IA. « Ben non » répondent-ils en cœur, « on ne peut pas tout faire si on veut sortir le soft à la date prévue et le budget n’est pas illimité…».
Arrêtons d’être sarcastique et reconnaissons tout de même que des progrès ont été faits sur l’IA afin de nous offrir des expériences de jeu plus réalistes. Fini le temps où nos adversaires venaient se jeter docilement sous le feu de nos canons. D’autant plus que le hardware actuel permet de libérer un max de puissance pour peupler de personnages plus intelligents qu’une huître et les somptueux décors de nos jeux. Les cartes graphiques ont grandement soulagé les processeurs devenus multi-cores (notamment de la gestion des effets 3D gourmands), ouvrant de nouvelles perspectives pour le traitement de l’IA. Et puis cela correspond également à une demande des joueurs rassasiés de photoréalisme et de cell shading sophistiqué. Pour répondre à ces attentes somme toutes légitimes, on nous promet des adversaires plus coriaces, plus malins, plus vicieux, des compagnons plus solidaires, plus futés, des pnj plus intelligents, plus réactifs, en bref dignes d’un comportement humain. Info ou intox ? Quels sont les outils des développeurs qui créent les nouvelles ruses et attitudes de nos adversaires et compagnons de jeu virtuels ? Va-t-on enfin pouvoir s’opposer à des bots aussi intelligents que des humains ?

Avant de répondre à ces questions qui vous tiennent en haleine depuis des mois, une petite mise au point s’impose.

L’intelligence artificielle, on nous en parle depuis très longtemps. Rappelez-vous de Hal dans « 2001 l’odyssée de l’espace » ou encore des robots d’Asimov, ces machines qui ont développé leur intelligence artificielle au point qu’elles menacent de détruire leur créateur ! Ces œuvres contiennent une véritable dimension philosophique car finalement, l’IA, ce sont deux simples lettres qui renferment à elles seules un condensé des obsessions de l’Homme moderne tentant de reproduire Dame Nature : pourquoi et comment ? Pourquoi agissons-nous et comment les comportements et idées germent dans notre cerveau ? Les progrès de la science ont balbutié des réponses à la question du pourquoi (neurologie, psychanalyse, sociologie, biologie…) mais sont encore aujourd’hui incapables de répondre à la question de la compréhension du processus aboutissant à la conscience. Le fonctionnement du cerveau représente toujours une énigme pour la science. Recréer la conscience, imiter les capacités vertigineuses du cerveau humain représenterait donc une sorte de quête du Graal. Car comment imiter un phénomène que l’on ne comprend pas ? Hal, R2D2 et leurs potes ne sont pas prêts de sortir du rayon SF…

Bref rappel historique

Répandue dans les milieux universitaires et principalement appliquée à la robotique, l’intelligence artificielle a rapidement trouvé un écho favorable dans l’élaboration des jeux vidéo. Les PNJ sont d’ailleurs très souvent comparés à des robots virtuels. Pourtant, les premières expérimentations d’une intelligence artificielle dans un jeu vidéo remontent à 1989 (même si certains considèrent PacMan ou DuneII comme les premiers jeux à posséder une IA digne de ce nom). Cette année là, un certain Peter Molyneux créa « Populous », qui donna son nom au genre « Godgame », c’est-à-dire où vous êtes propulsé à l’état de Dieu (traduction pour ceux qui auraient zappé les cours d’anglais à partir de la 6ème) et décidez du sort de vos populations. Dix ans plus tard, LionHead Studios de Molyneux enchaînait avec « Black and white », reconnu encore aujourd’hui comme un modèle du genre en termes d’IA.

Peter n’était pas seul sur le coup durant les années 90. Steve Grand est également cité comme gourou de l’IA au service du jeu vidéo grâce à « Creatures », jeu concept dans lequel vous prenez en main le destin des Norns, petites créatures que vous devez faire évoluer. Durant le début des années 2000, il semblerait que le développement de l’IA se soit accéléré au profit des FPS. Les références en la matière se nomment Halflife, FarCry, ou encore F.E.A.R qui ont à chaque fois apporté leur lot d’innovations comportementales chez nos adversaires de jeu. Les RTS ont également vu leur IA évoluer dans le bon sens, grâce notamment à Ian Davis (papa de Empire Earth II et de Battlezone). Plus récemment, Oblivion utilise une IA des plus complexes tout comme Left for Dead. On se rend compte que les studios ont l’air de se pencher sérieusement sur le développement de l’IA depuis une dizaine d’années. Au point que l’on pourrait légitimement se demander : « Mais pourquoi ne l’ont-ils pas fait plus tôt ?!? Ils pensaient peut être qu’une IA, ça ne servait à rien ou quoi ?».

Ben justement, l’IA, ça sert à quoi dans un jeu vidéo ?

On lit souvent dans les tests que l’IA de tel soft est bonne ou mauvaise sans trop savoir à quoi cela correspond vraiment. Pour le commun des joueurs, l’IA tend à englober tous les processus décisionnels inhérents aux protagonistes du jeu. Ce n’est pas totalement faux mais là encore, une mise au point est nécessaire. L’application principale de l’IA est liée au déplacement des acteurs. A savoir trouver le chemin le plus efficace entre un point A et un point B, c’est ce qu’on appelle le « pathfinding ». On rajoute à cela le fait de donner l’illusion de la personnalité et de l’intelligence à ces acteurs. Ca a l’air simple dit comme ça mais cela constitue un véritable casse-tête pour les développeurs qui doivent s’adapter aux besoins spécifiques de chaque jeu. Car une bonne IA doit répondre à plusieurs objectifs qui ne doivent en aucun cas entraver la fonction divertissante du jeu :

  1. Ne pas oublier que le challenge naît la plupart du temps de la capacité de nos adversaires à contrecarrer notre progression sans toutefois occasionner un sentiment de frustration trop intense chez le joueur
  2. Les acteurs doivent avoir des comportements cohérents en rapport avec le gameplay et le game design
  3. Pas question de dépayser le joueur : un garde, par exemple, doit se comporter suivant l’image commune que l’on se fait d’un garde tout comme un chien doit répondre aux standards canins
  4. Enfin, l’IA ne doit pas tricher en se soumettant aux mêmes règles que le joueur (on lit souvent des posts de gamers dépités d’avoir pris une balle en pleine tronche par un gars armé d’un simple pistolet et se tenant pourtant à 500m de sa cible…).

En plus des déplacements, les acteurs vont devoir réagir, dialoguer, établir des stratégies et tout cela en fonction des décisions prises par le joueur. Pour arriver à jongler avec tous ces facteurs et obtenir une recette équilibrée, les développeurs ont à leur disposition des ingrédients qui n’ont guère changé depuis l’époque des débuts de Molyneux.

Comment ça marche ? (Attention, migraineux s’abstenir…)

Il existe encore aujourd’hui deux grandes tendances : les solutions classiques et celles adaptatives.

Méthode classique

Pour les classiques, on fait appel aux automates à état fini qui ne font que suivre un chemin logique pré-établi à l’aide de scripts. Les devs ont pour mission d’imaginer toutes les options possibles comme réponse à l’action du joueur (énorme travail en coopération avec le game designer). Comme son nom l’indique, l’automate réagit par un état défini (courir, marcher, contre-attaquer, fuir, etc.). L’inconvénient est que la décision est toujours la même en fonction d’une situation donnée. L’effet de prédictibilité peut s’atténuer grâce à l’adjonction de valeurs imprécises appelées « logique floue » (fuzzy logic) permettant de croiser plusieurs données et ainsi d’obtenir des états transitoires et donc des comportements moins tranchés et plus naturels.

Mais comme il est humainement impossible de prévoir toutes les possibilités de déplacements d’un pnj en tenant compte de tous les facteurs environnementaux (reliefs, obstacles mais également si le pnj est à pied, en véhicule, la notion de fatigue, la météo, ses aptitudes, etc) les développeurs appliquent au pathfinding des algorithmes complexes permettant le calcul de trajectoires plausibles, réalistes et cohérentes. En théorie, cela semble parfait. Mais en pratique, vous avez sans doute pu remarquer certains comportements bizarres et irrationnels de la part de vos adversaires. Cela s’explique par le fait que le hardware actuel, bien que puissant ne l’est pas suffisamment pour gérer tous ces calculs ne représentant qu’une facette du développement de l’IA (il reste encore à développer la génération des comportements). Les développeurs sont face à un dilemme : soit privilégier la rapidité de calcul, soit la pertinence des résultats. Même le royaume de l’artifice est soumis aux règles élémentaires de la vie: en gros, on ne peut pas avoir le beurre et l’argent qui va avec. La solution adoptée est donc un compromis afin de ne pas surmener le hardware tout en offrant des résultats pertinents. Vous comprenez maintenant pourquoi certains ennemis vous surprennent en vous prenant judicieusement à revers alors que d’autres ne bronchent pas lorsque vous explosez la caboche de leur voisin.

Reste qu’après avoir bûché comme des dingues pour faire bouger les personnages d’un point A à un point B dans des conditions optimales et réalistes, les développeurs tentent d’insuffler un peu de réflexion à ces robots virtuels. J’entends par là que les pnj doivent déterminer quand se déplacer, pourquoi un tel déplacement et les conséquences qui vont en découler.

Méthode de style adaptative

Interviennent alors les solutions de type adaptative. (ceux qui avaient déjà la migraine ont mon autorisation de sauter ce paragraphe). Les devs peuvent appliquer plusieurs méthodes, tels des frankensteins insufflant la vie à leur créature.

L’auto-apprentissage, par exemple, permet de sélectionner les pnj qui obtiendront le meilleur résultat face à une situation donnée. En leur appliquant ensuite une série d’opérateurs génétiques (reproduction, croisement, mutation) on est sûr d’obtenir une seconde génération plus évoluée que la précédente. En répétant l’opération des millions de fois, on obtient des pnj capables de s’adapter à un maximum de situations. Cela est possible offline, c’est-à-dire que les résultats des ces traitements seront figés dans le jeu ou online, et là les règles de comportement continueront d’évoluer pendant la partie. Ces techniques peuvent être encore plus poussées afin d’obtenir des pnj s’adaptant à leur environnement d’une manière autonome.

Autre solution, le système multi-agent. Là encore, on imite la nature et notamment le comportement des insectes en société. Dans un espace défini, les pnj interagissent avec leur environnement et sont capables de communiquer entre eux afin de réagir de façon optimale à une situation. Cela permet également de tabler sur la cohésion d’un groupe de pnj (utilisé dans les RTS notamment, mais si ! vous savez, les équipes qui vont chercher du minerai pendant que vous construisez votre caserne).

Ces dernières méthodes ont été utilisées pour la première fois dans les jeux vidéo par les gourous cités en début d’articles, Peter Molyneux et Steve Grand. Eux parlent de réseau neuronal mais ils s’en méfient (on peut leur faire confiance car ils ont été les premiers à s’en servir tout de même !) car ces outils ont la fâcheuse tendance de produire des effets non prévus et donc des comportements pouvant ne pas correspondre au contexte du jeu.

Et après ?

Bon, vous constatez que même si j’ai tenté de simplifier un maximum les informations, le développement de l’IA n’est pas facilement accessible à toute personne voulant éviter le mal de crâne, surtout qu’il existe encore d’autres techniques mais je n’avais plus d’aspirine… Indiscutables sont les progrès accomplis depuis les vingt dernières années, tout comme l’est la place prédominante que l’IA va prendre dans les jeux vidéo. L’évolution exponentielle de la puissance du hardware, la demande du public de s’immerger dans des softs peuplés de pnj intelligents, le QI au ras des pâquerettes de certains gamers (trop nombreux ?) croisés sur le online, tout concorde à l’essor de l’intelligence de nos compagnons et adversaires virtuels. Et Ian Davis d’ajouter :

« Courir dans tous les sens pour tuer des adversaires ne représente qu’une toute petite part de l’interaction entre le joueur et le jeu vidéo. Les progrès à venir vont permettre l’élaboration de nouvelles formes de divertissements basées sur une complexité accrue des personnages en termes d’émotions et d’histoire. ».

Merci M. Davis, car tout à coup, l’horizon des jeux vidéo s’élargit, nous promettant des expériences vidéoludiques encore plus intenses.