mardi 21 février 2012

La question de l'intelligence artificielle dans les jeux vidéo



Avant que vous sortiez vos fusils ou vos crocs, je préviens que cet article est quelque chose de plutôt basique qui n'a rien à voir avec l'intelligence artificielle telle qu'elle est étudiée académiquement mais avec ce qui permet de définir des personnages dans les jeux vidéo. Ce qui suit est principalement issu de mes tentatives de code.

Quand on vous dit intelligence artificielle, vous pensez à des créatures un peu magiques tirées du néant, telles que beaucoup peuplent les jeux vidéo : Glados, Shodan, Daedalus...arriver à une émulation réelle des processus cognitifs, ou à leur illusion (deux approches complètement différentes) relève d'une recherche très poussée.



J'ouvre déjà une parenthèse en disant que j'ai codé un semblant d'intelligence artificielle en html / php, c'était tout bête, voici le principe : vous posez une question par le champ de saisie, par exemple "est ce que ca va ?" ou "comment on été vos vacances ?", je prends votre question, je vais chercher la page de résultats google qui correspond à votre question, je prends les phrases qui suivent la question dans la prévisualisation des résultats, j'en choisis une (de préférence une qui est dite plusieurs fois) et je vous l'affiche. En gros cela faisait discuter avec le contenu du web indexé par Google. Techniquement cela marche, mais les résultats sont incompréhensibles, donc décevants. (je l'ai donc remplacé par un truc 100% scripté)


C'était l'image qui accompagnait mon robot,
maintenant vous savez tout.

Je vais vous parler ici d'une toute autre problématique, qui est la programmation des personnages / ennemis / adversaires dans les jeux vidéo.

Vous êtes dans un jeu, même un jeu d'aventure, et vous rencontrez un ennemi. Comment va-t-il réagir ?

Sur un plan purement technique, nous allons nous pencher sur quatre outils possibles, sachant que les bons résultats s'obtiennent par la combinaison de ces différentes approches (et d'autres).

Tout d'abord, on a l'approche scriptée, c'est à dire que les ennemis à l'écran vont suivre un scénario fixe établi par le programmeur indépendamment des actions du joueur. Dit comme cela, cela semble très ennuyeux à jouer, voire non respectueux du joueur, mais en fait cela marche du tonnerre si on sait bien l'utiliser.

C'est le principe, par exemple, et modulo des mini détails, des Shoot'em up. Votre vaisseau progresse d'un bout à l'autre d'un niveau et fait face à une série de vaisseaux adversaires dont la trajectoire est souvent déterminé par des courbes qu'un oeil mathématiquement affûté pourra se plaire à déterminer.


Qui aime les shoot'em up aime les maths

Un robot scripté sans liberté d'action peut participer à un élément de mise en scène. Et la mise en scène, c'est sacrément utile pour marquer les mémoires et enrichir l'expérience de jeu.

Ce qui est amusant, c'est qu'aujourd'hui on aspire à une grande liberté dans les jeux vidéo et on a tendance à regarder de haut ceux faisant appel lourdement aux scripts. Effectivement le script entaille la replay-value des jeux, surtout si leur principe n'est pas basé, par exemple, sur la mémorisation des séquences de jeu.

Pourtant il était une époque où les séquences scriptées ou les cut-scènes étaient la marque d'un jeu sur lequel une attention particulière avait été accordée. Il me semble, mais je me trompe peut-être, que la tendance a été inversée quand Half Life ou Unreal ont détourné le principe de la cut-scène introductrice en faisant des séquences pseudo-jouables en lieu et place.

Ce qui donne l'occasion au curieux de rencontrer
des personnages cruciaux de la série (G-man, Barney...)

