
Bonjour à toutes et à tous !
Je vous l’avais promis, voici un nouveau post traitant du jeu vidéo vu par mes petits yeux (parfois défaillants) de développeur.
Etant principalement spécialisé dans tout ce qui touche à l’Intelligence Artificielle à Crytek niveau Design, cela faisait un petit moment que je voulais proprement aborder le sujet. Nous y voici donc. La question à laquelle j’aimerai tenter de répondre aujourd’hui est la suivante : Une IA intelligente est-elle le Saint-Graal ? Autrement dit : "faut-il qu’une IA soit super intelligente pour satisfaire un joueur ou un gameplay ?"
Tout au long de ce post je vais me servir d’un exemple générique dans les jeux vidéo : créer une IA pour un « méchant humain se servant d’une arme à feu », ce qui doit être le cas dans environ 95 % des FPS à univers réalistes de nos jours (ah oui, je prends aussi le domaine des FPS à univers réalistes, mais cela s’applique également aux autres styles de jeu).
Créer une IA : par quoi on commence ?

Bon, on a notre IA à créer. Bien. Que faut-il faire maintenant ?
Et bien avant même de commencer à programmer son comportement, il faut définir quelques règles de Design. Ainsi, toujours reprenant mon exemple précédent (celui du "méchant humain se servant d’une arme à feu"), on va tout d’abord se poser quelques questions.
Qui participe à cette étape ?
Généralement un programmeur IA et un designer (ou plusieurs programmeurs et designers si le jeu le requière).
On va donc définir à ce moment la raison d’être de cette IA : est-ce un boss ? un simple soldat ? un demi-boss ? une unité de base ou d’élite ? Quel est son rôle à remplir ? Est-ce un « tank » ? Est-ce une unité agile et rapide ? etc, etc…
Grâce à cette recherche on commence tout doucement à détourer ce que va réellement être cette IA dans le jeu et surtout quelle va être son but ainsi que le challenge qu’elle renverra au joueur.
L’IA doit-elle forcément s’inspirer de l’intelligence humaine ?
Question existentielle si il en est ! En effet bien que stupide au premier abord, c’est une question à laquelle il faut bien réfléchir lorsqu’on designe une IA. Reprenant l’exemple d’avant, le fameux « méchant… » (oh et puis mince, appelons-le Georges). Bref, reprenons l’exemple de Georges (Abitbol, l’homme le plus classe au monde). Disons qu’on a défini que son rôle dans le jeu serait celui d’un soldat de base, possédant un fusil et des grenades. C’est la bidasse de base comme on en voit par pelletés dans des dizaines de jeux aujourd’hui.
Comment va-t-on s’y prendre pour rendre Georges (mon yéti) plus intelligent ? Va-t-on s’inspirer de l’intelligence humaine ?
Alors là je vous entends déjà : « bah oui, si déjà on est dans un univers réaliste… ». AHA ! Et bien non !...Ou plutôt si, mais pas vraiment…Bref, une explication s’impose.
L’écueil dans lequel il est facile de tomber est le suivant : « que ferait un être humain dans cette situation ? »
En effet, c’est une bonne question à se poser, mais on va se rendre compte en se la posant que d’apporter une intelligence vraiment humaine (ou au moins une façon de penser humaine) peut avoir de mauvaises conséquence sur le gameplay de votre jeu.
Réalisme VS Crédibilité