Pour creuser la question d'un ennemi 100% scripté, penchons nous sur Deep Blue ou Deep Thought, l'ordinateur qui se mesure aux grands maîtres russes des échecs. Les débuts de partie d'échecs, de tout niveau, ne font pas l'objet, ni de la part de l'ordinateur, ni de la part d'un grand maître (humain) d'investissement analytique : ils jouent uniquement sur la mémoire, dans un panel vaste mais possible à appréhender de part et d'autre d'une bibliothèque de coups. Ils sont l'un et l'autre, en "pilote automatique", jusqu'à arriver à une séquence où les coups ne seront plus documentés, moment où ils utiliseront enfin leur intelligence. (nous sortons alors de la partie scriptée).


Deep Blue, dans sa kubrickienne majesté

De la même façon, les spécialistes de jeux un petit peu chaotiques comme le FPS multijoueur Counter Strike développent des stratégies particulières sur des emplacements des cartes. Ils appliquent des stratégies en les optimisant et atteignent un niveau de perfection dans l’exécution qui font qu'ils appliquent, finalement, des scripts rigoureux qu'ils élaborent eux-mêmes.

Cela vaut également pour certains jeux de combat, où la maîtrise technique de certains joueurs est telle que contre l'IA ou un joueur de moindre niveau, ils pourraient jouer et gagner sans regarder l'écran. C'est l'application d'un script interne fixe.


Les débuts de partie de Starcraft, référence du RTS,
sont également documentés comme les bibliothèques de coups
des échecs. Les joueurs suivent des schémas fixes car optimaux.

J'estime que l'utilisation judicieuse de parties complètement scriptées pourraient être fortement bénéfiques à l'expérience de jeu proprement dite et non seulement à des cut-scènes spectaculaires.

Une autre leçon que l'on peut retirer de l'observation de ces parties de jeu "automatiques", c'est que l'environnement de jeu, les contraintes, influent beaucoup sur la création d'un robot antagoniste. Car certaines configurations de l'environnement virtuel disposent d'un chemin optimal, donc idéalement requièrent une attitude scriptée.

La deuxième approche, qui vous semblera anecdotique mais qui selon moi représente un grand pan décisionnel en terme d'expérience de jeu est d'animer les acteurs d'un jeu de façon absolument aléatoire.

Tout comme dans le script, l'aléatoire ignore la présence et les actes du joueur. Présenté de façon théorique, cela semble absurde, mais le concept existe depuis la nuit des temps dans les jeux de hasard absolu, comme la loterie ou les jeux de carte en aveugle.

Rappelons ici que l'objectif n'est pas de recréer une intelligence mais d'offrir, avec une armée de choses très bêtes ou très intelligentes, un défi intéressant pour le joueur, l'illusion que sa présence inscrit une marque dans une aventure virtuelle.

Ainsi, dans la tétralogie Silmarils : Colorado, Targhan, Starblade, Le Fétiche Maya, 4 aventures basées sur le même moteur skinné sous 4 thèmes, le héros sera amené à combattre en face à face des ennemis, dans un jeu de combat rudimentaire.


Nous pleurons Silmarils aux écrans si beaux
dont l'équipe a sorti récemment un jeu sur les élections
présidentielles dénigré pour son kitch

Cependant, si dans les jeux de combats bien tunés les adversaires de la console agissent en fonction de scripts et de relations analytiques et interactives, ici, les combats se font de façon absolument aléatoire : le personnage avance et recule au hasard, donne des coups dans le vide, n'en donnera pas systématiquement lorsque vous êtes à portée, et bien sûr n'exploitera aucune combinaison de coups possibles. Sans rentrer dans le code source, un oeil candide observera que les ennemis reviennent souvent à leur point de départ, conséquence statistique flagrante d'un principe 100% aléatoire.

Cet exemple n'est pas innocent, car je recopie pour vous à la main un extrait du test figurant dans "Les Meilleurs Jeux sur Micro Ordinateur" - Mars 1990 - éditions Marabout.

"[...] Les adversaires de Targhan ne se ruent pas tous sur lui comme des bersekers ; certains hésitent, reculent, se tâtent avant de revenir à la charge, ce qui permet de préparer une mini-tactique et se sortir de la plupart des combats sans une égratignure. [...]"

Ainsi, le rédacteur du test (qui pour cet ouvrage seul en a écrit 99 autres...) est trompé par l'illusion du moteur du jeu : il attribue des qualités stratégiques (reculer, revenir à la charge) à un comportement qui relève de l'aléatoire.


Oui, c'est skinné hein

Ainsi, placé dans un contexte inhabituel et bien ajusté, le recours à l'aléatoire pur permet d'avoir de bons effets. Et tout à fait entre nous, c'est une solution de facilité qui épargne de longs moments de codage. Cependant dans l'énorme majorité des cas cette solution n'est pas parfaitement satisfaisante et peut donner des situations réalistes, dynamiques ou inhabituelles mais rarement intellectuellement satisfaisantes.

Une autre approche, très robuste, consiste à programmer des robots sous condition. En gros on leur dit "si la condition X est remplie, tu fais ceci". Exemple : dans un jeu de rôle, si le joueur arrive à moins d'une distance définie d'un personnage, celui-ci s'approche du joueur.


C'est le cas des jeux de rôle, ici Skyrim, où les personnages
peuvent attaquer ou non le joueur suivant les actions
précédemment réalisées.

Les ennemis sont donc programmés pour agir de façon autonome en fonction de l'environnement. C'est la base d'une conception dite "objet" d'un espace de jeu. (Cette appréhension de l'univers ainsi créé est tout à fait identique à celle caractéristique de la littérature structuraliste).

Il suffit d'une quantité réduite d'ordres très simples pour aboutir à un taux de complexité très grand.

Imaginons une petite planète peuplée de 10 personnages rouges et 10 personnages bleus. Ils sont programmés suivant les ordres simples suivants :

- va droit devant toi
- si tu es proche d'un personnage, oriente ta direction dans la sienne
- s'il est de ta couleur, deviens bleu
- s'il est différent de ta couleur, deviens rouge

A chaque moment, le nombre d'interactions possibles est de 10 + 10 = 20 (nombre de personnages) x 4 (nombre d'actions possibles à chaque moment), soit 80. Comme certaines interactions sont en plus conséquentes les unes des autres, l'ensemble des configurations possibles est 80!, soit un très grand chiffre avec 108 zéros.

Cela rend théoriquement les parties d'un même jeu sans cesse différentes, ce qui est intéressant, car c'est comme avoir tout autant de jeux différents tout en ayant le même.

Mais comme c'est un peu lourd comme phrase et pas très bankable, les as du marketing ont, lors de la sortie de Halo, dégoté le terme "emergence". Le gameplay émergeant, dans Halo (qui était à la base un RTS, donc des petits bonhommes rouges et bleus sur une planète), c'est la création de situations imprévisibles entre différents protagonistes alliés et ennemis, ou ennemis entre eux, où le joueur vient apporter un élément chaotique et dynamique.


Halo is a pretty cool guy

Mais soyons d'accord que le gameplay émergeant existe depuis toujours, puisqu'il est la conséquence d'interactions entre objets programmés, comme on a pu le voir depuis vingt-cinq ans dans Nethack, par exemple.

Comprenons également qu'il y a une différence entre imprévisible et étonnant, entre étonnant et amusant..

Cependant, c'est uniquement avec une écriture conditionnée que l'on peut créer des personnages, qui, sans recréer l'illusion d'une réalité, peuvent justement étonner, prendre corps, se définir par les actions du joueur, donc lui donner de l'importance, ainsi que du relief et de l'intérêt à l'univers virtuel présenté.

Voici un transcript d'un jeu textuel se trouvant dans le texte fondamental "crimes against mimesis".

Le héros est Trismegistos et interagit simplement avec Kim.

> smile kim
Trismegistos catches Kim's attention by trying to smile. She smiles right back at Trismegistos, half-mockingly.


> look at kim {description for new mood}
Kim looks back at you, half amused. She seems relaxed.


> talk kim
Trismegistos's conversation interests Kim. She crosses her arms and smiles at Trismegistos, listening.