Prenons un petit exemple ici :
Georges patrouille seul dans la forêt…Le joueur ne l’a pas vu. Georges voit passer une ombre furtive au loin mais ne sait pas précisément si c’est ami ou ennemi. Que va faire Georges ?
La vision réaliste :
Bon je préviens tout de suite, je ne suis pas expert militaire, mais voici ce que je ferai si j'étais Georges : je vois une ombre au loin. Je m’arrête de bouger et je m’accroupi à couvert. Je contacte le QG pour savoir si d’autres patrouilles étaient prévues dans le coin tout en gardant un œil vers l’endroit où j’ai vu l’ombre bouger. Si l’ombre se représente et que je vois que c’est un ennemi, je me fait le plus silencieux possible et si je sens que j’ai l’avantage, je lui tire dessus sans sommation.
Mettons en pratique ceci dans un jeu vidéo (du point de vue du joueur) :
Je me balade dans la forêt (pom pom pom pom…oh tiens un écureuil !) et j’arrive à une falaise, ne trouvant pas de chemin, je reviens sur mes pas et PAN, je suis mort…
Mon avis en tant que joueur ? « Mais putain ! Y avait personne ici y a 2 secondes, bordel de merde ! Qui c’est qui m’a tiré dessus ? » (oui bon d’accord c’est un joueur énervé).
Comme vous pouvez le voir avec cet exemple, avoir une IA ayant un comportement purement humain peut s’avérer frustrant voire injuste pour la majorité des joueurs. Bien sûr certains jeux jouent là-dessus (principalement les simulations, Operation Flashpoint en tête). Seulement là nous ne sommes pas dans une simulation. Alors que faire ? On veut que notre IA aie un comportement réaliste mais en même temps, on veut aussi qu’elle ne flingue pas le gameplay pour le joueur.
Il nous faudra donc viser pour une crédibilité de l’IA et non un réalisme de celle-ci. Une crédibilité qui ferait en sorte de garder le joueur immergé dans le jeu, tout en lui communiquant correctement ce que l’IA cherche (ou est en train de / prévoit de) faire.
La vision « crédible » :
Georges patrouille, regardant à gauche et à droite. Il voit une ombre au fond, il lâche un bon gros « Hein ? » bien audible pour le joueur. Il contacte le QG par téléphone, mais il le fait à voix haute, en avançant vers la zone où il a vu cette ombre, fusil à la main. Il revoit cette ombre et se rend compte que c’est le joueur. Il crie un « il est là !!! » avant de lâcher une rafale de plombs dans les miches de notre pauvre joueur qui décidément n’a pas beaucoup de chance aujourd’hui.
Vous voyez maintenant où je veux en venir ? La communication au joueur de ce que fait l’IA est ce qui la rendra (ou pas) crédible aux yeux de celui-ci. Non seulement crédible d’ailleurs mais intéressante à affronter.
Alors oui ça n’est pas réaliste qu’on homme crie tout seul dans la forêt « il est là !!! » avant de commencer à tirer. Mais c’est ce qui indiquera au joueur dans quel état est l’IA à ce moment précis du jeu : est-elle inquiète ? pleine de confiance ? est-ce qu’elle est à court de munitions ? (le fameux « je recharge ! »), etc…
La communication de l’IA
Alors je vous donnais l’exemple de certaines phrases que l’IA peut dire pour communiquer avec le joueur, mais il existe de très nombreuses façons de faire « communiquer » notre IA avec le joueur. Par exemple : les phrases indiquant sa position où son état (ou même la position du joueur), ses animations, les sons (un shotgun qui recharge est un bruit bien explicite pour un joueur), la musique qui va en fond et qui accompagne l’action (on passe d’une musique calme à une musique rythmée lorsque l’IA vous remarque), etc…
« It’s all smoke and mirrors »