> look at kim
Kim smiles at you. "Whatcha lookin' at?"


> sing kim
Trismegistos sings, and Kim sings along, loudly and off-key, smiling.


> look at kim
Kim smiles at you. "Whatcha lookin' at?"


> talk kim
Trismegistos's conversation grabs Kim. She listens, smiling, and laughs at all Trismegistos's jokes.


> hit kim
Trismegistos hits Kim, who hits him back, playfully.


> kiss kim
Trismegistos's kiss cools Kim down some. She looks at Trismegistos warily, trying to figure him out.


Par retroengineering on peut imaginer une structure simple pour réécrire Kim : elle dispose d'un compteur de "chaleur relationnelle" avec le joueur basé de 0 (froid) à 10 (forte affection). Suivant différents échelons, les réactions à smile, kiss, seront différentes - c'est le principe des jeux de drague - et ces mêmes actions peuvent faire varier le compteur. Smile par exemple pourra faire grimper le compteur s'il est inférieur à 5, mais kiss pourrait le remettre à 0 s'il est aussi inférieur à 5.


Kim. (vue d'artiste)

A présent l'analogie avec les jeux de drague n'est pas innocente. Dans un jeu de drague, on est dans une sorte de pseudo-jeu d'aventure dans lequel au lieu d'ouvrir des portes avec des clefs, on achète par exemple des fleurs pour l'offrir à une femme et débloquer des interactions possibles avec elles.

De la même façon, les différents degrés d'interaction du héros avec Kim, dans l'exemple vu ci-dessus, peuvent être vus comme un jeu d'aventure très strict (donc un ensemble d'actions scriptées).


True Love 95', la référence des jeux de drague.
En dépit de sa construction "jeu de rôle", les objectifs à atteindre
sont fixes et les méthodes pour y parvenir non aléatoires. C'est donc un jeu d'aventure.

Dans certains jeux de rôles maladroitement écrits, on ne peut pas faire la différence entre une réaction intrinsèque aux statistiques d'un personnage et à ses interactions avec le joueur, et une réaction "inévitable", codée en dur avec un script (1ère méthode). C'est le cas de Fallout 3, par exemple, où des lignes de dialogues se débloquent quand on a accompli des actions spécifiques (rester longtemps avec un personnage, éliminer un certain nombre d'ennemis...etc...).


La galerie des horreurs

Une dernière approche fondamentale de la création d'un personnage dans un jeu, et qui est dans le prolongement de la programmation conditionnelle, peut être sa capacité d'adaptation à l'environnement de jeu (éventuellement modifié par les actions du joueur) par un système de tentatives et de mémorisation des échecs et réussites. Cela rejoint, d'une certaine façon, ce qui s'appelle la réflexivité.

La réflexivité, la capacité des programmes à s'altérer eux-mêmes, couvre un champ théorique très pointu de la programmation. Cependant, cette altération de comportement peut être simulée, comme on l'a vu plus haut, avec des compteurs (par exemple) qui peuvent conditionner le comportement.

Dans la théorie, cela pourrait ressembler à cela : sur un champ de bataille, un ennemi tente une trajectoire d'approche déterminée aléatoirement. On compte le temps de survie face à un joueur et on essaye une autre. Au bout de X essais, on a de quoi déterminer la trajectoire optimale face à un nouveau joueur. Il faut un nombre considérable d'essais pour que ce principe soit viable, mais quand on voit que tous les jours, plusieurs millions de joueurs jouent à Call of Duty, je m'étonne que l'armée américaine n'utilise pas cette mise à contribution intellectuelle pour déterminer les trajectoires optimales de victoire comme les scientifiques l'on fait avec des molécules et Foldit.


Foldit, la capitalisation des résultats d'un jeu au service de la science.
Et si la capitalisation des résultats d'un jeu servait au jeu ? (hors beta-testing)

Ce qui est intéressant avec cette interaction humaine qui "nourrit" le robot du jeu vidéo en stratégie c'est qu'elle est semblable à certaines tentatives de créations de robots de dialogue en ligne. Ceux-ci retournent les questions que les humains leur ont posées et auxquelles ils n'ont pas eu de réponse pour alimenter leur base de données, voire répondent brutalement : Et j'aurais du répondre quoi selon vous ?



La carte du "cerveau" de A.L.I.C.E., un robot avec 
lequel on peut parler en ligne. Chaque embranchement
représente une situation de dialogue déjà explorée et sur laquelle
le robot sera convainquant.



La capacité des environnements de jeu à mémoriser les essais des joueurs a donné lieu à des gameplays à la difficulté adaptative. Elle est parfois très grossière, comme dans LA Noire ou Heart of China, où, quand vous échouez trop de fois à une épreuve, celle-ci est supprimée, mais parfois plus subtile, dans Fuel, par exemple, où plus vous vous plantez à une course plus les adversaires auront tendance à relâcher la pédale de l'accélérateur.

Enfin certains jeux proposent des drones presque intelligents, capables d'être éduqués à certaines tâches simples : c'est le cas dans Black & White où le héros, un Dieu, flatte ou punit un avatar animal pour lui indiquer ce qu'il convient de faire sur la terre, ou du petit chien de Nethack que l'on peut récompenser avec de la nourriture lorsqu'il fait une action que vous souhaitez qu'il refasse (comme voler un objet dans un magasin).


Un Tamagochi géant dont le joueur qualifie, par la punition ou la récompense,
la palette des actions possibles, donnant ainsi une "éducation" à l'animal.


Cependant, quelle que soit la technique utilisée, elle doit être au service du plaisir de jeu, et c'est un point essentiel.

Malheureusement, le plaisir du jeu, comme le succès d'un ouvrage, n'est pas déterminable à l'avance.

Je reprends le cas de Fuel. Fuel est un jeu de course automobiles dans un environnement ouvert, ambiance Paris-Dakar de l'apocalypse. Le parti pris des développeurs a été de faire circuler les adversaires sur des "rails", et d'ajuster leur vitesse en fonction de l'intensité que l'on veut donner à une partie de la course et de la difficulté réglée du joueur. Le résultat est surprenant : les adversaires prennent des virages impossibles, la course semble ultra scénarisée, et, juste avant la ligne d'arrivée, tous vos adversaires freinent pour vous laisser passer devant, comme si vous jouiez avec un grand frère qui ne voudrait pas vous contrarier !


Les tornades sont aussi scriptées. Un peu comme si on vous montrait
un truc hyper cool pour vous le retirer aussitôt.

Vous imaginez bien la déception du joueur qui a donné son temps à maîtriser ce jeu pour voir que les règles en sont faussées...

Paradoxalement, même avec une puissance de calcul à la Deep Thought et un algorithme agressif utilisé pour terrasser les maîtres russes, votre jeu vidéo ne sera pas plus intéressant.

Il est très facile de transcrire par l'imagination ce que serait un Counter Strike vu par le programmeur de Deep Thought : l'ennemi arriverait devant vous, à la même vitesse que vous, mais viserait parfaitement votre point faible et tirerait bien plus vite que vous. Alors oui, certes, pour équilibrer le jeu, on pourrait ralentir algorithmiquement les réflexes de l'ennemi virtuel jusqu'à ce que le joueur humain soit le plus rapide à nouveau, mais cela n'apporterait rien - et tristement, c'est ainsi que sont programmés la plupart des FPS.



Un robot garantit facilement 100% de headshots



Les joueurs humains, de façon perverse, ne veulent pas des soldats ennemis virtuels qu'ils se comportent en robots, ou en zombies, à foncer sur eux en hurlant - car dans ce cas, autant jouer à un Shoot'em up, pour le coup, scripté.

Ils ne veulent pas non plus l'émulation parfaite d'un joueur humain, pour deux raisons. Déjà parce que le joueur humain triche un peu avec l'environnement. Il optimise ses trajets en sautant par dessus des rambardes, se cache dans des angles précis pour surprendre, et bien souvent il saute beaucoup trop de tous les cotés pour avoir une dimension crédible et immersive dans le jeu. La deuxième raison, c'est que sauf bond prodigieux de la science, un robot émulant parfaitement le comportement humain sera toujours en deçà du réalisme d'une performance humaine, et que le multijoueur humain contre humain existe depuis très longtemps et est une section à part du jeu vidéo.

Les joueurs veulent être tantôt tigres, tantôt face à des tigres, ils veulent ce jeu dans le jeu de la traque et de l'affrontement, et aussi ces jeux fondamentaux de la cour de récréation qui n'ont pas vraiment été émulés : le cache-cache, chat perché...etc...

Dans combien de jeux un ennemi en défaite très probable fuit ? Très peu. Ce n'est ni le cas dans la référence Half Life 2, et pas du tout le cas (ce qui est impardonnable) dans le récent Skyrim.

Dans combien de jeux un ennemi en défaite très probable s'enfuit, puis, dès qu'il est hors de portée de vision du joueur, se met pile dans un coin pour fondre sur le joueur ? Encore moins, et quand cela arrive c'est la moitié du temps du au hasard.

Et ainsi de suite...et l'on ne peut pas dire que ce soient des comportements infernaux à coder.

Une solution pour justifier des comportements décevants ou développer des comportements stimulants dans un jeu pourrait consister en l'appréhender comme un jeu d'aventure classique (point'n'click par exemple). A ce sujet, beaucoup de personnes estiment que le FPS classique Half Life 2 est un jeu d'aventure à part entière plus qu'un jeu d'affrontement à l'arme à feu comme on en voit tant.

Par de là, et de l'aphorisme Construisez attentivement votre univers, les énigmes viendront par elles-mêmes, il faudrait idéalement concevoir les biographies de tous les personnages rencontrés, et celles-ci définiraient des comportements classiques de jeux décevants, mais en les justifiant, en permettant de créer une histoire, un attachement.


Considéré par beaucoup comme un jeu d'aventure

Résumé en une expression : le contexte dramatique détermine le comportement de l'ennemi.

Ne serait-il pas excitant de combattre un soldat nommé John Doe, un type qui vous en veut tellement de mourir qu'il dégoupille une grenade alors que vous passez sur son corps, pour vous entraîner avec lui ? Dans Half Life 1, les soldats vous en voulaient de tuer leurs camarades et, (de façon scriptée en dur) inscrivaient sur les murs "on va te faire la peau, Freeman". Cela change des masses anonymes qui composent 99% des Gears of War !

J'ai longtemps cru que la persistance à ne pas nommer les ennemis (quitte à leur donner la même apparence, car même en vrai, un soldat ressemble à un autre soldat) était du à un parti-pris psychologique pour ne pas traumatiser les joueurs, devenus ainsi responsables de la mort de personnages qui vivaient, avaient des espoirs, des rêves, des projets pour le week-end. Mais avec les horreurs récentes des Call of Duty (la scène où l'on incarne un terroriste et l'on tue les civils d'un aéroport), ou tout simplement le fait que dans Skyrim, on puisse joyeusement décapiter des individus au background détaillé me persuade du contraire.