Au final et comme le dirait si bien un ami programmeur américain : une bonne IA, c’est avant tout une bonne illusion permettant au joueur de « croire » que cette IA est intelligente.
De bons exemples sont entre autres : l’IA de F.E.A.R premier du nom qui appelaient des « renforts » lorsque le joueur tuait trop de monde. Tout le monde était bluffé à l’époque en entrant dans les salles suivantes et en voyant plus de soldats dans la pièce (alors qu’il s’agit en réalité d’un simple script).
Idem pour Metal Gear Solid, où cette fois-ci, Kojima a poussé sa communication IA / joueur à fond avec le fameux « ? » et « ! » au-dessus des têtes des IA, allant de pair avec un bon gros « Hein ? ». La communication entre le « QG » et les soldats renforce encore cette sensation qu’il y ai quelque chose de « plus grand » qui régit l’univers du jeu. Mais en fin de compte, tout ceci n’est également qu’illusion puisque 30 secondes plus tard ils ont oubliés jusqu’à la présence du joueur dans leur enceintes. Ce qui ne semble pas réaliste, mais est nécessaire au gameplay infiltration du jeu. Le jeu donne une "seconde chance" au joueur à ce moment-là.
La crédibilité et non le réalisme
Voici d’après moi vers quoi il faut se tourner pour créer une bonne IA : la crédibilité. Faire en sorte que le joueur ne se dise pas « tiens ça je l’ai vu venir à 10 bornes » mais qu’il ne soit pas non plus dans une situation trop injuste car trop réaliste. Les ingrédients sur lesquels on peut jouer sont (encore une fois) : les animations, les sons, la musique et surtout le comportement de ces IA, c’est-à-dire par exemple à quel moment doivent-elles lancer des grenades ? Doivent-elles encercler le joueur ou au contraire lui foncer dessus ? Etc…
Ces comportements sont la racine de ce qui fait une bonne IA. On y ajoute des apparats sonores ou visuels mais en fin de compte, il faut une bonne base derrière tout ça. Le ciment qui va coller tous les éléments entre eux reste la communication et si celle-ci est mal faite, ça peut tout faire s’écrouler.
Enfin, afin de faire un jeu qui aura une IA un peu plus crédible ou « intelligente » (allez j’ose le mot) que les autres, il faudra jouer sur la finesse de cette communication (par exemple : ajouter des émotions dans la voix des IA : une IA seule affrontant le joueur est terrorisée alors que 5 IA contrent le joueur vont afficher avec arrogance leur trop plein de confiance, etc…).
Un bon exemple de cette communication « avancée » fut celle de Batman : Arkham Asylum où les IA deviennent de moins en moins confiants plus ils voient les morts (ah pardon les « inconscients » car Batman ne tue pas) autour d’eux, allant même jusqu’à avoir différents modes de patrouilles : un « calme » où ils se racontent des histoires entre eux et relâchent leur vigilance et un « nerveux » où ils se retournent toutes les 2 secondes pour vérifier qu’il n’y a personne derrière. Le tout formant un ensemble jouissif pour le joueur car la communication va alors dans 2 sens, du jeu vers le joueur et du joueur vers le jeu.
Voilà en quelques paragraphes ma réponse personnelle à cette question que je me suis souvent posé. Bien sûr je ne prétends pas avoir la solution universelle, mais après avoir passé quelques années dans ce domaine, voici ma version des faits ;).
En vous saluant bien bas,
David Grivel
03/05/2010, 18:15
Ca mettrais du piment au jeu et ça augmenterais les sensations
03/05/2010, 18:28
Beau sujet en tout cas, ça reflète bien le casse-tête que ça doit être de faire une IA digne de ce nom !
03/05/2010, 18:33
Enfin bref pour moi MGS est clairement le truc à ne plus faire sur des jeux photorealistes et je prefere de loin ce qui avait été fait dans Deus Ex.
03/05/2010, 18:40
@ ling01fr : tout à fait d'accord avec toi, ce n'est pas l'IA ultime. Elle a néanmoins l'avantage d'être extrêmement lisible pour le joueur et c 'est pour cela que je l'ai cité dans la catégorie "illusions" et communication.
03/05/2010, 18:54
03/05/2010, 20:46
D'ailleurs le prend pas mal l'ami mais j'avais trouvé l'IA de Crysis pas tip top à l'époque, je m'amusais bien plus avec celle de stalker soc.
Sinon Armed Assault j'ai fait que le 1er mais l'IA du second n'a pas bonne réputation me semble.
03/05/2010, 20:55
-tu tires dans le réservoir d'essence d'une jeep;
-ça s'enflamme, les soldats doivent se barrer;
-ils sortent de la bagnole;
-encore 3 secondes à vivre;
-ils s'accroupissent devant leur voiture et restent plantés là.
Cherchez l'erreur ^^
N'empêche, une IA sans bugs n'est pas une IA.
03/05/2010, 23:03
Ceci prouve une fois de plus ce que je disais : il faut que la communication jeu / joueur soit claire et j'ajouterai même qu'il faut que les comportements de l'IA soient le plus simples possibles pour éviter ce genre de choses. Plus on pousse en avant ces comportements, moins on obtient cette "réactivité" qui nous plait tant, nous autres joueurs.
L'important c'est que Crytek s'en soit rendu compte et améliore cela dans Crysis 2
04/05/2010, 07:18
je n'ai pas vraiment d'exemple de bonne IA à donner, dans tout mon passé de gamer rien ne m'a vraiment marqué, la plupart des jeux ont leur défauts et même aujourd'hui encore, IA égale synonyme de facile à battre et qu'on ferait mieux de se faire un multi.
Une ia réaliste c'est mieux, mais moins arcades, moins facile à jouer, et puis une bonne dose d'illusion suffit largement
L'idéal serait d'avoir une IA réaliste et crédible à la fois xD Mais je pense que vous allez déjà un peu faire cela via les degré de difficulté non ?
04/05/2010, 13:55
J'ai eu le temps de jouer une petite heure à All point Bulletin (une sorte de GTA en version MMO ^^). Hônetement c'est un bon jeux, pas AAA, mais bon quand même. J'aime vraiment beaucoup le concept, des milliers de joueurs dans une ville ou chacun choisis un des deux camps qui s'affronte. Par contre, il y a quelques problèmes, et pas seulement parce que c'est encore une beta.
Le premier truc qui m'a frappé, c'est quand j'ai vu, au lancement du jeux défilé ces fameuses "pub" avec le développeur, l'éditeur et le moteur graphique... Là, c'était la déception. Unreal Engine. D'emblée, je savais que ce jeux ne serait pas très beau à regarder et il s'est avéré que j'avais raison. Très peu de studio savent se servir de toutes les capacités d'un unreal engine, et malheusement c'est pas le cas pour realtime worlds.
Ensuite, un autre problème majeure, c'est le gameplay. Loin de moi l'idée qu'il est mauvais, il est juste trop méchanique à mon gout. Je vous donne un exemple, quand on veut ouvrir une porte, il y a direct un script unique qui s'éxecute. Ce qui fait que si on est collé à la porte quand on veut l'ouvrir, on se retrouve d'un coup 1 mètre en arrière avec un script bidon qui l'ouvre. Pareil pour les clotures, on peut seulement les surmonter qu'en seul point au centre, impossible d'escalader les côtés... Gros problème avec les armes, on a plus l'impression de jouer à un beat'em all que de jouer à une sorte de GTA... Les armes sont trop imprécises, et c'est limite si on a un recul... Bref vu que c'est une beta, le gameplay peut encore s'améliorer, c'est sûr.
Un autre problème, mais qui passe sans trop de difficulté c'est la bande son. On a l'impression de toujours entendre la même musique, ou les même bruitages (klaxon, des gens qui hurlent, les coups de feu) bref aucune variété.
J'arrête la les points négatifs et je me lance dans le positif ^^ Tout d'abord, le jeux est très très fluide, aucun problème de ping malgrès le nombre de joueurs. L'idée de diviser la ville en quartiers est génial et évite une surcharge en joueurs de certaines zones. Le système de réputation est pas trop mal non plus, même si cela reste bien sûr très mmo. La personalisation du personnage est très complète. Il y a aussi une excellente ambiance de jeux, c'est pas l'anarchie, chacun peut faire ses missions seule ou en groupe et l'ennemi peut interférer, pas mal pensée
De ce que j'ai vu (c'est à dire pas grand chose) c'est un bon jeux, si vous aimez les mmo et vous balader en ville alors c'est le jeux qu'il vous faut. Perso, j'attend la version définitive pour me faire un réel avis sur le jeux, mais je vous le dit tout de suite, c'est pas mon genre les MMO ^^
04/05/2010, 14:04
Et bien vous vous rappelez des comportements dont je parlais ? (aller a couvert, attaquer, défendre, etc...). Bien souvent lorsque l'on joue en facile ou normal on tue plus rapidement les IA, ce qui implique qu'elles ont moins le temps de développer leur "arbre de comportement" et donc, elles ont l'air stupides car faciles et rapides a tuer, alors que techniquement ça n'est vraiment pas le cas !
Certains jeux vont même faire adopter a l'IA un comportement différent selon le niveau de difficulté choisi par le joueur. Ainsi dans Uncharted, lorsque l'on joue en facile, les ennemis ont tendance a ne pas fuir lorsque une grenade atterri près d'eux (ils ont donc l'air stupide). Et pourtant si l'on joue le même jeu en difficile, les ennemis fuyent en voyant cette grenade approcher.
En conclusion, si vous voulez vraiment juger une IA, jouez le jeu en difficile
04/05/2010, 14:28
Est-ce qu'il y a d'autre francais a crytec ?
T sais ce que vous allez faire après crysis 2?
j'ai vu une présentation de natal que l'on pourrait communiquer verbalement et normalement avec l'IA
C
04/05/2010, 18:00
04/05/2010, 18:18
Pour tes autres questions :
- Oui on est 5 (moi inclus)
- Oui on sait ce qu'on fera après Crysis 2, mais chuuuut c'est une surprise !
- Je suis encore un peu sceptique concernant Natal, j'attends un peu de voir avant de me prononcer.
04/05/2010, 19:38
Merci pour les jeux je les essaierais
04/05/2010, 20:59
04/05/2010, 21:55
Sinon pour l' ia de crysis. Le probléme viens moins de l' ia que de la nanocombi et des silencieux. Car les deux combiné permettent de facilement abuser du pauvre petit george.
Ben oui George pourrais combattre sas probléme un joueur visible et donc les armes font du bruit.
04/05/2010, 22:38
Je peux dire clairement sur ce point précis que c'est un choix du Design et non un bug (ou un problème). Le but est vraiment de faire ressentir au joueur ce côté "chasseur".
05/05/2010, 22:22
Il y a aussi la possibilité pour l'ennemi de s'emparer de la grenade, pour la renvoyer au joueur (!)
Pour l'IA tout dépend des jeux. Pour un bon platformer comme Crash Bandicoot, vendu à plus de 6 millions d'exemplaires, l' IA est moins problématique. Et rare sont les FPS qui se sont vendu autant que ce bon vieux Crash... un platformer avec le moteur de CryENGINE3, arf !
06/05/2010, 21:47
07/05/2010, 09:22
@ Karle : c'est vrai ça n'est pas réaliste. Mais encore une fois ceci est un choix fait par le Design. En effet, si les ennemis restaient en permanence alertés lorsque l'un de leur soldats est tué, le gameplay "predator" passerait a la trappe a cause de ça.
Je ne dis pas que c'est la solution ultime, mais elle nous permet de "resetter" le gameplay stealth et de redonner une chance aux joueurs qui ont foiré leur attaque en "predator". On retrouve cette technique dans plusieurs jeux connus. Mais je suis persuadé que l'on peut faire mieux (et plus discret pour le joueur), c'est certain.
07/05/2010, 17:10
Sinon penses-tu qu'un jeu se passant dans un univers à la Rocky vs Schwarzenegger, où tous les méchants sont bodybuildés et portent un lance roquettes et un bandana rouge, ce serait plus fun pour le joueur? Par exemple, si la seule chose qu'ils pouvaient faire lorsque le joueur passe en sautant à moins d'1m devant eux (sinon ils ne le voient pas) ce serait de se mettre à beugler "BEEEEUUUUUUAAAAAAARRRRR un méchant! Copains, tirez sur le méchant!". Est-ce que le côté "viril" et bourrin (ou débile) de la situation ne serait pas justement super fun pour le joueur?
En gros, plutôt que de chercher à élaborer une IA performance, en créer une complètement primaire qui grogne et se mouche dans ses rangers
07/05/2010, 17:51
Sinon pour les ennemis a la Schwarzenegger qui te foncent dessus en tirant, ben...Call Of Duty quoi ^^. Bien que ce jeu ai une mise en scène géniale, il faut bien dire qu'au niveau de l'IA on te balance vagues après vagues dessus. Sommaire, mais efficace. Personnellement je trouve que c'est la solution de facilité et j'aimerai les voir développer un peu plus cette IA, mais c'est leur choix et apparemment les joueurs accrochent. Encore un exemple d'IA "crédible" dans leur mouvements, modélisation et voix, mais pas réaliste.
07/05/2010, 18:04
Merci pour ta réponse. Capcom vient de sortir un nouveau jeu avec 0 IA : Lost Planet 2. Du coup, pas d'IA = jeu pensé pour le multi only.
Ca ne plaira pas à tout le monde (dont moi).
Un mode solo dans lequel on peut vivre le jeu grâce à une bonne IA est primordial. Surtout que tes 3 meilleurs potes ne sont pas forcément connectés en même temps que toi pour t'accompagner en coop' online.
Un début d'info en totale exclu concernant l'IA de Crysis 2?
07/05/2010, 22:44