Le fait que FIFA (naturellement) utilise des noms et des apparences de joueurs réels
renforce le plaisir de jeu ; le joueur ne lutte pas contre des zombies mais contre
des icônes individuelles qui ont un sens pour lui. Il se crée ainsi à chaque
seconde des histoires qui stimulent son plaisir de jeu.

La biographie peut permettre facilement de déterminer des comportements qu'il suffira d'implémenter par la suite. Un ennemi s'enfuit à votre premier coup de feu sans même avoir été touché ? Une fois abattu, vous verrez que c'était un bleu et qu'il s'agissait de sa première mission.

On pourrait objecter que l'on tue des centaines d'ennemis par jeu et qu'il s'agit d'un travail fastidieux. Déjà, non, pas vraiment, mais d'une certaine façon les jeux basés sur l'affrontement manquent également de scènes mémorables par un abus du nombre d'ennemis anonymes.

Shadow of the Colossus prend le parti-pris inverse et propose seulement 16 ennemis, 16 boss ultra personnalisés (scriptés à fond) et propose donc 16 combats tout à fait mémorables. C'est une version extrême de cette proposition de conception de l'ennemi par la définition de l'univers. Il ne propose pas, de par sa conception scriptée, de situations de gameplay émergeant, mais un juste milieu pourrait être trouvé entre le script total et le comportement relationnel objet total afin d'aboutir à une expérience de jeu stimulante.


Good luck

Je voudrais terminer cet article d'initiation sur une touche de prospective amusante et pas forcément réaliste. Il est difficile, même de façon uniquement conceptuelle, d'imaginer une façon de reproduire la pensée humaine - puisqu'elle est justement notre outil d'analyse. C'est comme observer un microscope avec ce même microscope.

Pas mal de personnes estiment qu'il n'existe pas en nous une conscience et une pensée mais une multitude de flux de personnalités qui s'affrontent. C'est la base d'un roman nobélisé, Le Loup des Steppes de Hesse, qui estiment qu'en chacun de nous il y a un gay, un honnête, un lâche, un enfant, un sage...et ce à l'infini et qu'à chaque instant il y un conflit pour déterminer quelle personnalité domine l'esprit et prend les décisions.

Je trouve cela judicieux. Vous voulez prendre ce morceau de chocolat mais vous avez résolu de faire attention à votre silhouette ; vous cédez à la tentation et un instant c'est "le gourmand" qui prend la décision. Son objectif atteint, il cède face à la personnalité qui avait pris la décision de mincir et celle-ci éprouvera de la culpabilité, ou de la colère envers elle-même par exemple.

Comment simuler ce combat perpétuel entre toutes ces personnalités, dont chaque assaut est le fruit d'un ensemble de conditions extérieures qui parfois s'affrontent, parfois s'unissent pour vaincre les autres ? J'ai pensé...à un RTS.

Ce serait bien amusant et ironique, si la vraie question n'était pas de mettre notre compréhension de l'esprit au service du jeu vidéo, mais le jeu vidéo au service de la compréhension de l'intelligence.


Et des fois, on ne peut rien y faire

4 commentaires:

  1. Dingue et passionnant.
    Tous mes moi intérieurs ont kiffé

    RépondreSupprimer
  2. article très interessant, comme très souvent ici.

    Dans un registre qui s'éloigne du sujet, j'ai une question technique. Comment en PHP as tu fait pour récupérer les résultats google sans prendre tous le html de la page?

    Ensuite, que penses tu de l'IA développée pour le jeu (et la série de jeux) Creatures à l'époque? J'en garde un souvenir plutôt bon. D'autant qu'il n'y était pas question d'affronter des ennemies.

    RépondreSupprimer
  3. Merci pour vos commentaires.

    Pour la question technique de Grandlap, je reprends tout le html de la page, puis je le segmente en fonction de chaines de caractères particulières (avec explode, je sais c'est ringard, mais j'utilise les méthodes que je connais...).

    J'ai joué à Créatures (et Little Computer People), c'était pas mal !

    RépondreSupprimer
  4. merci pour l'info technique.

    Pour revenir aux IA, j'avoue préférer dans la plupart des jeux une IA perfectible et scriptée mais immersive (à condition de jouer le jeu) plutôt que les modes multijoueurs. Mode dans lequel on perd en immersion ce qu'on gagne en difficulté et imprévisibilité. Le joueur humain ayant souvent tendance à utiliser les "cas limites" que proposent le jeu. La question alors est de savoir ce qu'on cherche dans un jeu.

    J'ai ce souvenir d'avoir arrêté de jouer à Trackmania lorsque j'avais l'impression de plus jouer à jeu de rythme qu'à un jeu de course, les parcours parfaitement inscrits dans la mémoire de mes doigts.

    RépondreSupprimer

Merci de lire mon blog