Escolar Documentos
Profissional Documentos
Cultura Documentos
UNIVERSITE PARIS XI
UFR SCIENTIFIQUE DORSAY
THESE
Prsente
Pour obtenir
Le GRADE de DOCTEUR EN SCIENCES
DE LUNIVERSITE PARIS XI ORSAY
Par
Axel Buendia
Sujet :
Remerciements
Remerciements :
Je tiens tout dabord remercier le Professeur Jean-Claude Heudin, mon directeur de thse,
qui a accept ce sujet qui sort un peu des sentiers battus, et ma surtout soutenu tout au long
de ces quatre annes. Un grand merci galement tout le personnel de lInstitut International
du Multimdia qui ma fourni son soutien ainsi que le moyen de subsister pendant quatre ans.
Plusieurs personnes mont aid, et je tiens donc leur adresser mes remerciements, et
particulirement :
Loc Berthelot, qui a contribu la ralisation de la premire exprience
Jean-Pierre La Hargue, qui ma soutenu mcaniquement dans une qute malheureusement
inacheve
Pascal Bossavit, pour son aide mathmatique tant apprcie
Heidy Hery, qui a contribu la ralisation de la troisime exprience
Mes proches, pour leur soutien moral sans lequel la traverse est impossible.
Rsums
L'Intelligence Artificielle occupe un rle de plus en plus important au sein des jeux vido. De
plus en plus de ressources lui sont alloues. Certaines techniques, comme les rseaux de
neurones ou encore la programmation gntique, ont fait leur apparition dans quelques jeux
originaux. Cependant la perce des technologies rcentes, issues notamment de la Vie
Artificielle, reste exceptionnelle.
Cette thse propose une architecture originale, qui permet de raliser des modles
dcisionnels, utiliss pour simuler le comportement des cratures virtuelles peuplant les jeux
vido. Cette architecture rpond aux importantes contraintes impliques par les jeux vido,
tout en proposant des comportements plus ou moins volus, depuis les comportements
ractifs jusquaux comportements ductifs, en passant par les comportements adaptatifs.
La validit de larchitecture est teste au travers de trois expriences clefs, chacune abordant
lun des niveaux comportementaux dans un environnement de jeu vido. La premire met en
uvre plusieurs cratures ractives, capables notamment de se dplacer en formation. La
seconde montre lapprentissage de la marche par un hexapode. Enfin, la troisime exprience
permet un bot de modliser le niveau dans lequel il se dplace, et den tirer partie pour
planifier ses mouvements.
Video games use more and more Artificial Intelligence. AI gets more CPU time and more
space. Some technics, such as neural networks or genetic programing, appear in few original
games. Meanwhile, Artificial Life technologies do not really convince video game producers.
This thesis propose a new architecture, to produce decision models, used to simulate virtual
creatures behaviors in video games. This architecture matches all video games requirements,
and provides the mean to design high level behaviors, from reactive ones, to adaptive and
eductive ones.
The validity of the architecture is tested during three different main experiences, each one
about one of the three cognition levels. The first experience shows three reactive creatures,
fleeing a predator and flocking. In the second one, an hexapod learns to walk, adapting its
motion controller during its move. The last experience shows a bot building a model of the
level it is in, and using its model to plan its moves.
Introduction
La conception de jeux vido vient dacqurir ses lettres de noblesse, avec notamment
lapparition dun troisime cycle universitaire qui lui est ddi. Lindustrie du jeu vido a
gnr en 2001 plus dargent que lindustrie cinmatographique. Et pourtant, de nombreuses
socits ditrices ou productrices dposent le bilan depuis 2000 : Kalisto, Cryo, Shaman ou
encore Polygon Studio pour ne citer quelles. Le monde du jeu vido est en pleine mutation.
Les procds de production doivent faire face un march de plus en plus exigeant. La
production doit sindustrialiser pour apporter aux joueurs innovations et plaisirs.
Lvolution des jeux vido semble suivre lvolution des diffrentes technologies dont ils sont
directement dpendants. A lapparition de la nouvelle gnration de processeurs ou de cartes
graphiques, les jeux essaient de tirer partie de ces progrs pour redoubler de beaut et de
ralisme. Avec la prolifration des rseaux, certains jeux se jouent maintenant plusieurs
centaines de joueurs en mme temps, qui peuvent se croiser dans des univers tranges et
intrigants.
Il y a pourtant un domaine pour lequel les progrs sont mineurs. Ce domaine englobe tous les
programmes ou parties de programmes qui grent le comportement des acteurs jous par
lordinateur, souvent appels personnages non joueur [Blumberg97]. Pourtant, ces techniques
se rapprochent de celles utilises dans un domaine foisonnant de la recherche : lIntelligence
Artificielle.
LIntelligence Artificielle recueille plusieurs courants de penses. Elle apporte de nombreuses
solutions concrtes. Elle reprsente une source de solutions riche, toujours en volution
[Loyall91]. Elle reste pourtant dlaisse par lindustrie du jeu vido. Ce phnomne
sexplique principalement par deux facteurs essentiels. Tout dabord il existe une barrire
mutuelle de dnigrement entre les deux domaines. Les industriels pensent que lIntelligence
Artificielle est rserve quelques chercheurs excentriques travaillant pour larospatiale ou
tout autre industrie de pointe. Les chercheurs voient le jeu comme un sous domaine
dapplication. Nest-il pas plus valorisant de travailler sur un systme de pilotage chirurgical
distance que sur un jeu quelconque. Et puis, les techniques modernes dIntelligence
Artificielle mises en uvre deviennent de plus en plus complexes. La tournure desprit, qui
rgissait les annes 80, sest vue complte par une nouvelle conception : lIntelligence
Artificielle distribue, notamment illustre par [Brooks98] ou encore [Bedau92]. Les
-1-
Introduction
techniques qui en dcoulent peuvent paratre dconcertantes aux habitus de lIntelligence
Artificielle traditionnelle1, et donc aux industriels du jeu vido.
Cette thse rapproche ces deux mondes. Dun ct, les scientifiques recherchent des terrains
dexprimentation moindre frais, pour pouvoir facilement et rapidement fournir des rsultats
pour tayer leurs hypothses. De lautre, les industriels recherchent des moyens dafficher
dans leurs jeux des comportements de plus en plus recherchs, de plus en plus proches de
ltre humain. Ces comportements permettent en effet denrichir linteractivit entre le joueur
et le jeu, interactivit qui reprsente lun des lments essentiels pour la russite dun jeu.
Sous cet angle, lide dune symbiose entre les techniques scientifiques comportementales
modernes et les jeux vido savre profitable pour les deux partis.
Pour pouvoir fonctionner, cette symbiose devra franchir trois obstacles majeurs. Le premier
concerne les contraintes imposes par les jeux vido. Les jeux tirent partie de la moindre
ressource disponible. Ces ressources servent en majorit laffichage, la gestion du jeu, au
son. Les techniques comportementales utilises doivent donc sadapter pour nutiliser quun
minimum de ressources. Cette ide soppose un grand nombre dexprimentations, dans
lesquelles les techniques comportementales occupent la premire place, laissant le reste
sadapter. Le second obstacle concerne cette fois la difficult de mise en uvre de certaines de
ces nouvelles techniques comportementales. Mme si de nombreuses exprimentations
dmontrent leur fonctionnement et leur utilit, la conception des modles comportementaux
utilisant ces techniques reste complexe. Les rglages ncessaires au bon fonctionnement de
ces modles dconcertent souvent les industriels du jeu. Enfin, le troisime obstacle dcoule
de deux prcdents. Il sagit de dmontrer par lexemple la possibilit de cette symbiose.
Aprs tout, quelques exemples valent souvent bien mieux quun long discours.
Les deux premiers obstacles se franchissent en fournissant une architecture capable
dengendrer les modles dcisionnels utiles aux jeux vido, tout en respectant ses contraintes.
Cette architecture doit non seulement fournir des rsultats corrects, correspondant aux attentes
des concepteurs de jeux vido, mais elle doit aussi mettre cette technologie leur porte
[Resnick93]. Il ne sagit pas seulement de concevoir une nouvelle technique adquate, il faut
par leur approche du problme, dite montante dans le premier cas et descendante dans le
second [Bedau92].
-2-
Introduction
en plus quelle soit suffisamment simple mettre en uvre pour rester accessible et avoir une
chance dtre accepte.
Architecture : association dun formalisme et dun mcanisme de fonctionnement,
permettant de crer des modles et de les utiliser.
Modle dcisionnel : modle bas sur un formalisme qui, une fois utilis, produit des
dcisions en tenant compte de paramtres et aboutit ainsi un comportement.
Le passage du troisime obstacle rend le choix des exemples critique. Ils doivent jouer sur les
deux tableaux. Ils doivent apporter des solutions des problmes rencontrs dans les jeux. Ils
doivent galement satisfaire aux exigences techniques qui permettent la rsolution de ces
problmes. Mme si pour le jeu vido, lapparence prime, il est important de baser les
fondements des processus dcisionnels sur des principes prouvs. Cest dans ce cadre que la
distinction de trois niveaux de cognition par [Bourgine93] permet de dlimiter la porte
scientifique de chacune des expriences. La premire, correspondant au niveau ractif
[Bourgine93], devra mettre en uvre les mcanismes de slection dactions. La seconde,
correspondant au niveau hdonique [Bourgine93], explorera les mcanismes dadaptation.
Enfin, la troisime, laquelle correspond le niveau ductif [Bourgine93], exploitera les
mcanismes de modlisation.
Cette thse se partage donc en quatre parties principales. La premire dcrit les attentes des
industriels du jeu vido. Elle donne un bref aperu des techniques utilises jusqualors. Elle
explique quelles sont les contraintes imposes, mais aussi quelles sont leurs origines. Enfin,
elle met en place le principe de validation par lexprience. Elle explique le choix des trois
expriences qui serviront dmontrer la possibilit dune symbiose entre le jeu et les
techniques comportementales dveloppes dans le cadre de cette thse.
La seconde partie dcrit quelles techniques sont mises en uvre pour rsoudre les problmes
soulevs par les expriences. Elle tente de trouver les cls qui permettront de mettre en place
un formalisme de conception simple, expressif et efficace. Elle expose comment fonctionnent
les mcanismes de slection daction, permettant de choisir la meilleure action entreprendre.
Elle tablit les principes qui permettent llaboration des contrleurs de mouvement, capable
danimer des cratures aux morphologies varies. Enfin, elle explore les procds utiliss pour
la navigation autonome de cratures, perdues dans des environnements dynamiques inconnus.
La troisime partie introduit larchitecture permettant la construction de modles dcisionnels,
capables de rpondre aux exigences dj exposes. Elle laborde tout dabord du point de vue
-3-
Introduction
des mcanismes de slection daction, puis des mcanismes dadaptation et enfin des
mcanismes de modlisations. Elle dcrit les modles mis en place et explique le
fonctionnement des diffrents mcanismes.
Enfin, la quatrime partie dcrit les trois expriences qui permettent de mettre en uvre
larchitecture. Toutes ces expriences doivent utiliser des cadres proches de ceux rencontrs
dans les jeux vido. Les trois expriences utilisent donc des univers 3D et fonctionnent en
temps rel. Chacune doit rpondre un problme couramment pos lors de la conception des
jeux. La premire exprience aborde le problme de la slection daction, elle met en uvre
plusieurs cratures se dplaant et interagissant entre elles et avec un utilisateur. La seconde
exprience traite des mcanismes dadaptation. Elle met en scne un hexapode qui doit seul
apprendre marcher. Cette exprience illustre le problme de la gnration dynamique
danimations ralistes. Enfin, la troisime exprience sattaque aux mcanismes de
modlisation. Elle utilise un personnage qui se dplace dans un univers complexe. Il
mmorise les lieux et se sert de son modle pour pouvoir naviguer.
Avant de poursuivre, une petite note concernant la typographie savre ncessaire. Les mots
en gras possdent des significations particulires selon la partie dans laquelle ils se trouvent.
Dans la premire et la seconde partie, pour faciliter la lecture, les mots en gras forment des
phrases simplifies permettant de faire ressortir rapidement les ides matresses. Dans la
troisime partie, ils dnotent des termes rservs larchitecture et son fonctionnement.
-4-
Ce premier chapitre prsente le domaine du jeu vido. Il dcrit brivement les types de jeu,
leurs besoins en terme de processus dcisionnel, ainsi que les techniques couramment
utilises. Ensuite, il expose les nombreuses contraintes quimpose ce domaine. Enfin, il pose
les bases de la validation de cette thse, utilisant des critres issus du domaine du jeu, aussi
bien que de celui de la recherche. Le second chapitre analysera les solutions existantes. Il
dterminera les premiers principes qui permettront de concevoir larchitecture. Le troisime
chapitre introduit cette nouvelle architecture, adapte la conception des processus
dcisionnels pour le jeu vido. Les trois chapitres suivants exploitent cette architecture pour
crer des modles dcisionnels aptes rpondre aux exigences de validation, au travers de
trois expriences lies au monde du jeu vido.
-2-
Le premier point, que nous appellerons richesse dinteraction, est en rapport troit avec
lergonomie. Il reprsente la richesse des instructions que le joueur peut transmettre ses
personnages. Complexifier ces instructions permet au joueur une plus grande interaction avec
lunivers. Son personnage possde un plus grand nombre dactions possibles. Cela enrichit le
dialogue. Malheureusement cela nuit lergonomie. Le personnage devient plus complexe
manier. Trouver laction qui permet de progresser devient alors plus ardu, au point den
devenir parfois rbarbatif. Chaque jeu doit donc trouver son propre quilibre. Le ralisme
parfois recherch doit donc bien souvent cder la place des simplifications salvatrices. Ainsi
simpose lune des premires rgles empiriques qui rgissent lunivers du jeu vido :
Le but du jeu vido est de paratre, de donner lillusion, les techniques utilises importent
peu, seul le rsultat compte !
Le second point, que nous appellerons jouabilit, est tout aussi essentiel. Contrairement
certains domaines de lintelligence artificielle traditionnelle, le but recherch nest pas la
perfection du jeu de lordinateur. Le jeu vido cherche divertir les joueurs, pas leur infliger
de cuisantes dfaites successives. Ainsi toutes les rponses de lunivers doivent augmenter le
plaisir du joueur. Ce dernier doit toujours sentir quil est possible de vaincre lordinateur. Une
seconde rgle empirique simpose alors :
Seul le plaisir du joueur importe, lintelligence artificielle doit donc permettre daugmenter
ce plaisir.
La richesse dinteraction
Le degr dinteraction dun jeu dpend de plusieurs facteurs. Tout dabord linterface
quutilise le joueur. Elle dfinit lensemble des instructions quil peut donner ses
-3-
Les rponses directes : elles reprsentent la raction directe du ou des personnages aux
ordres du joueur.
Pour traiter des problmes complexes ou mmoriser des informations utiles, la richesse
dinteraction semble avoir besoin des techniques dveloppes dans le cadre de lIntelligence
Artificielle.
La jouabilit
Garantir un quilibre entre dfaites et victoires
Telle pourrait tre la rgle en terme de jouabilit. Lunivers doit poser un problme suffisant
pour intriguer le joueur et le forcer rflchir, mais accessible pour ne pas le lasser ou le
frustrer. La tche est dj complexe mais deux facteurs importants viennent la rendre encore
plus difficile :
Les joueurs sont diffrents : certains possdent certaines aptitudes ou ressources que
dautres nont pas, et pourtant le jeu doit rester accessibles tous.
-4-
Chaque joueur volue : au fil de la dure de vie du jeu, le joueur va voluer, comprendre
les principes qui sous-tendent lunivers, et amliorer son efficacit. Et pourtant le jeu ne
doit pas pour autant perdre de son intrt.
Ces deux facteurs mettent en vidence la clef fondamentale de la jouabilit, le jeu doit tre
capable de sadapter aux joueurs. Les joueurs quant eux sadapteront bien assez vite au jeu.
Une fois encore lIntelligence Artificielle semble pouvoir apporter des solutions ce type de
problme
Les bases tant poses, il est temps daborder les aspects comportementaux des jeux, au
travers de ce que nous nommerons simplement des cratures virtuelles.
Les senseurs
Les senseurs renseignent la crature sur son environnement, mais aussi sur son tat interne.
Ils fournissent les informations ncessaires la prise de dcision : les perceptions. Deux
politiques distinctes mergent des jeux vido quant la provenance de ces informations :
la crature a accs toutes les informations dont elle pourrait avoir besoin, sans se soucier
dun quelconque ralisme sensoriel. Cette politique possde lavantage de permettre au
mcanisme de slection de disposer dun nombre important dinformations. De plus il
vite au systme la gestion de perceptions ralistes, qui est un mcanisme assez coteux.
Par contre la quantit dinformations traiter est importante, et le mcanisme de slection
risque dtre difficile raliser. Enfin le manque de ralisme est lorigine de nombreux
comportements considrs comme malhonntes par les joueurs (lordinateur triche).
La crature possde un certain nombre de sens (ou senseurs) qui lui fournissent les
informations au fur et mesure de son existence. Cette politique est plus raliste. Elle
permet tout dabord de maintenir la partialit face un joueur humain [LaMothe95]. Etant
la base du mcanisme de slection, des perceptions ralistes engendreront des
comportements qui seront perus comme tant plus ralistes [Tu94]. De plus
lincompltude des informations engendre chez lentit des comportements dexploration
qui sont trs proches de ceux employs par un tre humain. Enfin elle permet de poser les
prmisses de la mmoire, en tablissant un repre prcis de ce que seront les souvenirs
[Burke01].
Evidemment il nest pas facile de faire son choix. Choix qui dpend en fait de la possibilit de
simuler des facults sensorielles dans le jeu et du besoin de ce caractre dans les
comportements.
[Costa96] [Burke01] soulignent un autre point important. En effet lappareil perceptif effectue
un travail complexe de distinction et de diffrenciation des objets. Ce travail peut tre vit en
-6-
Les effecteurs
Les effecteurs dune crature permettent de dcrire lensemble des actions quelle peut
entreprendre. De nombreux scientifiques [Brooks98] [Resnick93] [Bedau92] soulignent
limportance des effecteurs lors du dveloppement de lintelligence. En effet ces effecteurs lui
permettent dexplorer le monde et dapporter de nouvelles informations ses senseurs pour
ainsi sadapter en fonction de ces dcouvertes. De plus les effecteurs sont au centre du
mcanisme de slection, puisque cest parmi eux que la crature doit choisir.
Le choix des effecteurs conditionne les actions possibles pour la crature. Mais il est possible
comme le stipule Bruce Blumberg [Blumberg95] ou encore Mnica Costa et Bruno Feijo
[Costa96] de distinguer une certaine granularit des actions. Par exemple laction davancer
peut correspondre aussi bien au dclenchement dune animation et au changement de position
de lentit, ou alors lactivation de plusieurs degrs de libert (muscles) qui vont avoir pour
rsultat le dplacement effectif de la crature. Bien videmment la seconde solution parat
plus complexe. Mais une fois de plus, elle est plus raliste, et permet de varier linfini les
comportements. Alors que la premire solution est limite par le nombre danimations cres.
Il y a certaines traditions difficiles oublier. Les jeux daventure, bass sur la dcouverte
dobjets et leur utilisation plus tard, sont lgions. Ils soulignent un point important qui rend
certaines architectures peu adaptes : les effecteurs doivent pouvoir se rfrer un ou
plusieurs objets. Par exemple laction de prendre ne sert rien sans objet. Parfois certaines
actions possdent mme plusieurs objets (toutes les actions de combinaison). Ces actions
entranent rapidement une explosion combinatoire des poddibilts et se limitent en gnral 2
objets. Ce qui suffit pour tout simuler, puisque le rsultat dune premire combinaison peut
son tour tre recombin.
Enfin, dans un souci ludique, les mouvements doivent renseigner les observateurs sur la
crature, ses sentiments . Ian Wilson [Wilson99] ou encore Michael Mateas [Mateas99],
pour ne citer que ceux qui ont publi dans une revue centre sur le jeu vido, sont daccord
pour affirmer que les motions doivent pntrer dans les jeux vido. Elles sont la base de la
-7-
La slection
Dun ct, un ensemble de senseurs, de lautre un ensemble deffecteurs, la slection permet
de relier les deux. Une fois de plus, se pose le problme de la granularit comme lexplique
Bruce Blumberg [Blumberg95]. Cette slection se dcoupe donc en fonction des effecteurs
auxquels elle sadresse. Des couches semblent alors apparatre. Dans [Blumberg95], ces
couches se distinguent de par leur gnralit de traitement. Parfois elles constituent diffrents
niveaux de cognition comme dans [Ferrell95], qui utilise larchitecture de subsumption de
Rodney Brooks [Brooks91].
Dun point de vue logique, les couches suprieures sont responsables de la gestion des
couches infrieures, crant ainsi un lien de dpendance logique. Lordre dexcution devrait
donc dbuter par les couches suprieures pour descendre petit petit, en suivant les
dpendances. Cest lapproche descendante.
Approche descendante : les couches comportementales non dpendantes (du plus haut
niveau de cognition) sont excutes en premier lieu. Elles transmettent leurs instructions aux
couches infrieures, qui sont alors excutes. Lexcution suit donc lordre logique des
dpendances.
Dun point de vue comportemental, lorsque le temps vient manquer pour une rflexion
approfondie, ce sont les couches rflexes qui prennent le contrle. Ces rflexes peuvent tre
annuls moyennant une supervision des couches mentales suprieures. Cette fois les couches
sembleraient tre traites depuis le bas. Si les couches suprieures ont eu le temps dapporter
leur contribution tant mieux, sinon la crature se contente dun rflexe. Cest lapproche
montante.
Approche montante : les couches comportementales sont excutes par ordre de niveau de
cognition, en commenant par les couches rflexes. Les couches de niveaux suprieurs
peuvent invalider et modifier les rsultats des couches infrieurs.
La slection descendante permet, si toutes les couches sont excutes, davoir un
raisonnement parfait (dans les possibilits de la crature) et sinon de ne rien avoir du tout, si
ce nest un dbut de raisonnement de haut niveau. Les couches suprieures produisent
-8-
Les jeux impersonnels ou jeux de stratgie : le joueur incarne une sorte de leader
imaginaire et dirige en fait une quantit importante de personnages. Bien sr il ne connat
pas vraiment ces personnages.
Les jeux darcade : linteraction se limite au dplacement et au tir. Le but est en gnral
dliminer toutes les cratures rencontres. Linteraction est assez simple et se situe dans
les mouvements et une ou deux actions clefs (tir, choix de larme).
Les jeux daventure : linteraction est la plupart du temps plus complexe. Le personnage
du joueur ou avatar peut parfois dialoguer avec dautres personnages, il peut rcuprer et
utiliser des objets.
Nous obtenons donc 3 catgories que nous nommerons stratgie, arcade et aventure. Ces 3
catgories vont maintenant tre tudies plus en dtail.
-9-
Lavatar
Lavatar fait son entre dans le rang des cratures virtuelles. Il nest plus seulement lesclave
du joueur. Il a une histoire, il vit des situations exceptionnelles et surtout il reprsente le
joueur. [Mateas99] et [Blumberg95] souligne lintrt aussi bien artistique que conceptuel
dun tel choix. Aprs tout cest le seul personnage que le joueur suit tout du long. Il est
important quil contribue lambiance des scnes quil traverse.
Bien sr il est ncessaire de faire appel des technologies complexes de paramtrage des
actions. Il est mme possible dimaginer un dialogue entre lavatar et le joueur, le premier
pouvant servir de conseiller au second lorsque le joueur peine un peu.
Aujourdhui encore, lavatar reste un pantin dans les mains du joueur. Il se cantonne ragir
aux impulsions de linterface. Par contre certains efforts sont ports sur la morphologie des
cratures. Lapparition de moteurs dynamiques2 temps rel a permis de doter ces cratures de
squelettes articuls ragissant aux lois de la mcanique. Ils offrent alors au joueur des
mouvements calculs la vole, varis volont.
Les adversaires
Avec Pong [Pong75] sont apparus les premiers adversaires : une raquette symbolise par un
segment vertical, renvoyant la balle au joueur. Pac Man [PacMan82] a rendu clbre une
bande fantmes colors terrifis lorsque le joueur avait aval un pac gum. Les cratures des
jeux darcades sont des mchants quil convient dabattre dans les plus brefs dlais. Leur
autonomie est limite, ils suivent un chemin prdfini et restent aux aguets au cas ou le joueur
passerait porte. Ils ne disposent pas dune grande autonomie. Et puis ils ont volu pour
aboutir Half Life [HalfLife98]. Voici les tapes clefs qui ont marqu cette volution.
2
Trajectoire fixe, tir fixe : la crature suit un parcours prdfini et nen sort pas. Elle tire
intervalles rguliers, cest la plus simple des cratures virtuelles (mcanisme de slection
daction trs simple, rduit une squence unique). Elles hantent encore quelques vieux
jeux comme Space Invader [SpaceInvader78].
Trajectoire fixe, tir contrl : cette fois la crature choisit quand elle tire. Par contre elle se
colle sa trajectoire. Le systme de contrle est donc trs simple, si le joueur est dans la
ligne de tir, la crature tir. Elles ont peupl de nombreux jeux drivs de R-Type
[RType87].
Trajectoire fixe relaye par combat rflexe : la crature suit toujours une trajectoire, mais
ds que certains vnements surviennent, elle passe en mode autonome et applique un
certain nombre de rflexes pour essayer de dtruire la joueur. Ces cratures sont les plus
courantes dans les jeux actuels tels que Quake [Quake96] ou encore Commandos
[Commandos98].
Trajectoire fixe relaye par combat tactique : toujours cette notion de trajectoire. L
encore la suite de certains vnements elle passe en mode autonome. En plus dappliquer
certains rflexes, elle possde des moyens de communiquer avec dautres et dappliquer
donc des tactiques de groupe. Il est important de noter que parfois, de telles tactiques se
ralisent quavec un ensemble de comportements rflexes [Reynolds99]. Ces cratures
commencent peupler de plus en plus de jeux et reprsentent le summum des jeux
darcade.
Il apparat clairement que les adversaires disposent de plus en plus dautonomie. Malgr tout,
ils restent cantonns un mode trajectoire la plupart du temps. Cela permet dconomiser du
temps machine et assure un certain dterminisme qui permet au joueur dadapter sa tactique
au fur et mesure de ses expriences. Mais pour le jeu, les moments les plus importants sont
ceux pendant lesquels le joueur peut voir le monstre et donc les moments pendant lesquels la
crature est en mode autonome. Ce mode est donc trs important et doit permettre de
rehausser lintrt du jeu.
Les bots
Les bots sont des simulations de joueurs, dirigs par lordinateur. Ils ne possdent donc pas de
mode trajectoire et fonctionnent de manire autonome. Ils font donc actuellement partie des
cratures virtuelles darcade les plus volues. Ils doivent reprsenter un challenge pour le
- 11 -
Tir parfait : les bots sont souvent dots dexcellentes capacits de tir. Il est en effet facile
pour eux de calculer parfaitement les angles de vise pour peu quils aient accs
certaines informations.
Tactique : cest le point faible des bots et le point fort des joueurs. En fait ce problme se
dcompose en deux sous problmes lis :
Les bots sont l pour remplacer dautres joueurs et peupler les univers virtuels de personnages
autonomes. Ils reprsentent ce quil y a de plus volu pour larcade. Avec lapparition de
nombreux jeux tactiques, les allis ont fait leur apparition. Ce sont des bots semi autonomes
qui le joueur peut donner des instructions, qui laident dans sa mission. Cependant les
capacits dadaptation et les motions leur font encore cruellement dfaut. Ils ressemblent
encore trop des robots. Heureusement dans le feu de laction le joueur na pas rellement le
temps de sen rendre compte
- 12 -
Les personnages
Les personnages sont autonomes et peuvent raliser certaines tches. Le stratge doit alors
leur indiquer quelle tche ils doivent entreprendre. La ralisation de la tche est alors leur
charge.
Tactique de guerre : dans la plupart des jeux, les camps doivent conqurir des territoires
au prix de batailles. Et qui dit bataille dit tactique. Plus les personnages sont autonomes et
moins le stratge aura de travail. Il se contentera de donner les grands mouvements de sa
stratgie. Cela importe surtout pour les joueurs, qui ne peuvent se concentrer sur tous les
dtails simultans dune ou plusieurs batailles. Une fois encore cet effet peut tre obtenu
par le biais de quelques comportements rflexes.
La stratgie
Mme avec des personnages autonomes, il faut encore tablir une stratgie gnrale. Le joueur
tient habituellement ce rle. De mme les stratges jous par lordinateur doivent reprsenter
des adversaires de valeur. Cest--dire des adversaires contre lesquels les joueurs auront
plaisir jouer.
[Matthews99] [Stern99] ainsi que de nombreux articles scientifiques distinguent 2 approches
pour construire une stratgie :
Top down : cette approche consiste laborer une stratgie trs gnrale, puis de raffiner
les tapes de cette stratgie en sous stratgies, et ainsi de suite. Cette faon de rflchir est
assez proche de notre rflexion. Le problme est quil faut prvoir lavance lensemble
des stratgies possibles, condamnant ainsi toute volution autonome (sans ajout logiciel).
Les jeux de stratgie sont assez rptitifs. Les missions reviennent souvent appliquer les
mmes stratgies. Pour viter la lassitude il est essentiel de doter lordinateur de facults
dadaptations. Au dpart elle enseigne les bases du jeu au joueur, puis sadapte son niveau
qui voluera avec les missions.
- 14 -
Le personnage principal
Les jeux daventure se divisent en deux catgories selon leur gestion du personnage principal.
Les plus simples, appels jeux daventure, mettent en uvre un personnage unique,
possdant une personnalit trs riche. Tout le scnario tourne autour de ce personnage.
Rejouer plusieurs fois laventure ne prsente que peu dintrts, puisque les paramtres
initiaux sont les mmes. Les autres sont appels jeux de rles. Les personnages y sont dcrits
par un ensemble de caractristiques susceptibles de varier dun personnage lautre, mais
aussi au cours du temps par lexprience. Le joueur doit alors choisir quel personnage
incarner. Rejouer laventure devient alors un challenge intressant, surtout si le choix initial
est trs diffrent. Quoiquil en soit, le joueur connat bien son ou ses personnages. Sa
personnalit est en gnral assez riche et son histoire est la base du scnario.
Indice : lobjet napporte rien en soit, si ce nest des informations concernant le scnario,
qui vont permettre au joueur de choisir ses prochaines actions.
Qute : lobjet doit tre rapport un endroit prcis ou un individu qui vous rendra en
gnral un service en change. Russir la qute marque alors une progression dans le
scnario.
Combinaison : lobjet enfin peut se combiner avec un ou plusieurs autres objets et donc
faire partie dun tout.
- 15 -
Les monstres : souvent assez simples dans leurs rflexions, ils apportent la touche daction
ncessaire pour rendre le jeu plus palpitant.
Les coquipiers : soit en leur rendant service, soit en les payant, le joueur peut sadjoindre
des allis. Ces coquipiers sont pseudo autonomes et suivent les directives du joueur. Ils
sont en gnral libres de choisir les dtails de leurs actions.
Les personnages autonomes : sans doute les plus intressants, ces personnages possdent
leurs propres motivations, leur propre histoire et sont susceptibles dapporter au joueur des
informations.
Les jeux daventure plongent le joueur dans un univers particulier. Limportant est que le
joueur sente que ce monde vit, quil existait avant son aventure, et quil existera toujours
aprs. Or ce sont les cratures virtuelles qui lui donnent vie. Leur jeu dacteur doit convaincre
le joueur. [Wilson99] [Mateas99] soulignent limportance des motions qui donnent vie aux
personnages non joueurs et donc au monde.
Le scnario
Le scnario est la base de tout dans les jeux daventure. Il doit tre la fois complexe et
reprsenter un challenge pour le joueur, mais aussi suffisamment simple pour ne pas le lasser
par une qute trop complexe. Les jeux daventure ont d adapter les techniques classiques
dcriture. En effet le caractre interactif des jeux vido rend la prdiction des scnes difficile.
Les scnaristes utilisent alors un arbre logique qui trace lensemble des scnarii possibles.
Chaque nud est une tape de lhistoire, les liens sont les vnements qui permettent de
passer dune tape une autre. Ces vnements peuvent tre dclenchs par les actions du
joueur, mais aussi par dautres personnages. Cette structure a lavantage de pouvoir
reprsenter lensemble des possibilits scnaristiques du jeu. Par contre elle est trs rigide, une
- 16 -
Les dialogues
Linteraction est un facteur essentiel pour le jeu. Or, le principal vecteur dinteraction utilis
reste le dialogue. Le dialogue est un outil indispensable pour lvolution des trames
scnaristiques. Il y introduit des lments concernant la psychologie des personnages qui
enrichissent la trame scnaristique. Laventure nest plus une simple exploration qui se solde
par la rcolte dobjets cruciaux, mais devient une vritable intrigue, dans laquelle la
psychologie des personnages tient un rle central, tout comme cest souvent le cas pour les
autres mdias (films, livres).
Les techniques de traitement du langage naturel ntant pas encore parfaitement au point, les
dialogues ont revtu plusieurs aspects tout au long de lhistoire des jeux daventure :
Dialogue prdtermin : durant les phases de dialogue, le joueur na plus aucun contrle.
Il sagit en fait dune cinmatique apportant au joueur les lments du scnario ncessaires
sa progression.
Le dialogue est une chose naturelle que les joueurs utilisent tous les jours. Leur donner la
possibilit de lutiliser dans un jeu peut savrer dangereux. Les joueurs ont naturellement de
grandes attentes. Il est donc important de situer des limites rapidement. Mieux vaut utiliser un
dialogue fixe, que de proposer un dialogue complet mal gr, qui finira par frustrer le joueur.
Plusieurs techniques issues du traitement du langage naturel peuvent tre appliques dans les
jeux vido. [Matthews99] propose notamment dutiliser les principes de Shank.
La simplicit mathmatique
- 18 -
Conclusions
Les techniques de simulation mathmatique sont adaptes pour des jeux de simulation. Parfois
de complexes phnomnes sont trs bien synthtiss par une fonction assez simple. Il est alors
possible de les utiliser comme outil, que ce soit pour la prise de dcision, ou pour des
problmes rseau.
Malheureusement ces techniques sont trs peu adaptes pour les mcanismes de slection
daction. Son aspect fondamentalement non linaire, la multiplicit des paramtres, rendent le
choix des variables et la conception des quations dlicats.
- 19 -
Factuelle : cette partie correspond la solution apporte par la rgle. Elle nest applique
que si la partie conditionnelle est valide.
Les blackboards
Les blackboards sont composs dun tableau noir (dont ils tirent leur nom), et dun certain
nombre dentits dcisionnelles. Le tableau noir montre aux entits ltat actuel de la
situation. Chacune des entits reprsente un domaine dexpertise particulier, un point de vue
sur la situation actuelle. Elle doit mesurer ladquation de son point de vue la situation,
trouver une solution personnelle, et proposer lensemble au tableau noir. Ces entits ne
peuvent communiquer entre elles. Finalement le tableau choisit la proposition la plus adquate
et applique sa solution. Il modifie alors les informations quil contient en consquence et le
processus peut se poursuivre.
- 21 -
Ici sont stockes les donnes du problme en cours, ces informations sont accessibles par tous les modules.
Seul un module peut venir modifier ces informations chaque tape.
Module 1
Module 2
Module N
Son autovaluation
Son autovaluation
Son autovaluation
Figure 2 : Le blackboard.
Il est important de souligner le caractre aveugle du tableau noir. Ce dernier ne fait que choisir
en fonction de ladquation que propose chaque entit, adquation quelle a elle-mme
calcule. Cette technique possde lavantage de pouvoir faire cohabiter des systmes
dcisionnels de natures trs diffrentes.
Rgles : certains algorithmes externes permettent de mettre jour les rgles, en modifiant
leur partie conditionnelle ou factuelle. Certaines rgles juges inaptes peuvent tre
retires, dautres cres.
Rgles floues : il est possible de faire varier les coefficients conditionnels des rgles, grce
un mcanisme externe assez simple.
- 22 -
Blackboard : chaque module tant responsable et autonome, il doit mettre en place son
propre principe dvolution. Ce dernier dpend grandement de la nature des modules.
- 23 -
Figure 3 : Close Combat, la carte stratgique, les objectifs, les forces en prsence.
Lors du dveloppement de ce jeu, les concepteurs avaient commenc dvelopper une
architecture base de blackboards. Malheureusement celle-ci sest avre peu adquate la
gestion de ces diffrents niveaux de dcisions. Les concepteurs se sont alors repli vers une
solution plus classique. La plupart des cas ont t prprogramms et intgrs dans le processus
dcisionnel. Ce dernier dispose dune palette classique doutils : chercheur de chemin,
localisateur dobjets.
- 24 -
Le fonctionnement
Chaque contexte est associ un module dcisionnel. Il se focalise sur une partie du
mcanisme dcisionnel et reprsente en fait un ensemble de rponses. Ces modules peuvent
tre relis entre eux par le biais de transitions qui permettent de passer dun contexte lautre.
Ces transitions reprsentent un ensemble de conditions qui valident le changement de
contexte.
- 25 -
Lefficacit
La notion de hirarchie permet de filtrer rapidement les tats pour connatre celui qui
deviendra actif. Le niveau le plus gnral slectionne son tat actif. Puis le processus se
poursuit pour ltat slectionn, lui-mme devant slectionner parmi ses propres tats celui
qui sera actif. Ainsi tous les tats du systme nont pas besoin dtre tests, seuls ceux de
ltat actif le sont. Ce processus de filtrage assure une trs grande rapidit aux structures
base de HFSM.
- 26 -
Lvolutivit
Les modules finaux sont les modules qui ne sont pas des FSM. La possibilit dutiliser pour
eux nimporte quelle technologie dcisionnelle permet dintgrer aisment des mcanismes
dvolutivit interne. Ainsi chaque module va pouvoir faire voluer son processus de dcision.
Encore faut-il utiliser une technologie qui le permette.
Le second point dvolution concerne les mcanismes de changement dtat. L encore il
existe plusieurs techniques dont certaines pouvant intgrer des possibilit volutionnistes.
Parmi ces dernires sont utilises les systmes Bayesiens, les modles Markoviens. Les
systmes dterministes sont plus simples mais prsentent peu de possibilits dvolution.
Cependant les HFSM nintgrent pas de mcanisme dvolution rel. Faire voluer ces
structures assez volues est un procd complexe. Lensemble de la structure restera donc
relativement statique.
Voir Lexique.
- 27 -
- 28 -
Le fonctionnement
Lunit de rflexion est le neurone. Son fonctionnement est assez simple contrairement son
homologue biologique. Chaque neurone effectue la somme de tous les signaux quil reoit.
- 29 -
Ladaptation
La principale qualit des rseaux de neurones est leur adaptabilit. Chaque poids reprsente en
fait une partie de la mmoire du rseau. Lors du mcanisme dapprentissage ces poids
voluent et le rseau sadapte. Il est important de souligner limportance de la fonction seuil.
Elle rend lensemble mathmatiquement complexe, mais elle permet quune petite
modification change le rsultat du rseau entier [Blumberg95]. Ceci permet une adaptation
efficace, mme pour des problmes non linaires.
Plusieurs mcanismes dapprentissage ont t adapts aux rseaux de neurones. Tous se
basent sur la notion dchec et de russite, et de leur quantification. Un signal spcial, appel
signal dapprentissage, est envoy dans le rseau depuis les neurones de sorties, qui vont
modifier leurs poids en consquence. Ainsi en fonction des valeurs envoyes lors de son
utilisation et de la correction reue (signal dapprentissage), le neurone va pouvoir modifier
les poids qui lui sont lis.
La structure
Le rsultat de la rflexion du rseau dpend principalement de sa structure. Certaines
catgories de structures ont t bien tudies. Lensemble forme souvent un systme
mathmatiquement complexe peu prvisible. Les rsultats obtenus sont la plupart du temps
hasardeux.
- 30 -
Exemple : Creatures
Ce jeu [Creatures98] est unique en son genre (ou presque [Stern99]). Il est issu directement de
la mouvance animaux virtuels de compagnie. Dans ce jeu, le joueur soccupe dune charmante
petite crature qui volue dans un monde sympathique en deux dimensions.
La crature appele NORN est autonome. Malheureusement sa naissance elle nest pas ou
peu duque, incapable de reconnatre les fruits empoisonns des bons, les jouets des piges
dangereux, les amis des prdateurs. Le joueur doit soccuper de tout lui enseigner. Il peut
mme lui enseigner du vocabulaire pour dsigner les objets de son univers. Pour interagir avec
les cratures, le joueur possde 3 moyens :
Taper la crature : signe dchec, la crature revoie ses dernires dcisions (apprentissage).
Parler : envoie un mot ou plusieurs la crature qui les assimile lobjet de son attention
(apprentissage).
Figure 8 : Creatures, un NORN dans son univers, gauche la main du joueur, une bulle
de dialogue.
- 31 -
1.3.5. Gntique
Darwin, lvolution, la slection naturelle, tous ces concepts ont t informatiss pour aboutir
aux algorithmes gntiques et leur extension : la programmation gntique.
Le fonctionnement
Les algorithmes gntiques permettent de faire voluer une entit en utilisant une version
algorithmique de lvolution gntique. Le fonctionnement se divise en 4 tapes :
Evolution : les codes des entits vont alors tre changs. Deux principes sont couramment
utiliss. Le croisement permet de combiner deux codes diffrents pour en obtenir un
troisime. Il est comparable au mcanisme de croisement gntique humain. Son principe
est de chercher une solution parmi les solutions partielles existantes. La mutation consiste
modifier au hasard et dans une certaine proportion un code gntique. Son principe
permet dexplorer de nouvelles solutions (codes), non contenus dans la population.
Slection : un procd permet de slectionner les codes les plus performants. Certains
seront limins, les autres pourront continuer en reprenant le processus dvolution. Ce
procd est crucial. Cest le moteur de lvolution, sa conception est donc parfois assez
complexe. Le plus souvent une fonction permet de mesurer ladquation de la crature
son environnement. Cette fonction, appele fitness, permet alors de classer les individus
en fonction de leur adaptation.
Dans la plupart des cas le code gntique reprsente une solution au problme pos.
Lvolution des codes se compare alors une volution des solutions proposes, pour
finalement aboutir une solution convenable. Il sagit donc dun algorithme stochastique de
parcours de lespace des solutions. Sa convergence dpend de nombreux paramtres (codage
choisi, oprateurs dvolution utiliss, fonction de fitness), ce qui rend ces algorithmes
dlicats utiliser.
La programmation gntique
La programmation gntique pousse le principe encore plus loin. Le fonctionnement est du
mme type, mais la nature du codage est diffrente. Maintenant le code ne reprsente plus une
solution, mais le moyen de gnrer cette solution : un programme. Par exemple pour un
parcours de labyrinthe, lalgorithme gntique recherche et code des chemins. La
programmation gntique gnre un code qui contrlera un automate qui trouvera la sortie.
Pour les cratures virtuelles, cette gense est un procd intressant. Elle a t utilise en
parallle de nombreuses autres technologies, pour les faire voluer. Il devient, par exemple,
possible de coder la structure des HFSM, ou encore celle des rseaux de neurones et de les
faire voluer. Ces techniques sont donc un complment trs intressant pour lensemble des
autres techniques.
Exemple : Creatures
- 33 -
- 34 -
- 35 -
Figure 11 : Black & White, le joueur choisit son reprsentant parmi 3 cratures.
Non seulement la crature est rellement en volution constante, mais elle modlise son
univers en fonction des indications du joueur. De plus lensemble de la population de lle
volue en fonction des actions de la crature et donc indirectement du joueur. Une vritable
socit se met en place.
- 36 -
The Sims
Dans la ligne de Little Computer People [LittleComputerPeople], Les Sims [Sims00] permet
au joueur de crer un voisinage virtuel, incluant btiments et personnages. Ces derniers
possdent un ensemble dattributs dtermins par le joueur. Ils permettent de configurer la
couleur de la peau, le sexe, lge et la personnalit (propret, aisance, dynamisme, sens de la
fte, caractre). Secouer, laisser le tout voluer
Les Sims (les personnages), vivent alors leurs vies selon leurs affinits et leur personnalit. Ils
mangent, boivent, dorment, joue, prennent des douches etc. Ils interagissent avec leurs
voisins. Ils discutent, jouent et tombent amoureux, ils peuvent mme avoir des enfants. Bien
sr tous nont pas rellement besoin du joueur. Le joueur doit cependant les surveiller,
nettoyer un peu avant que lendroit ne devienne une dcharge, leur donner de quoi jouer pour
les occuper avant que leurs nerfs ne lchent.
- 37 -
- 38 -
- 41 -
100
% de projets ayant un
ou plusieurs
dveloppeurs ddis
80
60
% du tem ps m achine
allou l'IA
40
20
0
GDC 1997 GDC 1998 GDC 1999 GDC 2000
Gam e AI
2000
Les profits
Les processus dcisionnels simulent des mcanismes complexes. Mme si, dans le cadre des
jeux vido, il ne sagit pas de reproduire exactement ces mcanismes, il faut rester
suffisamment convaincants. Or ce suffisamment est en constante volution. Les joueurs
demandent de plus en plus aux cratures virtuelles. Elles doivent se comporter de plus en plus
intelligemment .
Plus de temps machine permet donc dutiliser des procds plus complexes. Ainsi il a t
possible de faire fonctionner en temps rel plusieurs rseaux de neurones. Grce ce gain, les
technologies dveloppes dans les laboratoires de recherches vont pouvoir tre utilises dans
les jeux vido.
Le temps machine reste donc lune des proccupations principales. Tout gaspillage est
bannir. Dautant plus quil ne sagit pas, la plupart du temps, danimer une seule crature,
mais un univers entier, peupl de dizaines voir de centaines de ces cratures. Il est donc
indispensable doptimiser les ressources pour chacune.
- 42 -
2.1.3. La mmoire
La mmoire est la seconde ressource indispensable. L encore elle est limite par le matriel.
Tout comme le temps machine, elle doit tre partage par un ensemble de tches
indispensables du jeu : gestion gnrale de lunivers, son et musiques, textures etc.
Son utilit
La mmoire sert stocker les informations ncessaires au fonctionnement du jeu. Elle doit
donc se partager entre tous les diffrents domaines :
Gestion gnrale : pour fonctionner lunivers doit enregistrer des donnes comme
lemplacement des objets, ltats de ces objets, ltat des personnages, ltat du monde.
Gestion sonore : les sons aussi bien que les musiques doivent eux aussi tre en mmoire
pour tre jous. Bien sr seule une partie de la musique y figure. L encore plus les
musiques et effets sonores sont ralistes et de bonne qualit, plus la mmoire ncessaire
est importante.
Les jeux vido ncessitent dj beaucoup de mmoire, et ce sans compter les processus
dcisionnels. Or ces derniers sont eux aussi assez gourmands pour plusieurs raisons :
Ltat des cratures : outre leur position, les cratures virtuelles possdent un tat interne
qui peut tre plus ou moins dtaill. Il peut inclure par exemple ltat motionnel, ainsi
que le dtail du fonctionnement morphologique (sortes dhormones).
Lhistorique : pour que lillusion soit optimale, il est important que les cratures virtuelles
conservent une trace des vnements passs. Elles pourront les utiliser pour prendre leurs
dcisions, ou encore lors de conversations. Bien sr ces souvenirs consomment eux
aussi de la mmoire.
La quantit de mmoire ncessaire pour faire fonctionner une crature virtuelle est donc
relativement importante. Ce cot dpend de trois facteurs essentiels : la complexit de
- 43 -
- 44 -
Premption
Tout dabord il est indispensable que les mcanismes dcisionnels puissent tre interrompus
par le jeu. Lorsquil sagit dafficher une nouvelle image, il est parfois primordial de connatre
les actions des cratures virtuelles visibles. Seulement le processus dcisionnel nest pas
forcment termin au moment o le jeu ncessite linformation. Il doit donc pouvoir stopper
ce processus quand bon lui semble. Le corps du jeu a donc le pouvoir de premption sur le
dcisionnel.
Cet aspect premptif soulve en fait dautres problmes. La partie La slection (cf. page 8)
expose les deux approches possibles. Lapproche descendante permet daboutir un
raisonnement parfait. Par contre, sil et interrompu, il ne produit souvent aucune dcision.
Lapproche ascendante permet dobtenir des dcisions simples, mme si le temps de la
rflexion est court. Par contre, elle demande la mise en place de procds de modification des
rsultats des couches infrieures. [Brooks89] favorise par exemple, dans son architecture de
- 45 -
Incrmental
Certes les mcanismes dcisionnels peuvent tre interrompus. Mais il est ncessaire quils
puissent tre repris l o ils en taient, sil savre par exemple que le jeu dispose encore de
temps machine. Lorsquun procd peut tre interrompu puis repris plus tard, il est dit
incrmental.
Une fois encore, le caractre incrmental des processus dcisionnels implique un certain
nombre de contraintes. Toute dabord il doit tre capable de sauvegarder son tat, pour
pouvoir plus tard le reprendre. Bien sr ces sauvegardes doivent tre minimales. Elles ne
doivent inclurent que le strict ncessaire la reprise du raisonnement. Ensuite il est important
de discerner plusieurs niveaux dincrmentalit :
Simple : le processus est interrompu, puis reprend sans que lunivers nait chang. Cest le
cas standard, le processus doit reprendre o il en tait, tous ses rsultats antrieurs sont
conservs.
- 46 -
Evolu : le processus est interrompu, puis reprend. Mais cette fois, lunivers a t modifi
entre temps. Le processus ne doit pas garder tous ses calculs. Seulement certains sont
encore valables. Il est donc indispensable de mettre en place un mcanisme de persistance
des informations et des calculs. Ce mcanisme peut tre une simple distinction boolenne,
ou encore un mcanisme dcisionnel qui permet de dcider la validit de linformation ou
du calcul.
Bien sr les deux niveaux ne sont pas ncessaires. Mais le second niveau permet dobtenir une
certaine stabilit comportementale. Le comportement slectionn un cycle peut alors
persister, jusqu ce quun autre, plus prioritaire ne vienne prendre sa place (premption).
Niveaux de dtail
Les niveaux de dtail sont utiliss pour laffichage et permettent ainsi de choisir le dtail de la
forme afficher en fonction de la distance la camra. Il est en effet inutile dutiliser un
modle comportant des milliers de faces, si au final il noccupera lcran quune dizaine de
pixels. Ce principe trs conomique est applicable aussi au niveau comportemental.
Parfois certaines actions envoient des ordres dautres couches comportementales. Lexemple
le plus simple est sans doute la couche dcisionnelle qui envoie des ordres la couche motrice
responsable de lexcution des mouvements. Laction lorigine de lordre moteur possde
alors un comportement de remplacement. Ce comportement est une simulation grossire de la
couche infrieure. Il est excut lorsquil nest pas ncessaire davoir le dtail. Dans
lexemple, lorsque la crature nest pas visible lcran, il suffit de la dplacer dans lespace,
sans pour autant devoir actionner ses muscles et procder aux calculs qui la maintiennent en
quilibre. Ce procd de simulation sappelle niveaux de dtail comportementaux .
- 47 -
Les cratures
Les techniques utilises aujourdhui pourraient permettre de donner aux cratures une grande
autonomie. Malheureusement leur conception devient trs complexe et la plupart des
concepteurs prfrent cantonner leurs personnages dans quelques actions majeures prvues
par le scnario. Il nest pas rare dans les jeux de rencontrer des personnages donc les
possibilits sont restreintes. Ainsi certains ne peuvent communiquer (ou rpondent
constamment la mme phrase vasive) ou encore ne sont pas sensibles aux attaques des
joueurs (parce que leur rle nest pas de se battre). Ces limites artificielles frustrent les
joueurs. La frustration finit par aboutir labandon pur et simple du jeu.
Dans Creatures [Creatures98] ou dans Sims [Sims00], deux des rares jeux donner une
importante autonomie leurs personnages, laspect scnaristique au sens classique du terme
- 48 -
Le scnario
Le scnario peut tre assimil un arbre des possibilits. Les actions du joueur, les dialogues,
toutes les interactions ne servent qu progresser dans cet arbre. Une fois larbre explor, le
jeu ne prsente plus aucun intrt. Parfois mme la logique de progression chappe au joueur
qui recherche dsesprment laction entreprendre pour passer ltape suivante. La
situation devient alors critique, le joueur risque de se lasser trs vite. Par contre si le passage
est trop simple, la dure de vie du jeu est restreinte et ne justifie pas son investissement. Le
passage de chaque tape doit donc tre dos au mieux. Cest une tche difficile, surtout quand
le publique est vari.
Un autre moyen denrichir le jeu consiste largir larbre. Certains jeux permettent dexplorer
plusieurs branches la fois. Chaque branche devient alors une sorte de mini scnario,
possdant chacune plusieurs issues possibles. Le joueur rsout ainsi les nigmes
paralllement. Il peut passer de lune lautre au gr de ses dplacements. Les jeux les plus
complexes demandent un trs gros travail scnaristique, qui doit tout prvoir. Cette approche
ressemble tonnamment lapproche top down . Elle possde lavantage de diriger le
joueur exactement o le scnariste lavait prvu. Mais la dure de vie du jeu dpend
directement du travail scnaristique fourni. Ce travail crot selon le produit des solutions et
des tapes (croissance exponentielle). Pour un jeu riche il devient vite colossal. Voici un
exemple volontairement simple illustrant cette dmarche :
Le hro doit sauver une princesse et terrasser le dragon qui la garde prisonnire. Au
cours de sa qute, il rencontre un ermite qui lui indique lemplacement dune lance
sainte. Cette lance possderait le pouvoir de terrasser les dragons. Le hro dcide donc
- 49 -
2.3. CONCLUSION
Le jeu vido est un domaine trs contraignant. Il prive les programmeurs de certaines
techniques utilises dans dautres domaines informatiques. Il restreint les ressources de temps
machine et de mmoire disponibles au minimum. Il relgue les processus dcisionnels au
second plan, qui doivent rester esclaves du corps du jeu, et en particulier de laffichage.
Nanmoins, mme si les concepteurs sont encore assez sceptiques quant aux apports de
techniques plus volues, leurs besoins grandissent et seules ces technologies pourront
apporter des solutions convaincantes.
Lensemble de ces contraintes est parvenu loigner du jeu vido la plupart des techniques
dveloppes dans les laboratoires de recherche [Woodcock00] [Pottinger00]. Et pourtant,
- 50 -
Niveau hdonique : en plus la crature peroit les notions de peine et de plaisir, elle est
alors capable dapprendre et de mimer.
Les 3 domaines dexpriences vont permettre dillustrer ces 3 niveaux de cognition au travers
de situations classiques dans les jeux vido. Ainsi, les premires expriences se rapportent au
mcanisme de slection des actions. La plupart des jeux utilisent des cratures virtuelles
simples, capables de ragir aux actions des joueurs. Ces expriences permettront de valider le
modle de base de larchitecture. Le second domaine, quant lui, concerne les facults
- 51 -
La planification et lopportunisme
Lopportunisme permet aux cratures virtuelles de saisir les opportunits qui se prsentent
elles. Cest une motivation tourne vers lextrieur, vers son environnement. Les cratures
- 52 -
Le pr planifi : tous les plans et leurs tapes sont cods dans les comportements de la
crature. Sa rflexion est alors trs rapide, mais ses plans sont figs et ses choix sont donc
limits.
Le planificateur : la crature est capable de construire ses propres plans. Bien sr, ce
procd est souvent complexe et requiert le traitement de nombreuses informations. Il est
donc en gnral assez lent.
La stabilit comportementale
Un deuxime cueil tout aussi ennuyeux est le manque de stabilit de certains mcanismes de
slection [Tyrell93]. Cette instabilit se caractrise par un va-et-vient entre deux
comportements et sexplique facilement laide dun petit exemple :
Une crature a faim et soif. A 10 mtres gauche se trouve une rivire o elle pourra
boire, 10 mtres droite un pommier o elle pourra manger. Le mcanisme de
slection choisit arbitrairement les pommes. Aprs avoir mang sa premire pomme la
crature a encore faim, mais elle a beaucoup plus soif. Elle se dirige alors vers la rivire.
De mme, aprs avoir bu deux gorges, elle a plus faim. Elle repart alors vers le
pommier et ainsi de suite.
Ce comportement, trs rarement observ dans la nature, met en valeur ces problmes de
stabilit comportementale. Bien sr, en rglant le calcul de motivation, il est possible de forcer
la crature rester plus longtemps vers le pommier, puis partir vers la rivire. Mais cette
solution est peu lgante. Une seconde solution consiste faire persister les ordres. Tant que
lordre persiste, il reste actif. Le problme est alors de dterminer quand lordre doit
disparatre [Tyrell93] :
Taux dennui : il permet de faire dcrotre la motivation de lordre avec le temps, qui finit
par disparatre.
Taux de satit : il crot avec le temps. Au-del dun certain seuil il annule lordre.
Perception de satit : son principe ressemble celui du taux, mais la satit est mesure
en fonction de perceptions (internes ou externes).
- 54 -
Comportements stables.
Mais dautres points concernant particulirement le domaine du jeu sont eux aussi importants.
Il faut absolument respecter les contraintes vues prcdemment (cf. Les contraintes du
domaine, page 40) :
Temps rel : correspond un affichage correct du jeu dau moins 30 images par seconde. Un
processus temps rel devient alors un processus du jeu capable de sexcuter entre deux
images, sans pour autant faire tomber la cadence en dessous de 30 images par seconde.
Plus lunivers est riche, plus la crature aura besoin dun nombre important de comportements
pour paratre adapte. Ces comportements peuvent parfois entrer en conflit les uns avec les
autres. Ce problme doit tre gr par les ASMs. Mais parfois ces comportements peuvent
aussi se complter. Il est important quun comportement puisse en influencer un autre.
Il est donc essentiel de pouvoir grer tous ces comportements en parallle, quils puissent
sinfluencer les uns les autres, sans que cela ne demande trop de temps ou de mmoire
[Blumberg94]. Il est ais de crer une foule de comportements. Mais trouver un mcanisme de
slection qui leur permette de sinfluencer sans ncessiter trop de temps machine est une tche
complexe.
Le jeu vido cre un univers empli dobjets. Certains comportements sont parfois associs
ces objets. Ces objets sont alors perus par la crature pour quelle puisse les analyser et agir
- 55 -
Le mouvement
Pour le tout premier jeu Pong [Pong75], la raquette virtuelle ne possdait aucune capacit
danimation. Elle ne pouvait que se dplacer selon un axe vertical. Le mouvement est la base
de tout. Dans sa plus simple expression, la crature se dplace dun bloc, sans sanimer. Cette
technique se base sur la notion de sprite5 : image fixe donnant laspect de la crature. Trs vite
les cratures se sont vues attribuer plusieurs sprites. En passant de lun lautre, la crature
semblait alors sanimer. Par exemple dans RType [RType87], les vaisseaux semblent se
tourner lgrement pour amorcer une lvation.
Lanimation pr calcule
Lanimation est un tout petit peu plus volue. Le but est de calculer une squence anime
entire, laquelle est associe une action. Lorsque la crature effectue laction, lanimation
donne lillusion du mouvement.
frottements etc.).
5
Image reprsentant un objet mobile. Se distingue du dcor qui lui est fixe. La technique
daffichage consiste alors afficher les dcors puis en surimpression les sprites.
- 56 -
La cinmatique et la dynamique
La technique prcdente reste dans le domaine graphique. Linterpolation est essentiellement
ralise par un outil de morphing adapt. En cinmatique ou en dynamique, le problme est
tout autre. La crature est cre physiquement. Le concepteur doit indiquer quelles sont ses
articulations, les mouvements quelle peut raliser.
La robotique sest ainsi mise au service du jeu vido. En important les notions de mcanique
ncessaires, certains jeux grent de vritables univers soumis des lois assez ralistes.
Lanimation nest alors plus du tout le fait dun artiste, mais dun processus de contrle
capable de guider lensemble des mouvements de la crature [Terzopoulos94]. La cinmatique
se contente dtudier les vitesses des diffrentes parties de la crature, la dynamique, elle,
tudie les forces en prsence.
Bien sr savoir quels mouvements sont possibles est un processus trs complexe qui requiert
une quantit de temps machine impressionnante [Faure99]. Ces techniques nont t rendues
possibles que grce lvolution spectaculaire des processeurs. Le principe de lanimation
change radicalement. Plutt que dactiver des squences, la crature utilise des contrleurs
moteurs pour pouvoir se mouvoir. Lanimation est alors le fruit de ses contrleurs. La crature
nest contrainte dans ses mouvements que par le nombre et la complexit de ses contrleurs,
et sa morphologie. Enchaner les mouvements devient alors une tche naturelle.
- 57 -
3.2.2. Morphologie
Chaque crature est dfinie par sa morphologie, cest--dire sa forme, et sa constitution
interne. En ce qui concerne lanimation, les aspects les plus importants concernent les degrs
de libert, qui fixent lensemble des mouvements possibles de la crature. Parfois certaines
cratures sont simplifies en un ensemble de corps rigides. Les calculs sont alors beaucoup
plus simples. Mais dautres fois il est ncessaire dutiliser des technologies permettant de
traiter les corps souples.
- 58 -
3.2.3. Contrleurs
La cration dun mouvement procdural passe par la ralisation dun ou plusieurs contrleurs.
Ces contrleurs sont chargs denvoyer des ordres aux diffrents effecteurs de la crature
virtuelle. Actionner ses effecteurs permet la crature de se mouvoir. Le module de contrle
doit donc gnrer des squences dordres pour chacun des muscles. Le mouvement sera une
russite si et seulement si ces squences sont correctes et correctement synchronises.
Pour simplifier la cration du module de contrle, il est possible de diviser les tches. Deux
grandes politiques se distinguent alors :
Pour la conception, les contrleurs multiples fonctionnels semblent tre la meilleure solution.
Ils permettent de diviser le mouvement en un sous ensemble de tches effectuer en parallle.
Attention cependant rgler les problmes de synchronisation et de conflits.
Les effecteurs [Sims94] : choisir les effecteurs ncessaires au mouvement. Cela est
possible lors de mime, la crature peut ainsi percevoir les effecteurs ncessaires, ou par
limination des effecteurs inutiles.
Paramtrables : les contrleurs peuvent tenir compte du contexte dans lequel est effectue
laction et en modifier certains dtails. Chaque mouvement devient alors unique et permet
une trs grande expressivit.
Lexprience devra donc montrer la possibilit de raliser des contrleurs efficaces, capables
de diriger les mouvements dune crature relativement complexe (au moins une dizaine de
degrs de libert). De plus ces contrleurs devront prsenter les caractristiques suivantes :
Aucune contrainte nest ncessaire quand la conception du contrle moteur, pourvu quil
prsente lensemble des caractristiques notes ci-dessus. Dans le jeu, seule lillusion
importe !
3.3. LA NAVIGATION
La navigation est une tche centrale. Chaque individu leffectue sans mme sen rendre
compte. Et pourtant, cette tche ncessite de nombreuses facults [Filliat99]. Il en va de mme
pour les jeux vido. Chacune des 3 catgories ncessite que ses cratures virtuelles se
dplacent intelligemment. La navigation se divise en 2 phases distinctes [Donnart95]. La
premire concerne lexploration. Elle permet de raliser une carte plus ou moins dtaille. La
seconde concerne lexploitation de cette carte et permet une navigation aise.
- 63 -
Contraintes sur la mmoire : lespace ncessaire pour le stockage de cette carte est
beaucoup trop important. Lespace disponible tant limit, il va falloir limiter les
souvenirs.
Il est donc important de choisir. En navigation, le terme employ pour dsigner des objets
clefs qui permettent la navigation est amer [Filliat99]. Ils peuvent tre de plusieurs natures :
Gographique : un passage clef (col entre 2 sommets sur une carte stratgique).
Dintrt : certaines amers sont lies des motivations de la crature. Elles reprsentent un
intrt tout particulier (o se trouve le lance-roquette dans un jeu darcade).
Tous comme pour les actions (cf. Niveaux de dtail, page 47), les souvenirs peuvent se
hirarchiser. Il est alors possible de mmoriser les relations qui existent entre les villes.
Chaque ville devient un ensemble damers relatifs aux btiments. Chaque btiment devient un
ensemble damers relatifs aux pices et aux objets intressants. Ainsi une crature virtuelle
peut cartographier de manire trs dtaille lunivers dans lequel elle volue.
Persistance [Kuffner99] : si lattribut est trs volatile, comme la position dun objet
mobile, il est inutile de le conserver longtemps. Un systme de persistance temporelle
simple (intrt dcroissant vers 0 au cours du temps, taux de volatilit) permet de
conserver certains attributs pendant un certain temps.
Intrt [Kuffner99] : seuls les attributs qui pourront resservir plus tard doivent tre
mmoriss. Cette slection est la charge du comportement responsable de la
mmorisation. Ainsi un comportement de nutrition pourra demander de mmoriser
lapport nutritif dun objet, alors que sa couleur pourra tre omise. Il est nouveau
important (cf. Les ASMs et les jeux vido, page 52) que les autres comportements
puissent intervenir dans cette slection, proposant eux aussi des attributs.
Mmoriser est un point. Mais il est important de pouvoir tisser des liens entre ces souvenirs.
Ainsi un amer seul ne sert rien sil nest pas associ dautres amers. Cette chane
dassociations va permettre la crature de construire un chemin jusquaux amers dintrt
[Donnart95]. Bien sr, ces liens doivent constamment tre mis jour. Dans dautres domaines
que la navigation, ces liens reprsentent des associations qui peuvent prendre une multitude de
sens (partie de, type de, etc.).
Planification et ractivit
Une fois de plus sopposent la planification et la ractivit (cf. La planification et
lopportunisme, page 52). Dun ct, la crature conoit un plan parfait quelle sera
finalement incapable de suivre tellement lunivers aura chang. De lautre la crature ttonne
et se perd, incapable de prvoir un chemin correct et pas trop fastidieux. Et une fois de plus la
solution rside dans la mixit de la mthode.
Il est important de crer un chemin ou au moins une bauche de chemin. Il convient cependant
de rester assez vague. La trajectoire exacte finale sera laisse lapprciation du guidage
ractif [Yamauchi96]. Cette planification se sert des amers et construit une liste ordonne des
amers parcourir pour atteindre le but. Le premier amer devient alors le prochain sous but.
Lorsquil est atteint, la crature passe au suivant et ainsi de suite. Lintrt de la planification
base damers est de permettre aussi bien la navigation que nimporte quelle autre planification
[Maes94]. De plus, elle ne fait appel aucun mcanisme extrieur et permet ainsi la crature
de rester autorflexive [Schmidhuber96]. Elle peut ainsi modifier ses propres mcanismes de
planification.
Le parcours des tapes est gr par un systme ractif, capable dintgrer rapidement tous les
paramtres dynamiques de la situation [Costa96]. La trajectoire est alors le fruit de plusieurs
comportements plus ou moins complexes (fuite, nutrition, combat, etc.). Ainsi donc la couche
planificatrice viendra proposer des amers la couche de mouvement (dite comportementale).
Une fois de plus apparat cette notion de supersumption (cf. Premption, page 45) qui parat
donc incontournable.
A la vue de ce fonctionnement, un point important merge. La mmorisation des amers doit
permettre la navigation ractive de se raliser correctement. Ainsi, il devient ncessaire de
crer les amers gographiques en tenant compte des capacits ractives de la crature
(actuateurs responsables des actions). Chaque amer pourra alors contenir des informations
fournir la couche ractive lors de son lection (sens de parcours, dangers, etc.) [Bessire99].
- 66 -
- 67 -
4. Conclusion
Les jeux vido samliorent de jour en jour. Les graphismes deviennent de plus en plus
ralistes, les sons se spatialisent et sadaptent au rythme du jeu. Des technologies issues de la
vie artificielle ont permis de raliser des jeux uniques et novateurs. Les concepteurs accordent
de plus en plus dimportance cet aspect critique des jeux daujourdhui.
Ils se tournent vers des cratures capables de paratre encore plus vivantes, dvoluer dans des
environnements dynamiques, de peupler leurs univers. Les joueurs ont besoin de pouvoir
interagir avec ces cratures, de manire volue (coopration, dialogue). Ils ont besoin de
- 68 -
- 69 -
Le chapitre prcdent a permis de faire ltat des lieux des techniques utilises dans les jeux
vido. Il a mis en valeur les contraintes lies ce domaine particulier. Le chapitre suivant va
analyser les solutions issues de recherches dj abouties. Il pose les fondations qui permettront
de concevoir larchitecture adapte la conception des modles dcisionnels des cratures
virtuelles. Cette architecture sera prsente dans le chapitre suivant. Enfin, les trois derniers
chapitres exposeront les rsultats obtenus en utilisant des modles dcisionnels conus partir
de larchitecture dans trois cadres distincts : le comportement ractif, le comportement
adaptatif et la modlisation.
- 70 -
- 72 -
Boole
Formalisme de Boole : chaque symbole dsigne un fait, qui possde deux tats, valide ou
invalide.
Sans doute lun des premiers formalismes utiliss dans lhistoire de lIntelligence Artificielle
[Boole47]. Chaque symbole reprsente un fait, cest--dire une ralit propos de lunivers
dont la crature est consciente. La crature ne peut attribuer chaque fait que deux tats :
Trs vite cette symbolique a eu besoin dexprimer le doute et linconnu qui hante tout
raisonnement (merci Descartes). Un nouvel tat a donc permis la crature de prendre
conscience de cette inconnue :
Cette notion de fait est trs simple comprendre pour les concepteurs. Chaque fait correspond
directement une partie de ltat de lunivers (et ceci inclut bien sr la crature elle-mme).
La crature gre ces faits et modifie leur tat en fonction de ces perceptions et de son
raisonnement, principalement dductif. Par extension, et de par leur nature boolenne, ces
faits sont souvent des conditions. Ils seront reprsents tout au long de ce chapitre par la
figure suivante :
Fait
De nombreuses technologies utilisent ce formalisme sous des formes plus ou moins rigides.
Voici un bref aperu des diffrentes particularits introduites par ces utilisations :
Les systmes experts : lune des premires techniques utiliser le formalisme de Boole,
un modle de simplicit. Il est associ la logique des prdicats.
Les classeurs gntiques : le formalisme de Boole y est simplifi lextrme. Chaque fait
trouve sa place dans une suite rigide de faits. Il est reprsent par un 1 sil est valide, un 0
sinon. Ltat indfini est reprsent par un #. Cette rigidit peut cependant tre masque
par un outil de conception adquat.
Les Finite State Machine [Noser99] : elles intgrent des systmes conditionnels de liaison
entre des modules concurrents. Ces conditions servent grer les transitions entre deux
tats de la crature.
- 73 -
Larchitecture de Maes [Maes94] : elle se base elle aussi sur la logique de Boole. Des
modules sont chargs de valider des conditions (boolennes).
Le formalisme fonctionnel
Parfois les symboles reprsentent des fonctionnalits et non des faits. Ces fonctionnalits
parlent au concepteur et dictent sa conduite. Elles renseignent aussi sur le fonctionnement du
- 75 -
Homostasie : une valeur doit tre maintenue dans une plage donne. Si elle sen carte
la crature doit la ramener par ses actions.
Evitement : cette fois le but est dviter une valeur donne. La crature peut, par ses
actions, lev la valeur au dessus, labaisser en dessous, mais elle ne doit pas la
maintenir.
Ces buts sagrmentent souvent dautres notions. Lchec permet la crature de dtecter
lorsquelle a chou, la russite lorsquelle a russit.
- 76 -
[Blumberg96] [Maes94] [Bates92] discutent du concept de plan. Un plan est une suite
dactions permettant de satisfaire un but. Les actions prises sparment nont en gnral
pas de lien direct avec le but. Bien sr pour un but il peut exister plusieurs plans.
[Blumberg94] introduit la notion dhormone. Ces hormones sont en fait des rgulateurs
internes la crature permettant de paramtrer sa prise de dcision. Bien sr cette notion
peut tre gnralise une sorte de percepteur.
1.1.2. La structure
Les symboles reprsentent le moyen le plus simple de reprsenter linformation. Or une
information brute, spare de tout autre symbole, isole, ne sert rien. Il est ncessaire de
crer des liens entre tous ces symboles. Ces liens vont reprsenter eux-mmes de nouveaux
concepts, plus dynamiques. Ils vont permettre dexprimer les relations qui existent entre les
symboles et forment la structure du mcanisme de slection.
Symbole fonctionnel : symbole dont le concept associ dcrit un principe de fonctionnement
et non un lment du jeu.
Cette structure est quelque peu plus complexe apprhender quun simple symbole. Elle va
souder lensemble et est lorigine du fonctionnement dcisionnel. Elle intervient donc dans
deux domaines distincts. Tout dabord, elle est un symbole fonctionnel permettant de mieux
apprhender le fonctionnement de la slection. Mais elle peut aussi tre un symbole
reprsentant un concept particulier au jeu.
La structure fonctionnelle
- 77 -
Voici un rseau de neurones de type Perceptron. Les actions Fuir et Attaquer dpendent
des percepteurs Danger, Puissance de lennemi, Puissance de feu et Sant. Ces actions
sont donc dpendantes des percepteurs. Ces percepteurs fournissent de lnergie au
systme. Lnergie passe au travers des liaisons. Les actions accumulent cette nergie.
Laction avec le plus dnergie est slectionne. Les neurones dentre assument alors la
fonction de percepteur. Les neurones de sortie assument celle daction. Cette structure
est dite fonctionnelle. Chaque lment possde une signification en fonction de son
emplacement dans la structure. Chaque liaison correspond un traitement particulier.
Ces dpendances sont trs importantes pour le mcanisme de slection. Elles imposent un
certain ordre dexcution. Il est en effet ncessaire davoir excut les entits lorigine de la
dpendance avant dexcuter lentit dpendante.
- 78 -
[Noser99] utilise les machines tats finis (FSM). Chaque module applique, lorsquil est
slectionn, une rponse comportementale prdfinie. Il est de plus li certains autres
modules. Ces liens reprsentent des transitions possibles vers un autre tat (ou module). A
un instant donn, seuls ces liens sont importants. Il devient donc inutile de tester
lensemble de larchitecture. Le gain en temps machine est alors considrable.
Voici une machine tats finis simple, permettant de diriger le comportement dun
soldat, individu trs rpandu dans les jeux darcade :
Survivre
1
Niveau
Fuir
Alerter
Attaquer
Patrouiller
2
Figure 21 : Hirarchie comportementale d'un soldat.
La slection au premier niveau pourra se faire si le soldat est en mauvaise sant, ou si
les ennemis reprsentent un trop grand danger. Au second niveau, la slection seffectue
en fonction de la prsence dallis pour la fuite (comportement gnral Survivre), et de la
prsence dennemi pour lattaque (comportement gnral Tuer les ennemis).
[Occello94] utilise une structure de Blackboard. Cette structure particulire ne permet pas
rellement dexercer un filtrage. En fait la situation actuelle est note dans un tableau
commun (le tableau noir). Plusieurs modules sont en comptition, chacun essayant
dapporter sa solution au problme inscrit sur le tableau. Chaque module est charg non
seulement dlaborer une solution personnelle, mais en plus dvaluer son intrt. Un
mcanisme de slection trs simple choisit la solution adopter. Cette structure permet la
collaboration de plusieurs modules dont la nature peut varier souhait. Elle cre donc une
sorte de langage commun (le score dintrt) entre les modules leur permettant de
cohabiter trs simplement.
Encore le mme soldat sous forme de Blackboard. Cette fois aucun filtrage nest effectu
mais les modules sont de natures diffrentes :
- 80 -
Fuir
Intrt : danger et
sant
Nature :
algorithme de
recherche de
chemin
Patrouiller
Alerter
Attaquer
Intrt : prsence
dun alli
Nature : modle
sonore bas sur un
rseau de neurones
Intrt : prsence
dun ennemi
Nature :
algorithme de viser
et de choix darme
(FSM)
Ces associations sont particulirement utilises pour le dialogue automatique [Loyall97]. Elles
permettent notamment de raliser des diagrammes de Shank [Guy99] adapts aux dsirs des
- 81 -
Nuire
Sympathiser
Rendre Service
Attaquer
Demander Service
Soppose
Entrane
Graphe conceptuel
Figure 23 : Graphe conceptuel.
Et maintenant une carte cre partir de la navigation dune crature explorant un
bureau :
5 0
Chaise
Bureau
240 270
Porte
180
75 90
360
Tableau
433 146
Fentre
Carte associative
Figure 24 : Carte associative d'une pice explore par la crature.
Ces associations structurelles sont trs utiles pour exprimer des relations liant des symboles.
Elles peuvent servir dans de nombreux cas, langage, cartes, mmoire. Elles restent trs
comprhensibles pour les concepteurs. Les architectures tudies utilisent ces liaisons de
manire spcifique. Chacune met en place les liaisons qui lui sont ncessaires, mais rares sont
les architectures proposant aux concepteurs de crer leurs propres liaisons.
- 82 -
1.1.3. Lexpressivit
Lexpressivit reflte la capacit de modliser les souhaits des concepteurs. Les symboles et
les structures offrent des possibilits quasiment infinies. Cependant, dans le cadre des jeux
vido, il est important de pouvoir modliser certains aspects trs particuliers. Tout dabord les
informations sont de nature scalaire. Il est donc essentiel que le formalisme permette de grer
ces informations. Ensuite les jeux sont bass sur la notion dobjets. L encore le formalisme
doit intgrer cette notion centrale.
Vue
Vue
Proche
Lointaine
Ces faits sont lis la conception du processus dcisionnel. Le premier permet ainsi de
dterminer si le Soldat peut atteindre la cible (lattraper ou la frapper). Le second et le
troisime permettent de savoir si la cible est visible, et donc porte de tir. Dune simple
donne continue du jeu, la Distance, on obtient 3 faits flous. La discrtisation entrane
donc la cration dun nombre important de faits. De plus, ces faits doivent tre en
corrlation avec le processus dcisionnel.
De plus, les actuateurs de la crature doivent pouvoir tre paramtrs (cf. Lavatar, page 10).
Pour une plus grande diversit, il est important que ces paramtres soient de nature scalaire.
Larchitecture doit donc non seulement tre capable de grer des entres scalaires, mais aussi
de produire des sorties scalaires. Or, mme si le formalisme de Boole semble se prter au
processus dcisionnel, il est inefficace produire des paramtres adquats aux actuateurs.
Lactuateur Avancer permet au Soldat de se dplacer. Cet actuateur peut-tre paramtr
par la distance parcourir. Les distances tant continues, il est important que le
paramtre le soit aussi.
Cette rflexion tendrait bannir les architectures bases sur le formalisme de Boole, mais au
profit de quelles architectures, sinon des architectures bases sur un formalisme structurel.
[Ferrell95] met par exemple en place un systme structurel capable de grer des paramtres
scalaires et de fournir des ordres moteurs eux aussi scalaires. Cette architecture est
entirement base sur un aspect structurel.
Le Soldat mesure la Distance qui le spare des diffrents objets de lenvironnement. Cela
donne lieu la cration dun prdicat :
Distance
Objet
- 85 -
Stabilit comportementale
De plus le mcanisme doit respecter les diffrentes contraintes inhrentes au domaine du jeu
vido (cf. Les contraintes du domaine, page 40) :
Chacun de ces points va donc faire lobjet dune partie, qui mettra en valeur les solutions
apportes par les diffrentes techniques scientifiques issues de la recherche.
un
comportement
suivi
qui
parat
raisonnable.
Elle
vite
loscillation
La stabilit conditionnelle
Comme son nom le laisse entendre, la stabilit conditionnelle sinspire du formalisme de
Boole et de la logique des prdicats. Le principe est assez simple. Une condition est adjointe
chaque comportement. Lorsque cette condition est valide, le comportement doit stopper. Cette
condition est souvent appele condition de satit (cf. La stabilit comportementale, page
54).
Le comportement de Poursuite du Soldat peut devenir inutile sil lloigne trop de son
poste. La condition de satit pourrait donc tre :
Distance
Lointaine
Poste de Garde
La stabilit nergtique
La stabilit nergtique est trs adapte au formalisme structurel. La satit est vue comme un
rservoir dnergie qui, une fois plein, provoque larrt du comportement. Deux grands
procds nergtiques apparaissent aux vues des diffrentes techniques analyses : les
mcanismes dynamiques, et la satit perceptive.
Les mcanismes dynamiques se base sur lnergie rsiduelle des architectures structurelles. Il
est essentiel que le mcanisme de slection soit lui-mme dynamique. Les mcanismes
dynamiques travaillent au fil du temps. Lnergie introduite dans le systme, ne vient pas
remplacer lnergie dj existante, mais vient la modifier. Le systme est alors dynamique.
Bien sr, pour quilibrer ces systmes, il est indispensable dutiliser des consommateurs
dnergie. En gnral les sorties, et donc les actuateurs, jouent ce rle. Lnergie rsiduelle est
donc lnergie qui persiste dun cycle dcisionnel sur lautre. La satit dun comportement
peut donc tre obtenue simplement lorsque cette nergie rsiduelle devient nulle. Ce
mcanisme de satit est dit aveugle si la consommation est fixe. Si, au contraire, la
consommation dnergie dpend de facteurs externes et ou internes, il est dit perceptif.
[Yamauchi94] [Goetz97] [Goetz97] [Schmidhuber89] dmontrent la faisabilit de tels
mcanismes.
- 88 -
La mthode conditionnelle
Avant daborder la planification, il serait bon de rappeler les bases du fonctionnement : le ct
ractif. La raction conditionnelle, comme son nom lindique, se base sur un ensemble de
conditions. Chaque comportement ne se dclenche que si les conditions qui lui sont associes
sont vrifies. Ces associations conditions comportement sont souvent appeles rgles, en
raison de leur ressemblance avec les systmes experts. Le comportement le plus valide est
alors slectionn. Cette notion de validit sappuie sur plusieurs mcanismes :
Degr de spcificit : la spcificit dune rgle est dtermine par son nombre de
conditions. Plus une rgle possde de conditions, plus elle rpond une situation
spcifique, et donc plus elle est elle-mme spcifique. Ce mcanisme additif permet de
raffiner un peu le classement, mais elle est parfois arbitraire.
Priorit : chaque comportement se voit attribu un score fix par le concepteur. En cas
dgalit, le comportement possdant le score le plus lev est slectionn. Cette mthode
est un peu arbitraire. La crature ne peut avoir de recul sur ses priorits.
Validit floue : cela fonctionne avec le formalisme flou. Les degrs de validit des faits
sont alors transfrs aux comportements. Chaque comportement reoit ainsi un degr
dadquation. Le classement des comportements est donc encore plus fin.
Tous ces mcanismes peuvent tre utiliss en mme temps et permettent de raffiner la prise de
dcision. Pour des cratures complexes, seul le formalisme flou apporte la finesse de jugement
ncessaire.
Le soldat doit pouvoir ragir son environnement. Voici quelques rgles qui peuvent
servir dexemple :
- 90 -
Ennemi
Distance
Proche
Ennemi
Distance
Proche
Ennemi
Proche
&
&
&
Danger
Faible
Ennemi
Danger
Fort
Ennemi
Distance
Alli
&
Combat
Attaquer 0,7
Fort
Ennemi
Fuir 0,7
Ennemi
Proche
Alerter 0,6
Alli
Patrouiller 0,2
- 91 -
Ennemi
Poursuivi
Ennemi
Ennemi
Se Cacher
Non
Visible
Etape 2
Distance
Fuir
Proche
Ennemi
&
Etape 2-1
Attendre
Contact
Ennemi
Attaquer
Ennemi
Ltape 3 utilise une condition factice Etape 2-1 qui permet de savoir que ltape 2
du plan 1 a dj t ralise. Ltape 3 ne pourra donc tre utilise quaprs que le
soldat ait t poursuivi et se soit cach, ce qui est prfrable. Il serait regrettable que le
soldat passe son temps attendre.
Il devient donc possible de crer des plans aussi complexes que dsirs, mais au prix de
nouvelles conditions.
Cette mthode ne fait pas la distinction entre le plan et les autres comportements. Losmose
est donc russie. Elle permet dexprimer des plans aussi complexes que dsirs :
Imbrication des tapes : une mme tape peut tre partage par plusieurs plans.
Interruptibles : des conditions factices, dont la validit peut tre gre par la crature,
permettent de savoir si le plan est toujours dactualit et quelles tapes taient dj
ralises.
[Maes94] [Loyall91] utilisent une mthode assez proche. Ces deux architectures dmontrent
dtonnantes aptitudes mler laspect opportuniste la planification.
La condition Etape 2-1 peut tre remise en cause au bout dun dlai prdtermin.
Cela remet en cause le plan, le soldat repart Patrouiller.
Cependant cette mthode possde un dfaut important. Les plans sont figs, tout comme
lenchanement des tapes. La cration dun nouveau plan ou la modification dun plan
existant, mme si ce nest pas le sujet pour linstant, requiert lajout de nouveaux faits
(factices pour les tapes) et la recomposition de conditions complexes. Les plans
conditionnels sont donc difficiles modifier et crer pour la crature. De plus cette mthode
- 92 -
- 93 -
[Maes94] met en place une mthode intressante. Lide est sensiblement identique. Lnergie
est capture directement par les modules de manire opportuniste. Les modules qui lui sont
lis, cest--dire ceux qui permettront au module opportuniste de se raliser, hritent une
partie de cette nergie. Ils la partagent eux-mmes entre les modules qui leur sont lis, et ainsi
de suite. En fait, la progression part des comportements non utilisables. Elle se rpand dans
- 94 -
- 95 -
Exclusif : lorsque le comportement est activ, les autres comportements en conflit sont
abandonns (cela concerne tous les actuateurs).
- 96 -
Absorbant : tous les autres comportements doivent tre stopps, quil y ait un conflit ou
non.
[Maes94] : la quantit dnergie transmise dpend dun ratio fixe, commun tous les
comportements, positif pour le renforcement et ngatif pour linhibition.
[Yamauchi94] : cette fois le ratio est variable et fixe lintensit dnergie transmise.
Ces influences permettent aux structures nergtiques de converger vers la solution qui
satisfait le plus de comportements. La concurrence est toujours de mise, mais le systme
essaie de respecter lensemble des comportements.
Le comportement Fuir du Soldat est renforc par le comportement Se Dissimuler. Si une
Cache est perue, il est important de dclencher le comportement Fuir. Ce comportement
permettra au soldat de sloigner de lEnnemi, et pourra alors Se Dissimuler dans la
Cache. Par contre les comportements Attaquer et Fuir sinhibent mutuellement. Seul lun
des deux doit tre actif.
Les paramtres quant eux sont des mesures exactes. Leur importance a dj t souligne
plusieurs reprises dans cette thse (cf. Les effecteurs, page 7, Le contexte : mouvement
paramtrable, page 61, Les scalaires et les paramtres, page 83). Ils permettent une plus
grande expressivit, sans trop complexifier le systme. Cest dans le domaine du contrle
moteur quil est possible de trouver plusieurs rfrences. [VanDePanne94] [Terzopoulos94]
[Tu94] utilisent des rseaux dont le but est le calcul de ces paramtres permettant le
mouvement. Le plus souvent ces rseaux sont des enchanements doprateurs appliquant des
transformations mathmatiques aux entres du systme. Dans le cadre de mesures exactes, la
prcision est de mise, pas question dutiliser des mthodes relatives telles que le renforcement
- 98 -
Exclusif : seul lun des paramtres compte, les autres sont ignors. En gnral le
comportement avec le plus fort intrt lemporte.
Mix : les paramtres des diffrents comportements sont mixs pour obtenir un nouveau
paramtre. En gnral, lopration utilise est une moyenne pondre par les intrts des
comportements.
A premire vue le mixage semble apporter une solution plus gnrale et donc plus adquate,
comme pour lintrt. Mais le caractre exact des paramtres rend cette mthode peu courante.
La valeur rsultant du mixage est arbitraire, elle ne correspond rien de rel. Elle est une
construction mathmatique abstraite. Lexclusivit permet de ne garder que les valeurs qui se
rapportent des lments concrets.
Lactuateur Direction possde un paramtre qui permet de changer la direction du
Soldat. Ce paramtre est un angle en radian. Deux comportements Fuir et Ramasser
Armure envoient des paramtres diffrents. Le mixage des deux se rfre une direction
quelconque qui ne mne nulle part. Lexclusivit permet par contre de choisir lune ou
lautre des directions.
Linfrence
Le fonctionnement des systmes dinfrence se base sur la validation de conditions qui
permettent de calculer la validit des comportements. Malheureusement la plupart des
informations du jeu sont prsentes sous forme scalaire. Deux phases sont alors ncessaires :
- 99 -
Test des conditions des comportements : chaque comportement est associ un certain
nombre de conditions. Pour mesurer la validit des comportements il convient de tester
chacune des conditions. La complexit dpend donc directement du nombre de conditions.
Pour les conditions, la vision la plus simple consiste tester toutes les conditions et mettre
jour les comportements. Cette mthode dpend linairement du nombre total de conditions
que gre le jeu. Heureusement un certain nombre doptimisations sont possibles. Elles se
basent toutes sur des factorisations :
- 100 -
Conditions similaires entre cratures : souvent les cratures sont proches, leurs cerveaux
fonctionnent selon des principes identiques, ils utilisent les mmes conditions. Le
principal problme est le caractre situ des informations. Chaque crature peroit le
monde selon son point de vue. Mme si les cerveaux sont similaires, les positions et donc
les points de vue sont diffrents. Les conditions factorisables sont alors peu nombreuses.
Compilation des conditions : chaque information du jeu est mise jour par le systme de
gestion gnral. Il devient alors possible dautomatiser lvaluation des comportements en
consquence. Il suffit de lier les comportements ces informations. Lorsquelles sont
mises jour, le systme appelle les comportements, qui recalculent leur validit.
Le Soldat possde la condition Ennemi Proche dans deux de ses comportements : Fuir et
Attaquer. Lors de sa prise de dcision il est inutile dvaluer deux fois cette condition. La
condition Ennemi Proche est lie deux informations : la position du Soldat, la position
de lEnnemi. Lorsque lune de ces deux informations est mise jour, lvaluation de la
condition est alors dclenche. La condition est elle-mme lie aux deux comportements :
Fuir et Attaquer qui sont alors rvalus.
La transmission dnergie
Le fonctionnement des systmes nergtiques est bas des principes mathmatiques simples.
La complexit du systme dpend de deux facteurs :
La structure : elle reflte les chemins quemprunte lnergie. Plus ce chemin est long et
complexe, plus le temps ncessaire est important.
Les oprateurs mathmatiques : lnergie subit des modifications au cours de son priple.
Ces modifications sont le rsultat doprateurs mathmatiques. La complexit de ces
oprateurs impacte directement sur la complexit du systme.
- 101 -
- 102 -
1.3. CONCLUSION
De nombreuses architectures proposent des solutions viables au problme de la slection
daction. Cependant aucune ne rpond aux contraintes imposes par le jeu vido. Le
formalisme de Boole prsente lavantage dune grande clart de conception. Malheureusement
plusieurs contre indications rendent ce formalisme difficile utiliser dans le contexte dun jeu
vido. Tout dabord, il se prte mal la description des univers scalaires continus (cf. Les
scalaires et les paramtres, page 83). Ensuite, il est inadapt la gestion de paramtres pour
les actions, pourtant importants pour les jeux vido (cf. Les effecteurs, page 7). Enfin, les
mcanismes dinfrence ne sont pas adapts la gestion des influences inter
comportementales (cf. Les influences comportementales, page 95). Les systmes nergtiques
purs grent ces influences grce aux mcanismes de renforcement et dinhibition. Ils
permettent lutilisation des paramtres daction, et grent les informations scalaires et
continues. Mais leur formalisme structurel est parfois difficile concevoir. De nombreuses
architectures mixtes sinspirent de ces deux formalismes. Mais aucune ne gre tous les
lments requis la fois.
- 103 -
- 104 -
des forces
La premire partie va donc tudier les notions de base qui concerne lespace. Dans la seconde
partie nous dcrirons les notions qui concernent les forces. La troisime partie dtaille celles
qui se rapportent au temps. Enfin, la quatrime et dernire partie rsume le fonctionnement
global des mcanismes dynamiques.
Lespace
La plupart des entits virtuelles possde une reprsentation physique dans lespace. Elle
dtermine sa forme, sa gomtrie, son corps. Cette reprsentation peut alors tre dplace. Cet
espace est la plupart du temps en trois dimensions, bien que certains univers restent encore en
deux dimensions. Cette partie se consacre uniquement aux cas en trois dimensions, les plus
complexes.
Lorsque le corps ne peut changer de forme, il est alors appel corps rigide. La rigidit permet
de faciliter le travail de linterpolateur. En effet, la gomtrie ne pouvant se dformer, seuls
les dplacements de lensemble sont modliser : translations et rotations. Cependant cette
description ne correspond pas beaucoup dobjets virtuels. La plupart des cratures peuvent
sanimer, et mmes certains objets virtuels inertes sont articuls. Le principe des corps rigides
a donc t tendu. Ces objets virtuels articuls (cratures ou objets inertes) sont dcomposs
en plusieurs objets virtuels. Chacun de ces objets virtuels est alors un corps rigide.
Corps rigide : solide possdant une gomtrie plus ou moins complexe mais indformable.
Ces corps rigides sont souvent relis entre eux, pour simuler le principe darticulation. Ces
articulations vont empcher certains mouvements des deux corps rigides lis. Chaque
mouvement possible est appel degr de libert. Les liaisons vont donc diminuer ou du moins
modifier ces degrs de libert.
- 105 -
- 106 -
Les forces
L o la cinmatique tudie les positions et les vitesses, la dynamique tudie les acclrations
et donc les forces. Les forces permettent de dterminer les acclrations. Les acclrations
permettent, par intgration, dobtenir les vitesses. Par intgration encore, les vitesses
permettent dobtenir les positions [Kass95]. Dun point de vue ralisme, la gestion des forces
permet dintroduire la notion de masse. Les animations sont alors beaucoup plus pertinentes
[Brogan98].
La gravit, les chocs dus aux collisions et linertie sont les principales forces externes utilises
dans les univers virtuels. De plus, les objets virtuels non inertes sont capables de gnrer des
mouvements propres, par le biais de forces internes, souvent qualifies de motrices. Il est
essentiel dintgrer toutes ces forces au systme dynamique. Ces forces se divisent selon leur
application :
Souvent les forces internes sappliquent directement aux degrs de libert de la gomtrie
globale. Elles permettent ainsi de la mouvoir. Elles peuvent correspondre des pistons dans le
cas de translations, ou des moteurs dans le cas des rotations. Leur influence permet de
modifier les paramtres correspondant aux degrs de libert [Mataric99] [Mataric98]
[VanDePanne94] [Mataric98].
Les collisions engendrant les chocs sont lorigine de forces localises uniques, appeles
forces de contact. Leur calcul fait cependant appel un processus externe qui permet de
dterminer les collisions [Mirtich98] [Gottschalk96]. Les forces de contact peuvent alors tre
calcules. Lintgration des frottements et des surfaces de contact rendent parfois le systme
dynamique instable [Mirtich98] [Baraff95] [Baraff94] [Baraff91].
Lensemble des forces appliques au centre de gravit dun corps rigide permettent dtablir
les acclrations qui sy appliquent, par une simple division par la masse du corps rigide
[Witkin95]. Ce point souligne limportance de la masse dans le mcanisme dynamique.
Le temps
Le temps joue un rle crucial dans la simulation dynamique, mais aussi dans le mouvement en
gnral. Il est intimement li aux notions de vitesse et dacclration. Les forces permettent
dobtenir les acclrations des divers degrs de libert des corps rigides. Une intgration par
rapport au temps permet alors dobtenir les vitesses de ces degrs de libert. Une seconde
intgration permet den obtenir les nouvelles valeurs. Leurs valeurs permettent alors de
positionner tous les corps rigides [Kass95] [Baraff95].
Le temps joue un autre rle important dans la dfinition des mouvements. Il est lorigine de
deux notions centrales :
Le cycle : il arrive frquemment que les mouvements soient cycliques. La marche en est
un exemple simple. Dans ce cas, le cycle est perceptible dans les positions. Cependant
dautres tudes ont montr que ces cycles sont omniprsents, et notamment au niveau des
forces qui engendrent les mouvements [VanDePanne97] [VanDePanne94] [Hodgins98].
Les dphasages : qui parle de cycle doit aborder le problme des dphasages. Les
dphasages permettent de dcaler les cycles les uns par rapport aux autres et sont souvent
- 108 -
La simulation dynamique
Il est temps de rcapituler le fonctionnement gnral des mcanismes de simulation
dynamique [Witkin95]. Il se divise en quatre tapes :
Intgration des acclrations pour obtenir les vitesses des degrs de libert.
Intgration des vitesses pour obtenir les nouveaux paramtres des degrs de libert.
Comme cela a dj t mentionn (cf. Les forces, page 107), la premire tape requiert parfois
de nombreux calculs. Et son intgration dans lensemble du systme le rend parfois instable.
Forces
externes
Calcul des
acclrations
Intgration :
vitesses
Intgration :
paramtres
Calcul des
positions
Forces
internes
Maintenir les corps rigides attachs aux articulations. Ces contraintes ne sont pas
ncessaires dans le formalisme de Lagrange.
Limiter les valeurs possibles des degrs de libert, de leurs vitesses, de leurs acclrations.
Bien sr, ces contraintes peuvent permettre dexprimer les dsirs des concepteurs. [Witkin88]
[Witkin90] les utilise pour dfinir la position cl atteindre. Dautres contraintes portant sur
les vitesses ou les acclrations permettent de dfinir certains paramtres du mouvement.
[Badler99] introduit un modle li aux motions. Ce modle peut, en modulant certaines
contraintes, donner lieu diffrents mouvements, selon lhumeur de la crature virtuelle.
Cette partie se divise en trois. La premire dcrit le problme pos, et pourquoi il se rapporte
un systme dquations diffrentielles. La seconde dtaille la mthode de rsolution
numrique standard. La troisime, enfin, dcrit une mthode de rsolution itrative.
Soient a , b
x , a x b 0
Dautres contraintes sont non holonomiques. Cela inclut notamment les contacts, et les limites
des valeurs possibles pour les degrs de libert. Elles sont de la forme :
Soient a , b
x , a x b 0
Ces quations sont plus complexes rsoudre. Elles sont alors ramener des quations
diffrentielles ordinaires, moyennant un test de validit :
- 110 -
a , b
x ,
ax b 0 axb 0
si a x b 0
La rsolution numrique
La rsolution des systmes dquations diffrentielles a fait dj lobjet dun nombre
important darticles. Cependant, il est important de tirer profit des particularits du systme,
lies au problme de la simulation dynamique. Ainsi, du classique mais trop complexe
algorithme du pivot de Gauss (dordre 2 ), plusieurs mthodes exploitent le caractre creux
des matrices obtenues [Faure99] [Baraff96].
La rsolution permet dobtenir les acclrations de degrs de libert des corps rigides, qui
permettent de calculer leurs nouvelles positions. Certaines de contraintes du systme
permettent de dfinir quelles seront les positions darrive, mais aussi les vitesses et les
acclrations. Ces contraintes permettent donc de diriger le mouvement [Witkin88]
[Witkin90].
Cette rsolution possde cependant une importante lacune. Il se peut en effet que le systme
soit sur contraint ou sous contraint dans certaines situations [Baraff91]. Ceci est
notamment d lintroduction de contraintes grant les frictions. La rsolution mathmatique
pure se trouve alors dans une impasse. De mme, il se peut que certaines contraintes forment
un cycle. Une fois encore, lapproche mathmatique simple ne peut rsoudre un tel problme.
La rsolution itrative
Les rsolutions itratives ont t introduites pour palier aux problmes des rsolutions
exactes. Elles permettent notamment daboutir des rsultats, mme en cas de cycles, de
systme sur contraint ou sous contraint. Ceci nest possible quen introduisant dans le systme
une certaine erreur [Baraff91]. De plus ces mthodes, bien quitratives, permettent souvent
dobtenir des rsultats dans un temps plus court quavec des mthodes mathmatiques
[Faure99] [Baraff96].
- 111 -
- 112 -
2.2.1. La morphologie
La morphologie reflte laspect extrieur et intrieur de la crature virtuelle. Elle dfinit
lensemble de ses organes et donc ses degrs de libert, les mouvements quelle pourra
entreprendre. Elle dfinit aussi ses organes internes et donc une partie de son fonctionnement
interne. Dun autre ct, les contrleurs sont responsables de ses mouvements. Ils reprsentent
un processus dcisionnel.
Cette partie tudie comment la morphologie peroit ces contrleurs. Ils peuvent sintgrer
parfaitement dans cette morphologie, crant un lien trs fort entre lorgane et les processus
dcisionnels correspondants. Ou, au contraire, ntre que des fonctionnalits supervisant le
mouvement, nayant quun lien trs tnu avec la morphologie. La premire partie tudie les
contrleurs localiss, faisant partie intgralement de la morphologie. La seconde dcrit
lapproche fonctionnelle, dans laquelle les contrleurs ne reprsentent que des fonctions
motrices.
Le contrle localis
Dans cette approche, la fonction des contrleurs, cest--dire ce quoi ils servent, napparat
pas clairement. Les contrleurs sont plutt des organes internes lis certains autres organes.
La fonctionnalit de lensemble merge des interactions entre tous ces contrleurs. Aucun ne
semble tre responsable de tel ou tel mouvement.
[Komosinski99] [Ventrella94] [Sims94] [Brooks89] utilisent cette approche avec brio. Le lien
entre la morphologie et les contrleurs est alors trs fort. Les fonctions de la crature, ses
mouvements, sont alors totalement distribues dans le rseau form par les contrleurs et
autres organes. Cette approche pose cependant un problme de conception.
Les concepteurs, lorsquils imaginent leur crature virtuelle, pensent dabord en terme de
fonctionnalits. Or, ces fonctionnalits sont perdues dans le rseau form par les contrleurs et
les organes. La localisation des contrleurs ainsi que leur nature opratoire sont donc difficiles
dterminer [Popovic99].
Pour pallier ce problme, la mme mthode a t utilise dans toutes les expriences cites
[Komosinski99]
[Ventrella94]
[Sims94]
[Brooks89] :
lvolution
gntique
de
la
Le contrle fonctionnel
Cette approche favorise la supervision du mouvement. Chaque contrleur est directement
associ une fonctionnalit motrice, un mouvement. Cette approche est donc plus proche du
processus de conception. Le contrleur devient alors une entit dcisionnelle responsable dun
mouvement ou dune partie dun mouvement. La conception consiste alors dterminer les
contrleurs ncessaires, leur granularit.
Cette approche est trs proche des mcanismes de slection daction. Les actuateurs sont alors
les muscles de la crature virtuelle. Les contrleurs deviennent les processus dcisionnels
responsables des ordres envoys aux actuateurs. Pour les mcanismes de slection daction,
limportant est de choisir la meilleure action. Alors que pour le contrle de mouvement, la
difficult rside en plus dans le calcul des bons paramtres envoyer aux actuateurs. De
nombreuses architectures ont t utilises :
[Mataric98] [Hodgins98] utilisent des machines tats finis. Cette structure est
particulirement adapte aux mouvements. Elle permet de les dcouper en phases
distinctes. A chaque phase correspond un contrleur qui dcide des ordres envoyer.
La conception de ces contrleurs reste complexe [Popovic99]. La difficult rside cette fois
dans le calcul des paramtres envoyer aux actuateurs. Une fois de plus, les capacits
dadaptation des architectures utilises sont utilises pour simplifier la tche des concepteurs
(cf. Ladaptation, page 117).
Le contrle aveugle
Le problme du contrle de mouvement est complexe. Il consiste gnrer des ordres
diffrents actuateurs. Ces ordres doivent aboutir un mouvement quilibr, fluide et efficace.
Les ordres correspondent en fait des forces insuffler aux actuateurs musculaires. Le
processus de contrle doit donc gnrer :
Une amplitude : elle permet de mesurer la force insuffler aux muscles de la crature
virtuelle.
La synchronisation des ordres est au cur mme du problme du contrle de mouvement. Les
amplitudes des ordres gnrs doivent non seulement tre exactes, mais en plus ils doivent
parvenir au bon moment aux actuateurs. Si le nombre des actuateurs est important le problme
devient plus complexe [VanDePanne94].
Le problme se rsume alors la dtermination de ces facteurs, amplitudes et dphasages. Le
principe utilis se base sur un dphasage fix par le concepteur [VanDePanne94]. Un
processus dapprentissage par renforcement permet alors de trouver les amplitudes
correspondant aux diffrents dphasages. Ce processus est long et ncessite une fonction de
renforcement qui value les derniers rsultats. Le contrleur devient alors un gnrateur de
signal, signal qui correspond aux amplitudes ncessaires aux mouvements.
- 115 -
Actuateur
Jambe
Droite
MARCHE
Actuateur
Hanche
Le contrle perceptif
Les contrleurs perceptifs utilisent quant eux des informations pour calculer les ordres
envoyer. Le principe ressemble fort celui des contrleurs aveugles (cf. Le contrle aveugle,
page 115). Cette fois cependant, les contrleurs peuvent utiliser des perceptions internes ou
externes. Lensemble des contrleurs forme alors un Sensor Actuator Network
[VanDePanne92].
Ces perceptions permettent de paramtrer le mouvement en fonction dinformations internes
et externes. Les contrleurs deviennent alors beaucoup plus robustes aux changements de
lenvironnement,
et
ce
sans
aucun
processus
dadaptation
[Badler93]
[Sims94]
Importance des paramtres : les paramtres fournis aux actuateurs et calculs par les
contrleurs doivent tre prcis, et sont souvent plus nombreux que dans le cadre des
ASMs.
- 116 -
2.3. LADAPTATION
Ladaptation permet de nombreuses choses. Elle permet aux cratures virtuelles de modifier
leur comportement pour mieux rpondre aux exigences de lenvironnement. Pour le jeu vido,
ladaptation ouvre de nouvelles portes :
Adaptation au joueur : les cratures virtuelles peuvent rpondre aux attentes et aux
niveaux des joueurs, tous diffrents.
Pour le mouvement, ladaptation permet avant tout de simplifier la tche des concepteurs.
Concevoir la structure des contrleurs tant une tche complexe, les mcanismes dadaptation
permettent de transformer les dsirs des concepteurs en contrleurs adquats, capables de
gnrer les mouvements dsirs.
Les contrleurs gnrent des paramtres pour les actuateurs. La mise au point de ce processus
passe souvent par un mcanisme dadaptation. Il est bas sur le principe de renforcement. Ce
mcanisme est dcrit en premire partie. Les SANs possdent une structure complexe. Un
mcanisme dadaptation appel volution permet de changer cette structure, pour la faire
converger vers la structure idale. Il est dtaill dans la seconde partie.
- 117 -
Le signal dapprentissage
Le terme signal dapprentissage est utilis dans cette thse comme mesure gnrale dun
degr dchec ou de russite. Il reprsente donc un jugement. Il se base sur le principe clair
de la rcompense, dans le cas dune russite, et de la punition, dans le cas dun chec.
Lamplitude du signal correspond alors un degr. [Observatoire91] prsente plusieurs
classes de rseaux de neurones utilisant ce procd. [Yamauchi94] utilise un processus de
renforcement pour la convergence de ses rseaux rcurrents dynamiques. De mme,
[Schmidhuber90] intgre ce procd dans un mcanisme dapprentissage beaucoup plus
complexe. Enfin, lalgorithme du Bucket Brigade [Holland85] intgre cette mme notion de
rcompense.
Signal dapprentissage : valeur mesurant un chec ou une russite. Il reprsente un jugement
sur une ou plusieurs actions effectues.
- 118 -
Echec : lamplitude du signal dchec est simple apprhender, elle mesure lerreur
commise. Elle donne donc une ide de lamplitude de la modification effectuer pour se
corriger [Observatoire91].
Russite : lamplitude mesure la russite. Lamplitude maximale mesure alors une russite
parfaite. Il est difficile de parler derreur ici. La notion de russite, utilise dans
lalgorithme du Bucket Brigade [Schmidhuber89] [Holland85], est lie une
rcompense. Elle se base sur une mtaphore conomique simple : la rcompense fournit
de largent au module qui peut alors lutiliser pour tre slectionn (cf. Les
mcanismes de slection, page 86).
A la vue de ces diffrences, il parat alors difficile de faire cohabiter ces deux types de signaux
dapprentissage. Lun permet de mesurer lerreur et donc la correction effectuer. Lautre se
base sur une mtaphore conomique de fonctionnement.
La question de linitiateur du signal reste pose. [Observatoire91] [VanDePanne95]
[Auslander94] utilisent des signaux des signaux que le concepteur envoie. Cet apprentissage
est supervis. Le concepteur peut alors exprimer de manire intuitive ses dsirs en assignant
une simple note (punition ou rcompense). Malheureusement, il est parfois impossible de faire
appel au jugement dun utilisateur final, dans le cadre des jeux vido notamment. Les
cratures doivent alors possder leur propre mcanisme de gnration de signal
dapprentissage. Lapprentissage est alors non supervis. La crature doit elle-mme juger
ses actions. Ce jugement seffectue en observant certains indices du contexte interne ou
externe. Les variations sont alors susceptibles de reprsenter les consquences de ses actions.
Renforcements et causalit
Le signal dapprentissage parvient souvent de manire diffre la crature virtuelle. Il
sanctionne alors le rsultat de plusieurs actions, mais aussi les consquences dactions
dautres cratures virtuelles. La crature doit alors essayer de dterminer les causes du signal
dapprentissage. Cest le problme fondamental dassignement de crdit soulev par Minsky
[Minsky63].
- 119 -
Modlisation :
bon
nombre
des
mcanismes
[Schmidhuber90]
[Bedau94]
Apprentissage et modifications
Lapprentissage permet au systme de se modifier. Ce sont ces modifications qui vont
permettre de changer son processus dcisionnel. Or, larchitecture doit dun ct choisir la
bonne action, de lautre lui fournir les bons paramtres. Ces deux modes opratoires diffrent
sur un point essentiel :
Le choix est le rsultat dune comptition (cf. Les mcanismes de slection, page 86). Il
est dtermin en fonction dun score dintrt. En modifiant le calcul de ces scores,
lapprentissage va favoriser un choix plutt quun autre. Ces scores sont donc relatifs.
Les paramtres doivent tre des valeurs prcises. Selon la situation, le systme doit
gnrer les valeurs exactes. Lapprentissage doit donc permettre de converger vers ces
valeurs exactes.
Apprentissage relatif : lapprentissage ne permet pas forcment de converger vers une valeur
exacte. Il permet cependant de grer son rang parmi dautres valeurs.
Apprentissage exact : cette fois lapprentissage doit permettre de converger vers une
valeur exacte.
Lapprentissage des paramtres ne peut avoir lieu que si les consquences de ces
paramtres peuvent tre perues. Cest--dire si les paramtres ont t utiliss.
Lapprentissage utilis est alors un apprentissage actif.
Le processus de choix est slectif. Le signal dapprentissage se rapporte donc aux choix
effectus. [Moore95] souligne cependant lintrt deffectuer lapprentissage sur tous les
modules, quils aient t utiliss ou non. Nous parlerons alors dapprentissage agressif.
Apprentissage agressif : il a lieu que le module corresponde une action utilise ou non.
En fait, ces quatre catgories dapprentissage se recoupent, mme si leurs caractristiques sont
complmentaires.
Lapprentissage
relatif
se
rapporte
lapprentissage
agressif.
Ladquation ou fitness
Le processus de slection permet de diriger les recherches. Il se base sur la fonction de
fitness, qui permet de mesurer ladquation dun individu avec le problme traiter. Cette
fonction renvoie donc une valeur en fonction dun certain nombre de paramtres. Les
individus possdant les valeurs les plus fortes sont alors slectionns pour la phase
dvolution, les autres sont limins [Koza92]. Le concepteur doit donc prendre soin de bien
dfinir cette fonction, car elle reprsente la fonction optimiser.
Ce fonctionnement de slection bas sur une fonction soulve un premier point important,
quels paramtres utiliser. Ces paramtres doivent permettre de calculer ladquation. Ils
reprsentent tous les aspects importants aux yeux du concepteur. Leur nature varie selon les
rsultats dsirs :
Dans toutes les autres expriences, la fonction de fitness permet dorienter les recherches.
Le concepteur prend alors soin dy intgrer tous les paramtres ncessaires et de trouver la
fonction adquate. Cette notion de fitness ressemble trangement au signal
dapprentissage de russite.
Une seule valeur pour dcrire une adquation globale, voil qui parat complexe. Le
problme des signaux dapprentissage diffrs se retrouve ici. Le fitness sanctionne lindividu
dans son ensemble. Dans le cadre du mouvement par exemple, il est difficile de savoir do
provient rellement lerreur. [Polani00] [Moriarty98] dcompose le processus dvolution.
Cela permet au concepteur dutiliser plusieurs fitness, spcialiss des sous problmes. La
convergence sen trouve alors facilite, voir et rendue possible.
- 123 -
- 124 -
2.4. CONCLUSION
La conception par le bas, incluant lutilisation de contrleurs, permet dobtenir de trs bons
rsultats pour les problmes de mouvements. Cependant, la conception des ces architectures
de contrle reste complexe. Cest pourquoi elle est trs souvent facilite par des mcanismes
dadaptation assez performants. Le contrle de mouvement sest avr un champ dessai
intressant, pour valuer les diffrentes techniques dadaptation mises au point.
Deux tendances dadaptation se distinguent. Tout dabord lapprentissage par renforcement
permet de faire varier certains paramtres de larchitecture de contrle en fonction dun signal
dapprentissage mesurant un jugement. Ensuite, lvolution gntique, qui procde par
gnration de nouvelles architectures, permet de converger vers une architecture plus adapte.
Mme si les fonctionnements diffrent, des points cl se retrouvent :
- 125 -
Jugement : pour apprendre il est ncessaire de juger les actions accomplies. Le signal
dapprentissage et la fonction de fitness reprsentent cette fonction.
Problme dassignation de crdit de Minsky : les deux apprentissages doivent faire face au
problme daccrditation de Minsky [Minsky63], qui survient lorsque le jugement est
diffr. Les deux mthodes utilisent le principe de dcomposition de lapprentissage
pour favoriser la convergence.
3.1. LA MODLISATION
De nombreuses expriences [Touretzky94] [Yamauchi96] [Burke01] exploitent le principe de
modlisation pour permettre des cratures virtuelles de retrouver leur chemin dans des
environnements plus ou moins complexes. Toutes ces cratures construisent des cartes plus ou
moins dtailles. Ces cartes reclent parfois des informations qui servent la crature
[Balkenius99] [Burke01]. Le plus souvent, elles leur permettent seulement dapprhender la
gographie des lieux [Touretzky94] [Yamauchi96]. Ces cartes reprsentent des modles de
lenvironnement.
La modlisation consiste crer des reprsentations (ou modles) de lenvironnement. La
premire partie dcrit les principes fondateurs des divers formalismes utiliss dans les
expriences tudies. La seconde partie traite de la notion dintgration. Elle explique
pourquoi et comment la modlisation doit sintgrer avec le reste des processus dcisionnels.
3.1.1. Le formalisme
Chacune des expriences utilise son propre formalisme, cest--dire ses propres mtaphores et
symboles associs. Par le biais de ces symboles, la crature construit sa propre carte. La
richesse des symboles permet ainsi de fournir la carte plus dinformations, de dcrire
lenvironnement de manire plus dtaille.
Ces cartes peuvent avoir plusieurs aspects, possder plus ou moins de symboles. Pourtant,
deux principes fondateurs reviennent souvent. Le premier permet de dfinir des points
particuliers de lespace, appels amers. Ces amers permettent de ponctuer la carte. Ils sont
dcrits dans la premire partie. Le second permet de relier ces amers entre eux. Ces liaisons
reprsentent alors des chemins possibles entre les amers. Elles sont dtailles en seconde
partie.
Les amers
- 127 -
Amer : point de lespace particulier, susceptible dtre mmoris. Il peut recueillir autant
dinformations que souhaites, mais ces dernires doivent permettre la distinction des amers
entre eux.
Les amers sont au cur du processus de la modlisation. En reconnaissant un amer, une
crature peut se situer. Elle peut mme prvoir le rsultat de ses futurs dplacements. Les
amers servent donc de points de repaire. Il est donc trs important de pouvoir les distinguer.
Ce processus de reconnaissance est en gnral dpendant des informations mmorises avec
chaque amer. Elles doivent donc permettre de les distinguer entre eux.
Certains amers permettent la crature de signaler des objets susceptibles de lintresser. Par
opposition, certains autres amers ne servent qu permettre la construction dun chemin
complet. Ces deux types damers sont distinguer.
Amer charg : amer dsignant un objet susceptible de reprsenter une opportunit pour la
crature virtuelle. Les informations de lamer dcrivent alors cette opportunit.
Les amers chargs sont donc susceptibles de devenir des objectifs, permettant la crature
dassouvir un ou plusieurs de ses besoins. Les liaisons reliant ces amers entre eux, dcrivent
les chemins qui permettent de passer de lun lautre. Parfois, ces descriptions deviennent
trop complexes (amers trs loigns). Un nouvel amer sert alors dtape intermdiaire.
Amer gographique : amer non charge, servant uniquement la construction de chemins
menant aux mers chargs.
- 128 -
Les liaisons
Les liaisons permettent de relier les amers les uns aux autres. En terme de navigation, ces
liaisons reprsentent des chemins possibles entre les diffrents amers. L encore, ces liaisons
peuvent contenir plus ou moins dinformations. Elles enrichissent la liaison, apportent des
renseignements supplmentaires :
Liaison : lien reliant deux amers. Il peut contenir autant dinformations que souhaites, mais
ces dernires doivent permettre de se diriger vers lamer destination.
De plus, ces liaisons peuvent tre caractrises par un certain nombre de proprits qui
apparaissent dans les diverses expriences :
- 129 -
Synthse
Lensemble des amers et des liaisons forme la modlisation gographique de lenvironnement
ou carte. Cette carte permet la crature de planifier ses mouvements. Voici donc quelques
cartes de diffrents formalismes. Ces cartes reprsentent toutes le plan de la mme maison :
3.1.2. Intgration
La modlisation ne prsente un intrt pour la crature virtuelle que si elle peut tre intgre
dans son processus dcisionnel. Cette modlisation doit donc parfaitement sintgrer avec le
formalisme du slecteur daction [Bessire99]. Ainsi, le formalisme de la modlisation, et
donc des informations associes, doit correspondre au formalisme du processus de
raisonnement.
Parmi les informations qui peuvent tre associes, deux grandes catgories apparaissent. Tout
dabord, dans un but essentiel de distinction, la modlisation doit mettre en rapport les
perceptions de la crature et les informations retenues. La premire partie dcrit donc
limportance des perceptions pour la modlisation. Ensuite, les liaisons mmorisent les
actions entreprendre pour rejoindre lamer suivant. Ces informations doivent donc tre en
rapport avec les actuateurs de la crature. La seconde partie dtaille limportance des
actuateurs pour la modlisation.
Les perceptions
Les perceptions permettent la crature de recevoir des informations de lenvironnement. Ce
sont ces mmes informations qui sont associes aux amers [Bessire99] [Touretzky94]
[Burke01]. Ces informations servent deux objectifs :
- 131 -
Pour juger de lintrt dune modlisation, le modle doit pouvoir tre analys par le
mcanisme de slection daction. Il est ds lors essentiel que ce modle sexprime dans le
mme formalisme que les perceptions utilises pour la slection daction [Bessire99]. Les
modles deviennent alors des objets perus comme les autres.
Les actions
La modlisation des liaisons passe souvent par la mmorisation des actions entreprises pour
rejoindre lamer. Ces informations se rsument souvent aux notions de distance et de direction
[Yamauchi96]. En fait, la distance correspond laction davancer, avec le paramtre de
quantit de mouvement. La direction correspond laction de se tourner, avec le paramtre
angulaire. Les informations de liaisons correspondent des actions et leurs paramtres
[Bessire99].
[Touretzky94] souligne le problme des changements de repre. Les paramtres des actions
sont des paramtres relatifs la position et lorientation de la crature au moment de la
mmorisation. Il est ds lors important de se rfrer un repre fixe. Ce repre de rfrence
peut tre arbitraire [Touretzky94] ou correspondre au repre global de lenvironnement. La
crature doit ds lors maintenir une information correcte quant son orientation et sa position.
Lorientation face la porte dentre de la Maison, depuis lextrieur, devient
arbitrairement lorientation de rfrence de la crature. Le seuil de la Maison devient la
position de rfrence. Son orientation et sa position sont alors calcules partir de cette
orientation et position de rfrence. Ds que le personnage se tourne, il met jour sa
propre orientation. Ainsi, lors de la mmorisation des paramtres daction, il peut retenir
des paramtres non relatifs. Sil avance de 2 units et se tourne sur sa gauche (90), il
fait face au Tlviseur. La liaison P0 / Tlviseur correspond : orientation 0, avancer
2, orientation -90, avancer 1.
Le fait de devoir modliser les actions permet dy associer une ou plusieurs perceptions. La
crature est alors capable de percevoir ses actions, mais aussi celles des autres cratures
[Bcheiraz98]. Cela lui permet dtendre sa capacit de modlisation (cf. Conclusion, page
144).
- 132 -
3.1.3. Conclusion
La modlisation se base sur deux principes cl, les amers et les liaisons. Lensemble forme un
graphe qui est une abstraction de carte. Ces deux lments reclent les informations
ncessaires lutilisation du modle par la crature. Ces informations correspondent des
perceptions et des actions. Elles permettent de charger les amers, de guider la crature au
travers des chemins possibles.
De plus, la modlisation nest rellement utile que si elle peut tre intgre dans le processus
de raisonnement, cest--dire le mcanisme de slection daction. Les modles doivent
pouvoir tre traits par le mcanisme de slection daction comme les autres objets et ainsi
gnrer des comportements adquats.
3.2. LE FONCTIONNEMENT
La modlisation nest pas seulement un ensemble de liaisons et damers. Cest avant tout un
ensemble de principes de fonctionnement. Ces principes permettent de construire et utiliser
les modles. Le fonctionnement est li au formalisme. Il se divise donc en deux ensembles,
selon que lon traite des liaisons ou des amers.
Avant de dcrire ces principes en dtail, la premire partie va dtailler le rle des modles
pour les cratures virtuelles. Au travers de ce rle, elle va mettre en vidence les solutions
quapporte la modlisation aux problmes comportementaux, ainsi que les nouvelles
questions qui en dcoulent. Enfin, cette partie tablit les attentes quant au fonctionnement des
modles.
La seconde partie dcrit les grands principes de fonctionnement des modles, tels quils
apparaissent dans les expriences tudies. Elle pose les bases incontournables qui permettent
aux modles dapporter un plus comportemental indniable, rapprochant encore un peu plus la
crature dun comportement intelligent.
Exploitation et planification
Le modle de lenvironnement permet de prdire les consquences de ses actes
[Schmidhuber90]. En terme de navigation, la crature peut alors savoir lavance ce quelle
va rencontrer si elle dcide de parcourir tel ou tel chemin. Elle peut alors choisir sa route en
connaissance de cause et prvoir les diffrentes actions quelle va devoir entreprendre pour
parvenir son but. La modlisation permet donc la planification. Cette planification est
dynamique car le plan nest pas directement dpendant de la conception de la crature. La
squence dactions merge du raisonnement sur le modle.
Dans lexemple de la Maison, le personnage dsirant Travailler doit se rendre dans son
Bureau. O quil se trouve dans la maison, son modle lui permet de trouver un chemin
lui permettant datteindre le Bureau.
Cette planification va plus loin. Le modle permet en effet la crature virtuelle de percevoir
des informations qui ne se trouvent plus dans son champ de perception, mais qui se trouve
dans son modle. Ce modle de lenvironnement tend donc les perceptions de la crature
[Filliat99] [Burke01]. Ce modle doit donc pouvoir tre trait par la crature comme sil
sagissait de perceptions normales. Il doit donc sintgrer parfaitement avec le mcanisme de
slection daction [Bessire99].
- 134 -
Exploration
Avant de pouvoir exploiter les modles, il est essentiel de les construire. Cette phase sappelle
la phase dexploration. La crature part la dcouverte de son environnement et en construit
petit petit son propre modle. Lexploration est une phase critique. Delle va natre la
modlisation de lenvironnement de la crature virtuelle, sur laquelle elle va sappuyer pour
prendre ses futures dcisions.
Cette exploration est souvent associe la notion de curiosit [Schmidhuber91] [Honkela00].
La curiosit pousse en effet la crature virtuelle explorer les parties de lenvironnement
quelle ne connat pas encore. Par opposition, la planification pousse la crature rester dans
le carcan des endroits dj explors. Cette opposition pose un problme dquilibre
[Donnart95] [Burke01]. Lexploration permet daccrotre les capacits planificatrices, mais
ces dernires accaparent ds lors la crature.
- 135 -
Reconnaissance
La reconnaissance est le principe qui permet la crature virtuelle de reconnatre un amer ou
une liaison lorsquelle les peroit dans son environnement. Dans un premier temps, voici les
mthodes utilises pour reconnatre les amers dans les diverses expriences tudies :
- 137 -
Cration
Les principes de cration des amers et des liaisons sont trs varis. Les expriences tudies
mettent en place un certain nombre de composantes, dont voici la liste :
Delta stimuli [Touretzky94] : le principe ci-dessus est gnralis lensemble des stimuli.
Ds quun ou plusieurs stimuli diffrent de la valeur correspondant au dernier amer, un
nouvel amer est cr. Une fois de plus la liaison est cre ensuite. Ces liaisons sont trs
simples et formes les liaisons dun rseau de neurones rcurrent.
Mcanisme dattention [Balkenius99] : lorsque la crature porte son attention sur un objet
de lenvironnement (une opportunit), puis quelle reporte son attention ailleurs
(transition), lobjet en question devient un amer. Lexprience ne dcrit pas de
mcanismes de cration de liaisons. Ce mcanisme de cration se base donc sur les
opportunits dlaisses.
La variation des stimuli, dont la distance depuis le dernier amer fait partie, permet de crer des
amers gale distance (la distance mesurant ici la variation des stimuli). Ce principe possde
le dsavantage de crer un nombre souvent important damers [Yamauchi96], amers qui ne
sont pas toutes pertinentes. [Donnart95] utilise un algorithme de simplification des chemins
ainsi crs, liminant les amers jugs inutiles.
Nous avions constat que, dans notre repre local, le tlviseur se
trouvait reli lamer Seuil par la liaison orientation 0, avancer
2, orientation -90, avancer 1. Si nous avions utilis un principe
de cration damer toute les units, ce simple parcours aurait
engendr la cration de 2 amers intermdiaires A1 et A2.
A2
A1
- 138 -
Cration ou reconnaissance dun amer : tout se dclenche lorsquun autre amer est
repr ou cr. Une liaison peut alors se cre entre ces deux amers (le courant et le
nouveau). Ensuite, le nouvel amer devient lamer courant.
Les informations associes chaque liaison sont en fait la mmorisation des actions
entreprises ainsi que de leurs paramtres depuis le dernier changement damer courant. Selon
le contexte, seules certaines actions sont importantes mmoriser. Ainsi pour la navigation,
seules les actions relatives au mouvement sont slectionnes [Bessire99] [Touretzky94]
[Yamauchi96].
Aprs avoir trouver le tlviseur, le personnage cre un amer correspondant. Lamer
courant est encore le seuil dentre de la Maison. Il va donc crer une Liaison entre
lamer courant (le seuil dentre) et le nouvel amer (le tlviseur). Cette liaison va
contenir toutes les informations concernant les actions de dplacement effectues par le
personnage, soit :
Orientation 0
Avance 2
Orientation 90
Avance 1
Prdiction
- 139 -
Suivi des liaisons : lorsque la crature refait les mmes actions quindiques dans une
liaison, elle sattend retrouver lamer destination. Si ses actions diffrent, la validit de
la prdiction dcrot.
Notre personnage sait avec certitude quil se trouve sur le seuil de la Salle dEau. Il
dsire aller regarder la tlvision, assis dans le canap. Il cherche donc un chemin,
compos dune ou plusieurs liaisons, qui lemmnerait jusquau canap depuis le seuil de
la Salle dEau. Il retrouve une liaison qui lemmne au tlviseur, puis une qui lemmne
au canap. Il dcide donc de lemprunter. Malheureusement il croise en route un autre
personnage et doit lviter. Ses actions diffrent alors des actions associes la liaison
quil suivait. La fiabilit de sa prdiction de se retrouver devant le tlviseur va
diminuer.
[Filliat99] souligne galement le rle de cette capacit de prdiction dans la gnration des
motions. Elle est notamment lorigine de lespoir, de la peur, de la dception, du
- 140 -
Mise jour
Le principe de mise jour permet la crature virtuelle de corriger les informations
mmorises avec les amers et les liaisons. Ce principe est trs li au principe de
reconnaissance. En effet, il faut dabord reconnatre un amer ou une liaison avant de corriger
les informations qui y sont associes.
En ce qui concerne les amers, les mthodes utilises consistent la plupart du temps
remplaces les informations mmorises par les nouvelles informations perues [Filliat99]. En
ce qui concerne les liaisons, les procds dpendent de la reconnaissance. Si la reconnaissance
est parfaite, il ny a pas besoin de mise jour, leurs informations sont identiques. En cas de
reconnaissance floue, la mise jour doit alors slectionner lune des liaisons. Ce problme se
rapproche alors de la destruction dune liaison et sera abord plus loin (cf. infra Oubli, page
143).
Notre personnage, revenant de la Salle dEau, se retrouve devant son tlviseur. Il voit
alors que son tlviseur est allum, information qui ne correspond plus son amer de
tlviseur teint. Il met donc jour ses informations associes lamer tlviseur, et
prcise quil est maintenant allum.
La fusion des informations de deux liaisons nest jamais pratique. Elle ne correspond en effet
pas grand chose. La squence des actions dune liaison na de sens que dans son intgralit.
Cependant, il pourrait tre intressant dutiliser des
algorithmes gntiques pour permettre la gense de
nouvelles liaisons et donc de nouveaux chemins [Koza92]. Il
est cependant dangereux de remplacer deux chemins valides,
par un nouveau dont la fiabilit reste dterminer.
- 141 -
N
f pa f pi
n1 n
Lorsque notre personnage a dcouvert le tlviseur allum, il a d mettre jour
linformation Allum de lamer correspondant. Cette information qui avait une fiabilit
de 1, obtient maintenant une fiabilit de 0,5. La prdiction de trouver le tlviseur allum
dpend des fiabilits suivantes :
0,5 pour la fiabilit de trouver le tlviseur allum.
1 pour trouver le tlviseur cet emplacement.
La fiabilit de la prdiction est donc de 0,5.
La fiabilit dune liaison mesure la probabilit daboutir lamer destination en appliquant les
actions associes cette liaison [Yamauchi96]. Cette fiabilit dpend de la mesure de lerreur
constate aprs lexcution des actions. A chaque fois que la liaison est utilise, la crature
virtuelle met jour sa fiabilit selon la formule :
- 142 -
fl
1 e fl n
n 1
Lorsque la porte dentre est ouverte, elle bloque lune des liaisons qui permet de
rejoindre le tlviseur, comme indiqu sur le schma. Notre personnage se trouvant sur
le seuil dentre et dsireux de rejoindre le tlviseur, dcide demprunter la liaison B.
Malheureusement, la porte dentre ouverte entre temps obstrue son passage. La fiabilit
de la liaison B est mise jour. Elle devient 0,5. La liaison B nest donc plus totalement
fiable.
Oubli
Si le systme pouvait disposer dune infinit de temps et de mmoire, loubli pourrait ne pas
tre indispensable [Gers00]. Seulement les ressources sont limites. Les cratures virtuelles ne
peuvent tout mmoriser. Il y a deux raisons cela :
Mmoire : les cratures virtuelles ne disposent pas dun espace mmoire infini.
Temps machine : les cratures virtuelles doivent se rfrer leur mmoire pour raisonner.
Une mmoire trs tendue entrane ainsi plus de traitements, et donc un temps machine
plus important.
Frquence dutilisation [Kuffner99] : plus un amer ou une liaison est utilis, plus il parat
important de le conserver. Attention cependant aux diffrences de cadences qui peuvent
- 143 -
Fiabilit [Yamauchi96] : les amers et les liaisons peu fiables produisent souvent des
prdictions errones. Ils sont donc moins utiles pour la crature virtuelle.
Des deux liaisons entre le seuil dentre et le tlviseur, la liaison B est moins fiable que
la A. Le personnage devrait donc dtruire la B, car le chemin quelle reprsente est
moins fiable.
Dans un problme de navigation simple (sans lments parasites autres que les obstacles), les
chemins les plus courts sont les plus intressants. [Donnart95] se propose donc de ne
conserver que les liaisons correspondantes. Lexprience implante mme un algorithme de
simplification de liaison. Dans des environnements plus complexes, pour des cratures plus
complexes (possdant plusieurs besoins), le choix de la liaison conserver est en rapport avec
dautres informations, correspondant aux besoins de la crature virtuelle. En fait, ce problme
est une gnralisation du problme de simple navigation, dans lequel seule lnergie de la
crature importe, et donc la longueur des parcours.
De la liaison A et B, B est la plus courte et donc la plus intressante. La parcourir
fatigue donc moins notre personnage que de parcourir la liaison A. Le personnage
devrait donc dtruire la A, plus longue. Une solution mixte permet de mettre en rapport
la fiabilit et lintrt de la liaison.
3.3. CONCLUSION
Le problme de la navigation permet la crature virtuelle de modliser lenvironnement.
Pour cela, elle utilise deux notions centrales :
Les amers : elles permettent de mmoriser des points de lespace particuliers qui servent
de points de repre la crature.
Les liaisons : chaque liaison reprsente un trajet possible entre deux amers.
A ces deux notions sassocient des informations qui permettent la crature virtuelle de
raisonner, de mesurer lintrt de chaque amer et liaison.
- 144 -
Mise jour : permet de mettre jour les informations associes aux amers et aux liaisons,
en gnral par simple remplacement.
Prdiction : permet la crature dutiliser ses modles pour anticiper ses mouvements. Les
informations des amers circulent le long des liaisons. Chaque liaison peut modifier ces
informations. La notion de fiabilit permet de mesurer la certitude associe chaque
prdiction.
Oubli : permet de grer le trop plein dlments (amers et liaisons) en liminant les moins
intressants. La notion dintrt est alors lie la cadence dutilisation et la fiabilit de
llment.
Cette capacit de modlisation correspond en fait au troisime niveau de cognition dcrit par
[Bourgine93]. Il est intressant de voir que ces principes applicables la navigation pourraient
tre tendus dautres formes de modlisation. Parmi ces dernires nous distinguerons :
4. Conclusion
Cette partie a tudi les solutions apportes par de nombreuses expriences trois classes de
problmes, qui proccupent lunivers du jeu vido. Ces classes correspondent galement aux
trois niveaux cognitifs introduits par Paul Bourgine [Bourgine93] :
- 145 -
La slection daction : Elle permet aux cratures virtuelles de choisir les meilleures actions
entreprendre en fonction de lenvironnement et de ses besoins. Elle reprsente la base du
processus de raisonnement.
Mme si les solutions tudies rpondent chacune un problme spcifique, elles sont encore
loin de satisfaire toutes les exigences requises (cf. Les contraintes du domaine, page 40).
Aucune ne semble rellement adapte. Ltude de ces techniques a cependant permis de
dgager quatre axes essentiels :
Conception aise : leffet bote noire nuit gravement la conception (cf. Le formalisme et
la conception, page 72). Le formalisme doit se baser sur des mtaphores simples et
suffisantes, cest--dire permettant dexprimer tous les concepts ncessaires au
fonctionnement du processus dcisionnel.
Contrle absolu : les concepteurs doivent pouvoir contrler parfaitement tous les
mcanismes. Mais cela ne doit pourtant pas rendre la conception trop complexe ou trop
fastidieuse.
Ces axes, qui sont souvent lorigine de linadquation des techniques tudies, serviront
donc de fondations pour la conception dune architecture adapte la cration de modles
dcisionnels pour les jeux vido.
- 146 -
Le premier chapitre a analys les exigences et les attentes des concepteurs de jeu vido. Il a
tabli un certain nombre de contraintes, souvent spcifiques ce milieu. Le second chapitre a
mis en vidence linadquation des techniques actuelles. Aprs une analyse fondamentale, il a
permis de mettre en vidence quatre axes essentiels, que larchitecture devra suivre. Tout
dabord, elle doit faciliter la conception des modles dcisionnels. Ensuite, elle doit apporter
une expressivit suffisante llaboration des modles dcisionnels des jeux vido.
Lexploitation de ces modles doit cependant rester rapide et efficace. Et puis, elle doit tre un
tout, et non un amas de techniques parses, regroupes artificiellement. Enfin, elle doit laisser
un contrle absolu au concepteur, quant lvolution des modles, ou aux rsultats
dcisionnels. Le prochain chapitre prsente une architecture qui rpond lensemble des
critres dj mentionns. Il explique chacun des choix qui ont permis daboutir une
architecture adapte. Les chapitres suivants explorent ses possibilits au travers de trois
expriences, correspondant tout dabord aux trois degrs de cognition exprims par Bourgine
[Bourgine93], mais aussi trois cas classiques du jeu vido. Ces chapitres permettent de
valider le fonctionnement de larchitecture.
Perceptions : la crature est en qute dinformations, elle fait appel ses sens. Cette tape
permet la crature daller chercher dans le jeu les informations disponibles, ncessaires
son raisonnement.
- 149 -
Excitation, inhibition
Inhibiteur
Pour indiquer leurs choix, les centres dintrt doivent pouvoir exprimer leur prfrence,
dans une unit de mesure commune. Cette unit est lexcitation nergtique (cf. Les mthodes
nergtiques, page 97). Par opposition, les centres dintrt marquent leur dsaccord avec
certains choix par une inhibition.
Lexcitation permet daugmenter lintrt dun actuateur. Linhibition permet de le
dcrotre. Lintrt mesure en fait ladquation de lactuateur dans le contexte actuel de la
crature (situation, tat interne). Chaque centre dintrt voit ce contexte de son propre point
de vue. Il ne considre ainsi quun seul besoin ou but. Il mesure ainsi lintrt dutiliser un
actuateur par rapport son but ou son besoin. Chaque centre dintrt est soit inhibiteur,
soit excitateur.
Lexcitation permet donc daugmenter cet intrt. Si plusieurs centres dintrt dsirent
activer le mme actuateur, alors les excitations se cumulent selon le principe dinfluence
mutuelle (cf. Influence par une spatialisation des ordres, page 175). En ce qui concerne
linhibition, le processus est diffrent. Cette architecture utilise linhibition passive. Cette
inhibition ne sapplique que si elle permet de rduire une excitation dj prsente. En aucun
cas, une inhibition nengendre dordre, elle ne peut aboutir une dcision. Limportance de
cette inhibition passive sera explique plus loin (cf. Les ordres ngatifs, page 176).
- 150 -
Lintrt mesure lexcitation dun centre dintrt pour un choix donn. Cet intrt est
goste, il ne concerne que le centre dintrt et le choix. Il correspond une excitation ou
une inhibition. Il est li deux autres notions importantes.
Le calcul de lintrt dpend de facteurs lis au contexte. Ces facteurs peuvent tre classs en
deux catgories : les facteurs externes lis la situation, et les facteurs internes lis ltat de
la crature. Ces deux notions permettent de dcrire simplement le calcul de lintrt. Elles
sont lies entre elles par un ET logique ou produit (cf. Le formalisme fonctionnel, page 75).
La motivation permet de mesurer lintrt que porte la crature son besoin ou son but. Elle
ne tient compte que de facteurs internes, cest--dire de ltat de la crature. Lopportunit
mesure les facteurs en rapport avec lenvironnement. Lorsque plusieurs objets du jeu sont
prsents la crature, chacun va permettre de gnrer une opportunit. Bien qu un instant
donn chaque centre dintrt ne possde quune motivation, chaque objet pourra gnrer sa
propre opportunit. Pour un centre dintrt, lintrt de chaque objet sera alors le produit
de la motivation du centre dintrt et de lopportunit lie lobjet.
Les senseurs sont les entres du systme. Ces informations serviront notamment mesurer les
intrts. Elles proviennent du jeu, et appartiennent donc des domaines de valeurs trs
diffrents. Or, elles seront traites sur une mme base par larchitecture. La premire partie
claircit le problme des domaines htrognes et la solution utilise par larchitecture.
Senseur : permet de fournir des informations au systme dcisionnel. Ils sont connects
directement avec le jeu.
En tant quintroducteurs des informations, ils doivent qualifier ces informations. Outre le
problme du domaine de dfinition, le second qualificatif est la persistance. Il permet de
connatre la dure de validit des informations. La seconde partie tudie cette persistance.
- 151 -
Domaines de valeurs
Les entres du systme sont issues de donnes provenant du jeu vido. Ces donnes sont
scalaires par nature et leur domaine de dfinition varie grandement de lune lautre. Toutes
ces informations vont cependant servir mesurer des valeurs et vont donc tre combines. Il
est important que toutes ces valeurs appartiennent des domaines similaires. Plusieurs
domaines universels sont donc utiliss dans larchitecture.
Domaine universel : domaine de valeur gr par larchitecture.
Les domaines de dfinition des donnes du jeu dpendent des types de ces donnes. Trois
types reviennent dans la plupart des langages informatiques :
Le but des domaines universels est de ramener les bornes de ces domaines des bornes
communes, pour que les chelles de valeurs correspondent. Par contre lexpressivit au sein
du domaine doit tre conserve. Cette expressivit dpend de nombreux facteurs.
Larchitecture en dnombre trois principaux, qui peuvent avoir des consquences sur le
processus dcisionnel :
Continu : les valeurs sont pseudo continues ou discrtes. Il est important de noter quun
domaine discret est un sous domaine dun domaine continu aux mmes bornes.
01
Discret
Sign : le domaine est sign et centr sur 0. Les valeurs positives sopposent aux valeurs
ngatives.
Sign
Cyclique : les bornes du domaine sont en fait quivalentes, cest le cas des angles, pour un
domaine compris entre et , ces deux bornes sont en fait la mme valeur.
?
Cyclique
processeurs.
- 152 -
Cyclique
Par dfaut le domaine est donc continu positif, aucun symbole nest alors ajout.
Persistance
Les donnes traites par larchitecture possdent des dures de validit variables. Bien sr, il
est difficile dvaluer ces dures exactes, qui dpendent de lvolution de lunivers. Si lon
considre la dure du cycle de raisonnement comme rfrence, deux persistances sont alors
possibles :
Les choix que la crature peut effectuer sont en fait les diffrentes actions quelle peut
entreprendre [Tyrell93]. Chaque action ou effecteur est appel actuateur.
Les actuateurs reprsentent les sorties du systme dcisionnel. Chacun est en fait une action
que la crature peut entreprendre. Ils reoivent donc leurs ordres, et sont chargs de choisir le
plus adquat. Ces actuateurs reprsentent enfin une ressource de la crature, que les centres
dintrt vont devoir se partager.
Le processus de choix est guid par les intrts de ces ordres. La premire partie dcrit le rle
des intrts. Ces actuateurs sont de plus paramtrables. Chaque paramtre est appel
intensit. La seconde partie dcrit le principe de fonctionnement des intensits. Enfin, ces
actuateurs sont capables de conserver les ordres dun cycle de raisonnement sur lautre, grce
un attribut de persistance. La troisime partie explique le fonctionnement de cette
persistance.
Intrt
Actuateur
Les centres dintrt envoient des ordres aux actuateurs. Chaque ordre possde son propre
intrt mesur par le centre dintrt dont il est issu (cf. Intrt : motivation et opportunit,
page 151). Cet intrt permet aux actuateurs de trier ces ordres et de choisir le meilleur.
Chaque actuateur excute alors lordre qui possde lintrt le plus important.
Soit i lintrt,
Soit m la motivation,
Soit o lopportunit,
i mo
Cest au niveau de ces intrts que linfluence inter comportementale peut avoir lieu. Les
centres dintrt ne pouvant communiquer entre eux, les actuateurs sont capables de les
- 154 -
Intensits
Actuateur
En plus de lintrt, chaque centre dintrt doit calculer les paramtres ncessaires
lexcution de laction (cf. Les scalaires et les paramtres, page 83). Chaque paramtre est
appel intensit. Un actuateur possde autant dintensits que ncessaire. Ces intensits
appartiennent, comme toutes les donnes de larchitecture, aux domaines universels dj vus
(cf. Domaines de valeurs, page 152). Bien sr, la plupart de ces paramtres nappartiennent
pas rellement ces domaines. Les intensits sont donc rchelonnes pour correspondre aux
donnes du jeu.
Intensit : paramtre dont se sert un actuateur pour moduler son action.
De toutes ces intensits, la premire est distinguer. Elle est appele intensit principale de
lactuateur. Elle joue un rle particulier dans le calcul des influences inter comportementales
(cf. Influence mutuelle nergtique, page 174). Cette intensit principale permet de
spatialiser les ordres reus. Bien sur, cette spatialisation est unidimensionnelle, base sur une
seule intensit. Si lintensit principale est absente (actuateur sans intensit), tous les
ordres sont considrs comme ayant la mme intensit principale.
Persistance
Le problme de stabilit comportementale (cf. La stabilit nergtique, page 88) trouve une
solution partielle dans la persistance des ordres reus par les actuateurs. Cette persistance est
videmment en relation directe avec la persistance des senseurs (cf. Persistance, page 153).
La persistance des actuateurs permet de configurer la rinitialisation des ordres reus. Cette
fois, trois valeurs sont possibles :
Persistante : les ordres persistent pendant le cycle de raisonnement. Un seul ordre est
excut pour chaque cycle. Tous les ordres sont oublis aprs la fin du cycle.
Statique : les ordres persistent dun cycle lautre. Un seul ordre est excut pour chaque
cycle. Aucun ordre nest effac.
- 155 -
Volatile : les ordres sont excuts au fur et mesure de leur arrive, puis sont effacs.
Lintrt ne sert plus alors rien.
Actuateur Volatile
Certains actuateurs sont des actuateurs continus. Laction quils reprsentent dure dans le
temps. Lordre excut doit donc souvent tre choisi nouveau pour prolonger laction dans
le temps. Dautres actuateurs excutent systmatiquement les ordres reus. Ce sont en fait
des automates.
1.2. LA STRUCTURE
Aprs avoir cr les symboles fonctionnels ncessaires, il est maintenant important de crer la
structure qui va lier ces symboles. Pour simplifier la tche des concepteurs, la structure suit un
modle prcis. Les centres dintrt regroupent les informations ncessaires au calcul de la
motivation, de lopportunit et des intensits grce aux senseurs. Ils envoient des ordres
aux diffrents actuateurs auxquels ils sont connects. Ces actuateurs grent alors ces ordres
pour produire les sorties du processus dcisionnel. Cette structure peut donc tre vue comme
un flux horizontal de linformation, senseurs, centres dintrt, actuateurs.
Ce flux a pour but de transformer les informations en entre, pour obtenir finalement des
ordres complets, comprenant lintrt (motivation et opportunit) et les intensits. Ces
transformations sont effectues grce des composants qui effectuent des oprations et
modifient ainsi le flux. Ainsi, le calcul de la motivation par exemple peut tre vu comme un
arbre de composants, qui traite les flux dentre pour obtenir un seul flux de sortie, la racine.
La premire partie tudie en dtail ces arbres de calcul et leur fonctionnement.
Oppos cette horizontalit, la structure peut aussi stendre verticalement. Tout dabord, les
diffrents senseurs, centres dintrt et actuateurs sempilent dans trois colonnes. Chaque
colonne permettant ainsi plusieurs composants de cohabiter. Mais dautres liens verticaux
sont possibles. La seconde partie expliquera comment cette verticalit permet de grer les
listes dobjets (cf. La gestion des objets, page 84) grce aux niveaux de perceptions. Enfin, la
troisime partie dcrit les dpendances logiques et le principe des couches.
- 156 -
Les blocs
Les traitements ncessaires au calcul de lintrt et des intensits doivent pouvoir tre conus
simplement, tout en offrant une palette importante de possibilits. Une fois de plus, une
approche ascendante a t privilgie. De simples modules de traitement indpendants
forment la base des arbres de calcul : les blocs.
Les blocs se divisent en deux catgories, selon sils sont sources dinformation ou sils
modifient cette information. Les premiers sont appels senseurs, les autres oprateurs. Tous
ces blocs fonctionnent selon les mmes principes :
Nombre dentres variable : chaque bloc peut avoir un certain nombre dentres. Les
senseurs nen ont pas, les oprateurs en ont au moins une.
Commutativit des entres : lordre des connexions des entres ntant pas rvlateur lors
de la conception, les oprateurs n-aires (possdant au moins deux entres) doivent
effectuer des oprations commutatives.
Oprateurs unaires : certains oprateurs ne peuvent possder quune seule entre. Ce sont
les oprateurs unaires.
Sortie unique : chaque bloc ne possde quune seule sortie. Tous les oprateurs peuvent y
avoir accs.
- 157 -
La persistance
Tout comme les senseurs, les oprateurs possdent un attribut persistance. A la diffrence
des senseurs, ils hritent cet attribut de leurs entres. Lorsque plusieurs entres sont prsentes,
il est possible quune incompatibilit survienne si deux entres nont pas la mme
persistance. Loprateur hrite alors de la persistance la plus faible.
Il est cependant possible de modifier cette persistance en cours de calcul. Pour cela il est
ncessaire dutiliser un oprateur dintgration. Cet oprateur unaire permet dintgrer son
entre par une simple sommation. Sa persistance est un degr plus importante que celle de
son entre. Il ne peut donc pas tre connect un bloc statique.
Loprateur de drivation utilise le mme principe. Son fonctionnement est souvent li aux
actuateurs modifiants. Ils seront abords un peu plus bas (cf. Les actuateurs modifiants, page
162), ils permettent de modifier la valeur dun bloc. Un oprateur de drivation, li un bloc
dont la valeur est susceptible de changer, permet alors de renvoyer cette modification. Il
diminue la persistance dun degr par rapport son bloc dentre. Il ne peut donc tre
connect aux blocs les moins persistants (cf. Nouvelle persistance : Volatile, page 161).
Les domaines
Chaque bloc possde un domaine de dfinition pour sa sortie. Il nest pas responsable des
domaines de ses entres, et nen tient gnralement pas compte. Il applique donc ses
oprations sans sen soucier. Chaque bloc garantit par contre que sa sortie appartienne bien au
- 158 -
La valeur du domaine la plus proche, cette notion de distance tient compte du fait que
le domaine peut tre cyclique.
0 si la valeur est 0
Larchitecture gre donc toutes les combinaisons de domaines, grce dune part aux
oprations, et dautre part au processus de recadrage de la valeur de sortie.
Le Soldat du chapitre prcdent, doit pouvoir mesurer la motivation du centre dintrt
Tuer Ennemis. Pour ce faire, il utilise des senseurs, qui lui fournissent des informations
sur son tat et sur lenvironnement. Il effectue des calculs sur ces informations, grce
un arbre de calcul.
Sant
&
Seuil
||
Armement
Danger
Tuer Ennemis
Inv
Les constantes
Constante
Les blocs effectuent leur opration sans tenir compte de lordre des oprandes (entres). Les
oprations sont donc commutatives. Or, certaines oprations non commutatives sont parfois
essentielles [Sims94]. Ce problme a t contourn par la prsence de constantes.
Certains blocs possdent une constante. Les senseurs deviennent alors des attributs de la
crature qui napparaissent pas dans le jeu. La valeur renvoye ne provient alors pas du jeu,
mais correspond la valeur de la constante.
- 159 -
Niveau de perception
Senseur
niv
Tout comme les senseurs permettent de dcrire lenvironnement, les niveaux de perceptions
permettent de dcrire des objets du jeu. Chaque objet peru sera alors dcrit par un ensemble
de senseurs appartenant tous au niveau de perception correspondant [Burke01]. La crature
pourra alors apprendre des informations spcifiques aux objets qui lentourent.
Niveau de perception : ensemble de senseurs permettant de dcomposer des objets perus.
Pour des environnements incorporant des objets trs diversifis, il devient alors possible de
crer plusieurs niveaux de perception, regroupant diffrents senseurs. Chaque niveau de
perception correspond alors une classe dobjets, cest--dire des objets pouvant tre dcrits
grce aux mmes senseurs. La crature devient alors capable de qualifier tous les objets qui
lentourent, aussi divers soient-ils.
Le Soldat peroit les objets de lenvironnement grce deux niveaux de perception. Le
premier dcrit les objets inertes grce 2 informations : lapport de sant et le bonus au
- 160 -
Soin
Comba 1
t
Comba 2
t
Se Soigner
Direction
Tuer Ennemis
Tirer sur
Fuir
Allgeance 2
Vitesse
La modification de blocs par la crature elle-mme est souvent indispensable. Elle lui permet
notamment de grer en interne certains de ses attributs, pour pouvoir tenir compte
immdiatement des modifications dues la situation. La modification de certains attributs
ncessite dtre calcule par le processus dcisionnel, car elle est lie aux dcisions ou aux
perceptions. Ces modifications seront effectues par des actuateurs. Si le jeu gre la mise
jour, le processus dcisionnel ne pourra en tenir compte quau prochain cycle, ce qui provoque
parfois des comportements incohrents. Il est ncessaire que certaines modifications soient
effectues en interne, lors du processus dcisionnel, pour pouvoir y tre intgres
immdiatement. Ces modifications sont alors effectues par les actuateurs modifiants.
Actuateur modifiant : actuateur dont laction consiste modifier un ou plusieurs blocs.
Ces actuateurs offrent alors plusieurs possibilits structurelles :
- 162 -
Gestion dun attribut interne : cas le plus simple dans lequel un senseur joue le rle
dattribut et est modifi par larchitecture elle-mme. Ce processus est particulirement
utile pour simuler des motions.
Objets virtuels : si tous les senseurs dun niveau de perception sont modifis, il est
possible pour une partie de larchitecture dinjecter dans une autre partie un objet qui
nexiste pas rellement. Ce procd est lorigine de la planification et sera abord plus
loin (cf. Le raisonnement, page 222).
Granularit des actions : la modification dun bloc peut tre vue comme un ordre. Tous les
centres dintrt lis ce bloc vont en effet modifier leur comportement pour ragir
cette modification.
- 163 -
1.3. CONCLUSION
Larchitecture repose sur un ensemble de symboles fonctionnels simples. Ces symboles
permettent dexprimer tous les lments ncessaires, non seulement au fonctionnement du
mcanisme de slection daction, mais aussi ncessaires lintgration de larchitecture dans
les jeux vido :
Grce aux actuateurs et aux senseurs, larchitecture limite les interactions avec le jeu au
strict minimum. Son intgration reste donc assez simple. De plus, elle gre les objets
provenant du jeu, grce aux niveaux de perception. Enfin, elle permet de crer des
dpendances logiques internes, quelle traitera automatiquement. Il est temps maintenant
daborder le fonctionnement du mcanisme de slection daction.
- 164 -
Comme cela a dj t dcrit dans Les blocs , les blocs se divisent en deux catgories, les
senseurs et les oprateurs. La premire partie dtaille donc le fonctionnement des senseurs,
le lien qui les unit au jeu. La seconde partie se penche sur les oprateurs, et le traitement de
linformation. La troisime partie discute de limportance de la compltude et de la richesse
des blocs.
Les senseurs pourvoient des donnes au processus de raisonnement. Ils assurent la liaison
entre le jeu et larchitecture. Ce sont aussi les entres des arbres de calcul. A ce titre, ils
imposent un certain nombre de proprits dont larbre va hriter :
Oprateurs unaires
Oprateur
Les oprateurs unaires transforment linformation quils reoivent grce leur entre. Voici
donc la liste des oprateurs unaires utiliss dans les expriences :
Valeur Absolue : la sortie vaut la valeur absolue de lentre. Le domaine de sortie devient
alors positif.
- 166 -
Valeur Oppose : la sortie vaut la valeur oppose. Le domaine de sortie est utilis pour
trouver la valeur oppose. Le centre de ce domaine sert de pivot. Le caractre cyclique est
bien sr pris en compte.
Signe : la sortie vaut 0 si lentre est 0, 1 si lentre est positive, -1 si elle est ngative.
Ces oprations sont simples. Elles permettent deffectuer la plupart des modifications
ncessaires aux jeux vido. Bien sr, dautres oprations sont envisageables.
Oprateurs n-aires
Les oprateurs n-aires permettent de combiner plusieurs entres. Ils appliquent pour cela une
opration binaire, successivement, jusqu avoir combin toutes les entres. Voici la liste des
oprateurs n-aires utiliss dans les expriences :
Une fois encore ces oprations sont simples, dautres peuvent tre cres.
Ces oprateurs sont particuliers. La constante est utilise pour simuler des oprations non
commutatives (cf. Les constantes, page 159). Voici la liste des blocs utiliss dans les
expriences :
- 167 -
Les oprateurs utiliss nintgrent quune seule constante. Il est envisageable den intgrer
plusieurs. Dans un souci de simplicit, et notamment vis vis des actuateurs modifiants,
lutilisation dune seule constante est prfrable.
Le traitement de lindfinition
Certains senseurs peuvent renvoyer une valeur particulire correspondant une absence
dinformation (cf. Les senseurs, page 165). Les oprateurs doivent tre en mesure de grer
cette indfinition. En fait, ils vont permettre sa propagation selon les rgles suivantes :
Propagation : si aucune entre nest dfinie, lindfinition est propage par loprateur.
Une dcision ne peut tre prise si aucune information ne vient ltayer.
Ces deux notions permettent de grer simplement les indfinitions. Elles restent faciles
apprhender par les concepteurs et autorisent le systme fonctionner mme en cas
dincompltude des informations. Bien sr, son fonctionnement sen retrouve alors altr.
Cette altration dpend essentiellement de la nature des oprateurs lis aux senseurs mis en
causes.
Ceci permet dintgrer par exemple des neurones tels quils ont t crs pour les rseaux de
neurones. Le nouveau bloc devient un neurone, effectuant la somme des entres et appliquant
un seuillage. Il est possible de crer des rgles floues : les entres sont les valeurs de certitude
des faits, le bloc effectue alors lopration dinfrence logique. Lextensibilit permet donc de
se prmunir de tout problme de compltude, mme si les blocs de base sont dj assez
expressifs.
Motivation
Chaque centre dintrt possde son propre arbre de calcul de motivation. Il permet de
mesurer la ncessit de favoriser ce centre dintrt, cest--dire lintrt que lui porte la
crature (cf. Intrt : motivation et opportunit, page 151). La motivation est un score
compris entre 0 et 1. Son domaine universel est donc Continu Positif.
La motivation permet de mesurer lintrt du centre dintrt partir de ltat de la crature,
cest--dire dinformations internes. Larbre utilis ne peut donc pas tre Volatile. Il ne peut
en effet dpendre dinformations provenant dun niveau de perception.
A chaque nouveau cycle de raisonnement, la motivation est rvalue. Elle permet ainsi de
trier les centres dintrt par ordre dimportance. Ces centres dintrt seront excuts dans
cet ordre. Ainsi, si le processus de raisonnement est interrompu, les centres dintrt les plus
importants auront ainsi t excuts en premier.
Opportunit
Lopportunit permet de mesurer ladquation de lenvironnement avec le centre dintrt
et lactuateur. Chaque centre dintrt possde donc un arbre de calcul dopportunit par
actuateur auquel il est connect. Tout comme la motivation, sa valeur est comprise entre 0 et
1. Le domaine universel est donc Continu Positif.
Lopportunit mesure lintrt de la situation courante. Larbre utilise donc des informations
provenant de cet environnement. Les senseurs sont donc soit Volatile pour les niveaux de
perception, soit Persistant pour les perceptions de la crature. Larbre ne peut donc pas tre
Statique.
Tous les objets des niveaux de perceptions vont gnrer des opportunits diffrentes dans
chaque centre dintrt, et pour chaque actuateur. Lors de lexcution dun centre
dintrt, celui-ci stocke les ordres quil enverra chaque actuateur. Ces ordres seront alors
tris par ordre dopportunit.
Lespace de stockage de ces ordres est limit, pour respecter les contraintes de mmoire (cf.
La mmoire, page 43). Sil est dpass, les ordres possdant la plus petite opportunit sont
- 170 -
Intensit
Les intensits sont des paramtres transmettre lactuateur (cf. Intensits, page 155).
Chaque actuateur peut ncessiter plusieurs paramtres. Chaque centre dintrt possde
alors un arbre de calcul par intensit ncessaire. Ces paramtres sont fournis lactuateur
qui doit les interprter. Les intensits nont pas de domaine particulier. Tous les domaines
universels peuvent donc tre utiliss.
Les informations transmises ne correspondent pas aux domaines originaux. Elles ont t
ramenes des domaines universels. Lactuateur doit donc les ramener leur domaine
dorigine. Tout comme pour les senseurs, cette transformation est laisse lapprciation du
concepteur.
Toutes les persistances peuvent tre utilises pour les arbres dintensit. Les informations
utilises pour les calculs peuvent provenir aussi bien de facteurs internes, que de facteurs
externes.
Satit
Les actuateurs statiques conservent les ordres reus dun cycle sur lautre. Il est cependant
important de dtruire ces ordres lorsquils ne sont plus ncessaires (cf. La stabilit
comportementale, page 87). Cela peut se produire pour deux raisons :
Pour dtruire les ordres devenus inopportuns, un mcanisme de satit a t mis en place (cf.
La stabilit comportementale, page 54). La satit devient un arbre de calcul qui permet de
mesurer la validit de lordre, que ce soit du point de vue de la crature ou de conditions
- 171 -
Factorisation
Tous ces arbres peuvent utiliser les mmes informations. Ainsi, les intensits dun actuateur
se calculent souvent de la mme manire, quelque soit le centre dintrt qui les calcule.
Cette duplication des calculs provoque une grosse perte de temps machine pour le processus
dcisionnel.
La structure permet cependant de rsoudre ce problme. Chaque bloc possde sa sortie et peut
donc servir darbre de calcul. Il devient alors possible de rutiliser un arbre ou mme une
partie darbre dans plusieurs calculs. Chaque bloc, une fois excut, peut tre utilis plusieurs
fois, sans entraner une seconde excution. Cette factorisation structurelle permet donc
dconomiser de nombreux calculs, ce qui acclre grandement le processus dcisionnel.
Deux centres dintrt permettent dorienter le Soldat : Tuer Ennemis et Alerter Alli. La
motivation du premier est inversement proportionnelle la Sant du Soldat. La
motivation du second est proportionnelle la Sant. De mme les opportunits sont
inverses.
Sant
Inv
Allgeance 2
?
Direction
Tuer Ennemis
Inv
&
Combat
Inv
Alerter Alli
Direction
Structure
Tous les ordres suivent la mme structure. Elle contient toutes les informations ncessaires
aux actuateurs, au mcanisme dinfluence inter comportementale et de slection. Ce qui
inclut :
Base : cette valeur est utilise pour le mcanisme dinfluence inter comportementale (cf.
Influence mutuelle, page 174). La valeur par dfaut est 0, si aucun arbre nest connect.
Noyau : cette valeur est utilise pour le mcanisme dinfluence inter comportementale (cf.
Influence mutuelle, page 174). La valeur par dfaut est 0, si aucun arbre nest connect.
Source : dsigne lobjet dun niveau de perception qui est lorigine de lordre.
Date : date laquelle lordre a t cr. Elle correspond la date du cycle de raisonnement
durant lequel lordre a t cr.
Il est important de distinguer la premire intensit, appele intensit principale. Elle est lie
au mcanisme dinfluence mutuelle, tout comme le sont la base et le noyau. Ce mcanisme
est expliqu ci-dessous. Les autres intensits sont traites de la mme manire. Il se peut que
certaines des intensits soient indfinies. Lactuateur ne doit pas en tenir compte.
Les arbres de motivation, dopportunit, de base et de noyau reoivent des valeurs par
dfaut. Ce mcanisme permet dallger la tche du concepteur. Ces valeurs refltent alors un
certain comportement du systme :
- 173 -
Opportunit, motivation : un produit tant effectu entre ces deux valeurs, la valeur par
dfaut est alors loprande neutre soit 1. Cela permet de ne dfinir que lun des deux
arbres. Si aucune des valeurs nest fournie, tous les ordres auront un intrt quivalent. Le
centre dintrt devient alors plutt un automate qui excute des oprations prdfinies.
La logique des choses voudrait alors que tous les ordres soient excuts par lactuateur,
ce dernier devant alors tre volatile.
Base, noyau : une fois de plus les valeurs par dfaut dfinissent un comportement
standard du systme. Ces valeurs permettent de dfinir une zone dinfluence. Par dfaut
cette zone ne couvre quune seule valeur, celle de lintensit principale de lordre (cf.
Influence mutuelle, page 174).
noyau : dfinit la largeur du noyau du trapze (le bord suprieur). Le score dfinit la
proportion de la base occupe par le noyau. 1 correspond toute la largeur de la base du
trapze, 0 lunique valeur de lintensit principale.
Le trapze tant centr sur la valeur de lintensit principale, et mme si la base vaut 1, la
zone dinfluence ne recouvre pas forcment tout le domaine (cf. Figure 34 : Exemple
d'influence mutuelle, intensit principale non cyclique., page 176). Ltendue de la zone tient
- 175 -
- 176 -
Ordres statiques
Les actuateurs statiques conservent les ordres reus dun cycle sur lautre (cf. Persistance,
page 155). Deux problmes se posent alors. Le premier concerne la gestion dordres
similaires. Deux ordres sont dclars similaires si et seulement si :
Ils concernent la mme crature : la crature virtuelle qui agit est la mme.
Ils sont originaires du mme centre dintrt : ils sont envoys par le mme centre
dintrt.
- 179 -
2.3.2. Lactivation
Lactivation permet de mesurer lintrt dun centre dintrt rapidement, sans effectuer de
trop nombreux traitements. Lors du processus dcisionnel, deux phases sont critiques. Tout
dabord, le calcul des intensits peut comprendre un nombre important de blocs et donc
beaucoup de temps machine. Ensuite, les niveaux de perception sont encore plus coteux.
Un arbre permet cependant de connatre rapidement lintrt dun centre dintrt : larbre
de motivation (cf. Motivation, page 170).
Tout dabord, il sera dcrit comment la motivation permet de trier les centres dintrt grce
la notion dactivation. Ensuite, la propagation de cette activation dans larchitecture sera
dtaille. Enfin, la dernire partie expose le mcanisme de tri et de slection.
- 180 -
Cette formule seule ne permet pas de rsoudre le problme prcdent. Pour cela, il suffit de
remettre zro lactivation une fois que le centre dintrt a t trait. A moyen terme, cette
combinaison permet de garantir lexcution de tous les centres dintrt, et ce, mme si le
temps machine laiss au processus dcisionnel est peu important.
Au moins lun des actuateurs est un actuateur modifiant : les automates hritent de
lactivation des centres dpendants, auquel sajoute une valeur proche de 0. Leur
activation devient alors trs lgrement suprieure la plus haute des activations des
centres dpendants.
Aucun actuateur modifiant : ces automates sont en fait des machines calculer. Ils
effectuent un traitement automatique appliquer systmatiquement. De plus, ce traitement
ninflue pas sur le processus de raisonnement. Il est alors prfrable de le faire en dehors
de larchitecture. Ces centres dintrt sans activation ne sont jamais traits.
Cette notion dhritage permet de respecter les dpendances logiques automatiques. Il est
intressant de constater que les autres dpendances logiques, lies des centres dintrt
possdant une motivation, nengendrent pas cet hritage. Si cet hritage tait prsent, il
favoriserait systmatiquement les centres dintrt des couches suprieures, dont les couches
infrieures sont dpendantes. Ainsi, les centres infrieurs, qui reoivent leurs instructions des
couches suprieures, seraient systmatiquement laisss pour compte lors dune interruption du
processus dcisionnel. Or, ce sont souvent ces centres infrieurs qui sont connects aux
actuateurs moteurs de la crature. Son comportement sen trouverait alors rduit
- 181 -
Abandon : les centres dintrt non slectionns et lis un niveau de perception sont
abandonns et ne seront pas traits. Cette mthode est rapide, mais ses effets sont difficiles
prvoir, ils dpendent du processus de slection.
Seconde vague : lorsquun centre dintrt non slectionn est trait, le niveau de
perception correspondant est aussi trait, ainsi que tous les centres dintrt lis ce
niveau de perception. Cette mthode garantit au pire une seule rvaluation des niveaux
de perception. Elle reste coteuse, et risque donc dtre abandonne avant sa fin
(interruption du jeu).
Lexplosion combinatoire
Au niveau dcisionnel, la combinaison des objets pose un problme de complexit
combinatoire dordre 2 . Ainsi, la prsence dun nombre important dobjets dans
lenvironnement rend le processus dcisionnel trs coteux. Chaque paire doit tre value
pour connatre lintrt de telle ou telle combinaison.
Le processus dvaluation des objets de larchitecture passe par les centres dintrt. Pour
valuer lintrt dune combinaison, il est alors possible de crer un centre dintrt attach
lun des deux objets, centre dintrt qui valuera le potentiel des combinaisons avec les
objets prsents au niveau de perception. Ces centres sont appels centres de combinaison.
Le choix de lobjet attach au centre dintrt est important. Il est prfrable de favoriser les
objets pouvant se combiner avec plusieurs autres. Cela vite ainsi de surcharger la crature
avec un nombre trop important de centres de combinaison.
- 184 -
- 185 -
2.5. CONCLUSION
Le fonctionnement de larchitecture repose en grande partie sur lagencement de symboles
fonctionnels, cest--dire la structure. Le mcanisme de slection sappuie sur les notions
simples de motivation, dopportunit et dintensit. La partie calculatoire repose sur les
arbres de calcul. Larchitecture prend en charge loptimisation des calculs quelle effectue :
Un filtrage des calculs non ncessaires et une factorisation des calculs redondants.
Une influence mutuelle des centres dintrt base sur un mcanisme de fusion des
ordres.
Non seulement, ces points permettent de respecter les contraintes lies aux jeux vido, mais
de plus ils aboutissent un comportement en accord avec les lments de validation du
mcanisme de slection daction :
Planification prdtermine grce aux transferts dintrt via des actuateurs modifiants
Larchitecture intgre totalement les dpendances logiques cres au sein de la structure. Elle
propose un mcanisme simple permettant de les utiliser : les actuateurs modifiants. Ces
derniers permettent dune part de modifier des blocs dautres arbres, et dautre part de crer
des objets du jeu virtuels.
Enfin elle permet dintgrer le fonctionnement de certains points lis au domaine des jeux
vido :
Combinaison dobjets
Larchitecture rpond donc aux critres slectionns. Un point encore obscur concerne
cependant la planification dynamique. En fait elle met en uvre des mcanismes plus
complexes et sera dtaille plus loin (cf. Le raisonnement, page 222).
Le principe des surveillants est assez simple. Pour apprendre la crature doit pouvoir tre
capable dvaluer ses russites et ses checs. Comme tous les processus dvaluation, il se
base sur des centres dintrt et des actuateurs. Le rle de ces centres dintrt, appels
centres dapprentissage, est donc dvaluer les checs et les russites. Cette valuation doit
aboutir au calcul dun signal dapprentissage. La premire partie dcrit ces mcanismes de
quantification.
Lintroduction de ces mcanismes dapprentissage dans larchitecture nest pas sans
consquence. La seconde partie dtaille ses consquences. Lapprentissage des diffrents
arbres de calcul, puis limpact des dpendances sur les mcanismes dapprentissage seront
exposs.
La continuit
- 188 -
Echec, russite
La notion dchec et de russite est assez simple. Un signal mesurant lchec, quantifie
lerreur commise par la crature. Un signal mesurant la russite quantifie quel point la
crature a effectu les bonnes actions. Ces deux signaux partagent en fait des points
communs :
Positif : les deux intensits sont comprises entre 0 et 1. Elles fournissent une information
non signe et norientent la convergence quen fonction du contexte.
La diffrence de ces deux signaux rside dans la signification du signal. Plus le signal de
russite est important, plus lapprentissage a fonctionn. Par contre plus le signal dchec est
fort, moins il a fonctionn. Les deux signaux envoient donc des informations opposes quant
la fiabilit7 du systme. Ces signaux sont trs utiliss pour faire converger les arbres de
calcul de motivation et dopportunit.
Echec dichotomique
Pour enrichir les informations apportes par le signal dapprentissage, un nouveau type a t
introduit dans larchitecture. Cette fois le signal est sign. Il mesure lchec, mais permet de
savoir si cet chec est d un trop ou un trop peu selon son signe. Il permet un apprentissage
dichotomique qui acclre de manire considrable la convergence de lensemble. Ce signal
partage certaines caractristiques avec les autres signaux :
Cette fois cependant, le signal est compris entre -1 et 1. Un signal ngatif indique une valeur
trop importante, un signal positif une valeur trop faible. Cette valeur signe permet de faire
converger le systme dans le bon sens. Il est trs utilis pour les arbres de calcul dintensit.
3.1.2. Apprendre
Larchitecture distingue deux grandes classes darbres. Les arbres dopportunit et de
motivation, tout dabord, calculent des valeurs relatives. Ces calculs ne doivent pas aboutir
des valeurs exactes, mais un ensemble de valeurs ordonnes. Cest cet ordonnancement qui
fixe laction slectionne, cest donc lui qui importe rellement. Ces arbres valeurs relatives
forment la premire classe. Les dtails de leur mcanisme dapprentissage sont dcrits dans la
premire partie.
Par opposition, les arbres dintensit doivent aboutir des calculs exacts. Pour un contexte
donn, chaque intensit doit converger vers une valeur fixe. Ces arbres exacts forment la
seconde classe. Elle inclut videmment les arbres dintensit, mais aussi les arbres de base
et de noyau. La seconde partie dtaille le fonctionnement particulier de leur apprentissage.
Enfin, limpact des couches et des dpendances nest pas sans consquence sur
lapprentissage. Nous exposerons les mcanismes mis en uvre pour que le systme
dapprentissage puisse tenir compte de toutes les dpendances de larchitecture.
Echec : en cas dchec, les blocs dapprentissage ont fourni une valeur trop leve, il
convient alors de la diminuer.
Russite : en cas de russite, les blocs dapprentissage ont fourni des valeurs
suffisamment leves, le systme renforce cette russite en augmentant encore ces valeurs.
Dichotomie : le signal dichotomique ne peut tre utilis pour ces arbres. Il permet de
converger vers une valeur exacte, ce qui soppose au caractre relatif des arbres relatifs.
En effet, un mme contexte, les valeurs acceptables varient avec le temps, en fonction
des autres arbres relatifs.
Le bloc a t utilis par un ordre excut : le signal est alors peru tel quil est, sans
modification. Si cest un chec, sa valeur est diminue, si cest une russite, sa valeur
augmente.
- 191 -
Le bloc na pas t utilis : le signal est alors invers. Si cest un chec, sa valeur est
augmente, si cest une russite sa valeur est diminue.
Le systme dapprentissage requiert une mmoire des valeurs dentre utilises par le bloc,
pour pouvoir sy rfrer. Comme ce dernier est systmatique, toutes les valeurs dentre des
blocs relatifs doivent donc tre mmorises.
Russite : les blocs dapprentissage ont fourni des valeurs plus ou moins correctes. Le
systme va donc essayer dadapter sa sortie. Lamplitude du changement est alors
proportionnelle lerreur commise, cest--dire au complmentaire 1 du signal de
russite.
Echec : les blocs dapprentissage ont fourni des valeurs errones. Lamplitude de
ladaptation sera donc proportionnelle au signal dchec.
Dichotomie : les blocs dapprentissage ont fourni des valeurs errones. Lamplitude de
ladaptation sera donc proportionnelle la valeur absolue du signal dichotomique. Le sens
de cette adaptation, cest--dire son signe, sera le mme que celui du signal.
- 192 -
Arbre contenant plusieurs blocs dapprentissage : bien quadress aux blocs, le signal
dapprentissage se rfre plutt la sortie dun arbre. Lorsque plusieurs blocs
dapprentissages composent cet arbre, il se cre une dpendance des fiabilits de ces
diffrents blocs. Cette dpendance suit la chronologie des oprations. Dans le schma
infra, la fiabilit du bloc Seuil est dpendante des fiabilits des blocs Dist et Coef. Coef et
Inv
Dist
|
&
Seuil
Coef
- 193 -
- 194 -
La fiabilit
La fiabilit permet de mesurer ladquation du bloc avec les situations rencontres, et donc
son approximation de la fonction idale. Elle est comprise entre 0 et 1. 0 indique un bloc
jamais fiable, 1 un bloc toujours fiable. La fiabilit est aussi une sorte dhistorique, qui
rsume les signaux dapprentissage reus. Le systme se sert de la fiabilit pour savoir sil
peut compter sur la sortie du bloc dapprentissage correspondant.
La fiabilit est donc en rapport avec les erreurs commises par le bloc dapprentissage.
Lerreur contenue dans chaque signal se calcule selon le type du signal :
- 195 -
fiabilit 1
e
n
Il est important de remarquer que ce score varie de moins en moins avec le temps. Sa variation
chaque signal est mesure par la formule :
Soit f la fiabilit aprs traitement du signal,
Soit f la fiabilit avant traitement du signal,
Soit n le nombre de signaux dj reus,
Soit e lerreur correspondant au signal,
1 e n f
n 1
n 1 f 'n f 1 e
n 1
1 e
f ' f
n
n
f '
possde
des
paramtres
- 196 -
dapprentissage.
Ces
paramtres
Lapprentissage stochastique
La mthode dapprentissage permet au bloc dapprentissage de sadapter et donc de modifier
un paramtre dapprentissage pour que sa sortie se rapproche de la sortie idale. Ces
paramtres dapprentissage dpendent du type du bloc. La modification doit cependant
prendre en compte un nombre important de paramtres :
Valeur de sortie utilise : cest pour cette valeur de sortie que le signal dapprentissage a
t envoy. Cest donc elle quil convient de corriger. Les entres correspondantes sont
appeles valeurs dentre rfrences.
Signe du signal : si le signal est sign (signal dichotomique), lapprentissage est alors
orient, il nexplore quun seul voisinage du paramtre dapprentissage. Sinon
lapprentissage va explorer les deux voisinages (infrieur et suprieur).
- 197 -
Ces paramtres permettent de dfinir les bases du systme dapprentissage. Ils sont utiliss
pour le calcul des paramtres cl qui seront utiliss pour lestimation de la nouvelle valeur du
paramtre dapprentissage :
Echelle : elle donne une notion de ltendue de lexploration envisage. Plus lchelle est
importante, plus la modification risque dtre importante. Elle est calcule partir de
lerreur implique par le signal et de la fiabilit du bloc.
9
8
7
6
5
4
3
2
1
0
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
p
1 p
p, 0 p 1
Lorsque le signal dapprentissage nest pas dichotomique, le tirage alatoire attribut lchelle
un signe alatoire. Ce mcanisme permet de doubler la distribution symtriquement la
rfrence dapprentissage.
Lorsque plusieurs paramtres dapprentissage sont prsents, le bloc dapprentissage doit
pouvoir dterminer lui-mme le ou lesquels faire voluer. Pour chacun des blocs
dapprentissage prsents infra (cf. Les blocs dapprentissage, page 200), les mthodes
utilises seront dcrites en dtail.
- 199 -
Les deux oprations utilisent les paramtres dapprentissage : les deux tapes
opratoires utilisent des paramtres dapprentissage. Cet enchanement cre une
dpendance entre lapprentissage des entres et lapprentissage associ lopration de
modification. De plus, le signal dapprentissage sanctionne la sortie du bloc
dapprentissage. Il est alors difficile de mettre en place un moyen simple de grer cette
dpendance. Les blocs dapprentissage utiliss dans les expriences nappartiennent pas
cette catgorie.
Mode pondration : si le bloc possde une entre, il pondre alors son entre par son
paramtre dapprentissage (produit).
Ce bloc permet donc la fois dintervenir dans un arbre de calcul comme facteur pondrateur
ou encore de gnrer des constantes utiles.
Lapprentissage du paramtre dapprentissage seffectue simplement en appliquant la lettre
les indications prcdentes. Lorsque le bloc reoit un signal dapprentissage :
- 201 -
f i, i 0
a b Fisk
a w i
b e 1
w'
Fiabilit du segment dapprentissage : plus le segment est fiable, moins il est prfrable
de le modifier.
Surface du triangle form par les extrmits du nouveau segment et le point liminer :
cette surface reprsente linformation perdue lors de llimination du point concern.
Informatio n
1
f l h
2
Le schma infra montre comment sapplique ce processus de fusion. Pour plus de clart, il ne
tient pas compte des fiabilits des segments dapprentissage. Il est important de noter que
les extrmits sont traites elles aussi. Le segment dapprentissage rsultant de llimination
dun point extrme possde alors la mme pente que le segment dapprentissage avec lequel
il fusionne.
- 204 -
Lapprentissage seffectue pour chacune des entres. Le signal dapprentissage reu par le
bloc dapprentissage est donc utilis par toutes les entres. La rfrence dapprentissage
- 205 -
3.3. CONCLUSION
Lapprentissage est un processus complexe. Larchitecture doit donc simplifier son
fonctionnement et rpondre aux critres des jeux vido. Le systme choisi sintgre ainsi
parfaitement avec le reste de larchitecture. Il utilise des blocs particuliers, les blocs
dapprentissage, qui, en sadaptant, modifie le fonctionnement des centres dintrt qui les
emploient. De mme, la crature virtuelle est seule responsable de juger de ses russites et de
ses checs. Grce aux surveillants, elle peut en informer les blocs dapprentissage, qui
mettent alors en place un mcanisme dadaptation. Cette adaptation permet ainsi la crature
de converger vers le comportement quelle juge idal.
Lapprentissage, ainsi implant dans larchitecture, montre des capacits apprciables et
adaptes aux jeux vido :
- 206 -
Il est totalement extensible et permet de crer une trs grande varit de blocs
dapprentissage. Il permet de simuler la plupart des architectures classiques dadaptation
(rseaux de neurones, rgles pondres etc.).
Les surveillants et les blocs dapprentissage permettent aux concepteurs de doter les
cratures virtuelles de capacits dadaptation.
4. La mmoire
Le troisime niveau de cognition de [Bourgine93] permet daboutir des raisonnements dune
complexit accrue. Ces raisonnements se rapprochent de ceux que nous employons tous les
jours, et aboutissent donc des comportements trs ralistes. Cependant, ce dernier niveau
met en uvre un processus complexe : la modlisation.
La modlisation permet la crature de se reprsenter son environnement, et mme de se
reprsenter elle-mme. Elle intgre alors ces reprsentations dans son processus dcisionnel
pour pouvoir prdire les consquences de ses actes. Elle est alors mme de choisir la
meilleure option. La modlisation lui permet donc de crer des modles utiles pour son
raisonnement. La premire partie expose le formalisme mis en place pour permettre cette
modlisation. Elle dcrit les lments de base qui constitueront les modles.
La seconde partie dcrit comment fonctionne la modlisation : depuis la cration des modles,
leurs modifications, jusqu leur utilisation dans le processus dcisionnel. Elle dtaille les
tapes cl du processus de modlisation. Elle rvle comment il devient possible en quelques
lignes de dcrire un systme dynamique, permettant la crature de raliser en temps rel de
vritables modlisations utiles son raisonnement.
4.1. LA MODLISATION
Le problme de la navigation, trait en 3 Les techniques de navigation , a permis de
souligner les grands formalismes utiliss pour ces processus de dplacement. Notamment, le
paragraphe Synthse (page 130), met en vidence le besoin davoir deux lments cl :
La liaison : elle permet de lier les amers entre eux. Elle exprime les relations qui existent
entre ces amers.
- 207 -
4.1.1. Le Souvenir
Le souvenir permet dtendre la notion damer. Plutt que de se cantonner un repre dans
lespace, le souvenir devient, plus gnralement, un ensemble dinformations susceptible
dtre rutilis lors dun processus dcisionnel ultrieur (cf. Les amers, page 127).
Souvenir : ensemble dinformations, susceptibles dtres rutilises lors dun processus
dcisionnel ultrieur.
Le premier paragraphe dcrit de quoi sont forms les souvenirs. Il tablit quelques
correspondances avec le reste de larchitecture. Le second paragraphe explique alors pourquoi
le souvenir est un centre dintrt, ainsi que les particularits qui le caractrisent.
Un ensemble de perceptions
Si le souvenir doit tre utilis par le processus dcisionnel, il est essentiel que leurs
formalismes soient compatibles (cf. Les perceptions, page 131). Le souvenir se compose donc
- 208 -
Les mtaphores mises en place pour larchitecture sont essentiellement fonctionnelles. Dfinir
la forme que vont prendre les souvenirs dans larchitecture revient alors dfinir leur rle.
Les souvenirs sont avant toute chose un rservoir dinformations. Mais ils sont aussi
lorigine dinitiatives de la crature (cf. Exploitation et planification, page 134). Ils doivent
donc pouvoir mettre des ordres. Or, les centres dintrt sont la fois connects des
informations, et la fois metteurs dordres. Les souvenirs sont donc des centres dintrt.
Cependant, pour reflter leur fonction particulire, ces centres dintrt souvenirs, ou plus
simplement souvenirs, possdent quelques particularits.
Les souvenirs ne possdent pas de motivation propre. Ils sont en effet exploits par un
ensemble dautres centres dintrt, classiques, qui exploitent les informations des souvenirs
pour satisfaire leurs propres motivations (cf. Exploitation et planification, page 134). Les
souvenirs pourraient hriter de ces motivations, mais les centres dintrt responsables de
leur cration, ne seront peut-tre pas ceux qui vont les exploiter. Lutilit dun souvenir doit
pouvoir tre opportuniste. En fait, les souvenirs reprsentent des opportunits latentes.
- 209 -
Les liaisons expriment les influences qui existent entre les souvenirs. Ces influences se
matrialisent par des modifications des informations des souvenirs influencs. Elles sont
- 210 -
Le principe dinfluence
Le principe dinfluence des souvenirs par dautres souvenirs permet un souvenir de
modifier les informations dun autre souvenir. Les ordres envoys ces liaisons devront
donc comprendre un nombre dintensits gal au nombre dinformations du souvenir cible.
Chaque intensit jouera alors le rle de paramtre de modification pour linformation du
souvenir cible correspondante.
Pour modifier un souvenir de diffrentes manires, il suffit de crer un nouveau type de
liaison. Chaque type de liaison reprsente donc un moyen diffrent dinfluencer un souvenir.
Dun point de vue plus mathmatique, cette influence peut revtir trois formes :
Le but final de toutes ces modifications est dinfluencer ce que peroit la crature, en fonction
de ses souvenirs. Ainsi, certaines des modifications porteront directement sur les objets
perus, influenant par ce biais les choix de la crature. Deux mthodes de modifications sont
alors possibles. La premire consiste modifier directement les perceptions dun objet de
lenvironnement. Cet objet est alors transform, donnant en gnral des informations plus
compltes, issues de souvenirs. La seconde consiste crer de toutes pices de nouveaux
- 211 -
Les liaisons reoivent des ordres des diffrents souvenirs influents. Ces ordres peuvent
comprendre un arbre de calcul dopportunit, plusieurs arbres de calcul dintensits (les
influences), des arbres de calcul de noyau et de base. Tous ces arbres de calcul
fonctionnent grce des blocs, dont les donnes (perceptions ou constantes) proviennent
souvent des souvenirs. Or, ces souvenirs nexistent pas encore, au moment de la conception.
Il est donc apparu indispensable de crer des blocs gnriques, qui puisent leurs donnes dans
les futurs souvenirs de la crature.
Bloc gnrique : bloc dont les donnes, que ce soit la perception ou les constantes,
dpendent dun souvenir.
Ce principe de bloc gnrique pose cependant quelques problmes. Il demande un
fonctionnement un peu particulier. La premire partie dcrit le problme du souvenir actif, ou
dans quel souvenir aller chercher les donnes. Elle explique aussi le rle particulier de la
source. La seconde partie dtaille les senseurs dinformations de souvenir. Ils permettent de
rcuprer une information de souvenir, pour lutiliser dans un arbre de calcul.
4.1.4. Lexpressivit
Larchitecture se veut assez gnraliste, et doit pouvoir sadapter la plupart des besoins des
concepteurs de jeux vido. La modlisation doit donc permettre de crer des modles varis,
- 213 -
Modlisation spatiale
La modlisation spatiale de lenvironnement est effectue, dans la plupart des jeux, de
manire globale. Toutes les cratures partagent un mme modle. Ce modle gnral est alors
configur par chaque crature, de manire en rendre lutilisation plus personnelle. Lespace
de recherche reste cependant assez vaste pour chacune delle.
La modlisation personnelle permet linverse dobtenir des modles trs restreints
correspondant exactement aux besoins de chaque crature. Lespace de recherche est alors trs
rduit pour chaque crature. Bien sr, rien nempche plusieurs cratures formant un groupe
de partager le mme modle.
La modlisation spatiale est assez directe. Chaque souvenir devient un amer. Il regroupe
lensemble des informations ncessaire la mesure de lopportunit quil reprsente. Les
liaisons reprsentent les passages possibles entre les amers. Leurs arbres dintensits
mesurent alors des transferts dopportunit entre les amers adjacents. Lorsque la crature est
confronte un choix, elle peut alors mesurer exactement lopportunit de chacun des choix,
- 214 -
Modlisation comportementale
Que ce soit les jeux dchecs, de go ou mme des jeux de stratgie plus rcents, lordinateur
gagnerait en finesse sil pouvait adapter sa stratgie celle du joueur (cf. La stratgie, page
14). Mais pour cela, lordinateur doit tre conscient de la stratgie du joueur : il doit en crer
un modle. En fait, lordinateur doit modliser le comportement de ses adversaires.
Le comportement se modlise en observant les actions de ladversaire en rponse aux
situations auxquelles il est confront. Deux principes sont alors essentiels :
Lvaluation des situations : elle permet de rsumer chaque situation par un certain
nombre de paramtres. Le mmorisation de ces situations permet par la suite de les
reconnatre et donc danticiper. Les souvenirs jouent parfaitement ce rle. Les
informations du souvenir correspondent alors aux paramtres de la situation.
Autres modlisations
Les principes de liaison et de souvenir sont trs gnraux. La gnralit de lensemble se
rapproche de celle des graphes. Les souvenirs deviennent des nuds, les liaisons les liens qui
relient ces nuds. Grce aux strates, plusieurs types de nuds peuvent cohabiter. Quant aux
liens, ils peuvent aussi appartenir plusieurs catgories. Il est mme possible de crer des
liaisons reliant des souvenirs de diffrentes strates. Il est aussi possible de crer des liaisons
rflexives, liant un souvenir avec lui-mme. Le systme est donc thoriquement capable de
modliser nimporte quelle structure base de graphe.
- 216 -
4.2. LE FONCTIONNEMENT
Maintenant que les principes de souvenirs, de liaisons, de strates de souvenirs et
dinformations de souvenir nont plus de secret, il est temps daborder le fonctionnement de
lensemble du processus, depuis la modlisation jusqu son exploitation. Il est important de
raliser que, dun point de vue conceptuel, le processus de modlisation revient crer un
modle permettant de gnrer dautres modles. Ces modles gnrateurs sont aussi appels
mta modles.
- 217 -
- 218 -
fiabilit 1
e
n
Enfin, les souvenirs sont lorigine de la cration des liaisons. Chaque souvenir est
responsable de ses liaisons avec les autres souvenirs. Pour ce faire, chacun possde un arbre
dopportunit de liaison pour chaque type de liaisons auquel il est associ. Cet arbre permet
de mesurer lintrt pour le souvenir de se lier au souvenir actif. Il permet donc de contrler
- 219 -
Lactuateur Mmoriser
Mmoriser
Strate n
Chaque actuateur mmoriser est responsable de la cration des souvenirs dune seule
strate. A chaque strate correspond donc un seul actuateur mmoriser. Il est le gestionnaire
de la strate de souvenirs et joue donc plusieurs rles importants pour le fonctionnement de la
modlisation.
Il reoit ses ordres de divers centres dintrt soucieux de garder trace dinformations
importantes pour lavenir de la crature. Chaque ordre excut donnera naissance un
nouveau souvenir. Mais avant de devenir un souvenir part entire, plusieurs tapes sont
ncessaires.
La premire tape correspond au processus de reconnaissance. Tous les souvenirs de la strate
essaient de se reconnatre dans le nouveau souvenir. Chaque souvenir obtient ainsi son score
de reconnaissance, qui est le rsultat de son arbre de reconnaissance. Deux configurations
sont alors possibles :
Tous les strictement positifs : tous les souvenirs possdant un score strictement positif
sont considrs comme tant reconnus.
Ltape de reconnaissance permet donc de filtrer lensemble des souvenirs, pour ne garder
que le ou les souvenirs concerns par le nouveau souvenir. Ces souvenirs sont appels
souvenirs reconnus.
Souvenir reconnu : tout souvenir ayant t slectionn par la reconnaissance et possdant
donc un score de reconnaissance strictement positif.
Si aucun des souvenirs reconnus ne possde un score de reconnaissance de 1, qui correspond
une reconnaissance parfaite, le doute persiste. Le nouveau souvenir est donc rellement
cr et vient sajouter la strate des souvenirs. Il est considr comme ayant un score de
reconnaissance de 1. Il fait donc partie de la liste des souvenirs reconnus.
- 220 -
Lactuateur lier permet de crer de nouvelles liaisons entre les souvenirs. Il reoit ses ordres
de souvenirs. A ce titre cest un actuateur de strate. La notion dactuateur de strate est trs
importante pour comprendre le fonctionnement de la modlisation. Ces actuateurs tant
rattachs une strate, ils sont donc grs par lactuateur mmoriser correspondant.
Actuateur de strate : actuateur recevant des ordres des souvenirs dune strate.
Recevant leurs ordres de centres dintrt non encore crs (les souvenirs), les actuateurs
de strate doivent tre en mesure de renseigner les futurs souvenirs sur les arbres de calcul
utiliser. A la diffrence des actuateurs conventionnels, les actuateurs de strate incluent
leurs propres arbres de calcul, que ce soit pour lopportunit, la base, le noyau ou les
intensits. Tous les souvenirs connects ces actuateurs de strate partagent donc les
mmes arbres de calcul.
Aprs les tapes de reconnaissance et de mise jour, seuls les souvenirs reconnus peuvent
envoyer des ordres aux actuateurs de strate. Il sont alors considrs un par un comme tant
le souvenir actif. Comme ces souvenirs appartiennent un mme niveau de perception
(celui de la strate), les sources originales des souvenirs de la strate deviennent alors les
- 221 -
4.2.2. Le raisonnement
Maintenant que les modles sont construits, il est temps de passer au fonctionnement de
lexploitation de ces modles. Les liaisons jouent alors un rle central. Elles permettent de
transfrer les influences des souvenirs vers dautres souvenirs, puis finalement vers dautres
centres dintrt.
La premire partie dcrit donc lactuateur liaison. Elle dtaille le fonctionnement des
transferts dinfluence entre les souvenirs. La seconde partie explique les concepts dobjet
virtuel et de chargement des senseurs. Ces deux concepts permettent une parfaite intgration
de lexploitation avec le reste de larchitecture. Enfin, la troisime partie dcrit comment ce
mcanisme complexe est ralisable en temps rel.
- 222 -
Les actuateurs liaisons ou liaisons sont responsables du transfert de linfluence entre les
souvenirs. Cette influence sexprime par le biais de modifications (cf. Le principe
dinfluence, page 211). Ces modifications sont calcules par les arbres dintensits du
souvenir influent. Ces arbres de calcul tant dfinis dans lactuateur lier, tous les souvenirs
les partagent donc (cf. Les actuateurs de strate : lactuateur Lier, page 221). Ainsi si des
arbres diffrents doivent tre utiliss, diffrents actuateurs lier devront tre prsents.
Les influences qui intressent la crature sont celles qui affectent directement les objets
quelle peroit, ou quelle devrait percevoir. Ces influences modifient donc le souvenir actif.
Le systme va alors utiliser la liaison dont la cible est le souvenir actif pour connatre quels
souvenirs sont influents. A leur tour, ces souvenirs influents vont faire lobjet de la mme
recherche. Leurs liaisons vont tre utilises pour dterminer la seconde gnration de
souvenirs influents. Ce processus se poursuit jusqu puisement des souvenirs. Les circuits
ventuels sont coups, chaque souvenir ne pouvant tre utilis quune seule fois.
Finalement, la dernire gnration des souvenirs influents calcule son influence. Le processus
se poursuit jusqu obtenir linfluence sur le souvenir actif. Le processus dinfluence ne
modifie pas rellement les informations des souvenirs. En effet, ces derniers conservent leurs
informations initiales dites de rfrence.
Information de rfrence : information initiale dun souvenir, avant toute modification. La
valeur correspond la valeur de la dernire mise jour.
Par opposition, les informations modifies sont appeles informations charges.
Information charge : information dun souvenir aprs application des modification dues aux
influences.
Lorsque la liaison du souvenir actif reoit les influences globales de tout le systme, elle ne
modifie le souvenir actif directement mais procde un chargement de senseurs ou la
cration dun objet virtuel. La partie suivante dcrit ces deux notions.
- 223 -
Mise jour dune information utilise par un arbre de calcul dinfluence : une valeur de
base servant calculer linfluence est modifie, lensemble du calcul doit tre reffectu,
ainsi que la propagation.
Dans le premier cas, linfluence qui dcoule du souvenir doit tre recalcule et propage.
Cette propagation peut alors tre retarde et incrmentalement effectue. Dans le second cas,
il est possible de trouver plus rapidement limpact du changement de souvenir actif sur les
influences :
Linfluence du nouveau souvenir actif sur lancien souvenir actif doit tre annule.
Linfluence de lancien souvenir actif sur le nouveau souvenir actif doit tre transfre.
4.2.3. Loubli
La crature est responsable de la gestion de sa mmoire et donc de ses souvenirs et liaisons.
De plus, elle ne dispose pas dun espace de stockage infini (cf. La mmoire, page 43). Elle
doit donc tre capable de grer son nombre de souvenirs et de liaisons comme une ressource
- 225 -
Les Souvenirs
Chaque souvenir cr par la crature est plus ou moins important. Son utilit dpend
principalement de deux facteurs importants :
Lutilit dun souvenir se calcule donc en effectuant le produit de sa fiabilit et de son intrt.
En effet, pour tre utile, un souvenir doit tre la fois intressant et fiable :
- 226 -
o n
Les souvenirs liminer sont donc les moins utiles. Lorsque le nombre maximum de
souvenirs est atteint, le systme procde donc llection du souvenir le moins utile, qui est
alors dtruit.
Les Liaisons
Les liaisons reprsentent des liens entre les souvenirs. Leur utilit est donc tributaire des
souvenirs quelle lie. De plus, comme pour les souvenirs, lopportunit de cration de la
liaison reprsente un aspect important de son utilit. Voici donc les facteurs qui permettent de
mesurer lutilit dune liaison :
Utilit du souvenir cible : si le souvenir cible de la liaison nest pas utile, la liaison ne
lest pas non plus. De plus, sil est dtruit, la liaison doit ltre aussi.
Lactuateur oublier
- 227 -
Lactuateur oublier permet aux souvenirs de demander leur destruction. Il sagit dun
actuateur de strate qui ne demande pas de source. Il est donc utilis une seule fois par
chaque souvenir. Lactuateur oublier nutilise quun arbre dopportunit, qui mesure le
dsir dautodestruction du souvenir et un arbre dintensit principale.
Il est important de noter que le souvenir ne sera pas dtruit. En fait, lexcution de lordre fait
dcrotre lensemble des fiabilits des informations du souvenir dun ratio spcifi par
larbre dintensit principale. Si aucune intensit principale nest spcifie, le systme fait
dcrotre la fiabilit de moiti. Cette perte de fiabilit provoquera finalement la destruction
du souvenir.
Ce procd peut correspondre plusieurs phnomnes. Lors dune modlisation spatiale, il
permet de reprsenter labsence dans lenvironnement de la source originale dun souvenir.
Loubli permet alors au systme de tenir compte de cette absence en rduisant la fiabilit du
souvenir correspondant.
4.3. CONCLUSION
La modlisation est un processus complexe et coteux en ressources mmoire et temps
machine. Cependant, il permet la crature dafficher des comportements de planifications
complexes et dynamiques, qui la rendent beaucoup plus crdible aux yeux des joueurs.
Larchitecture utilise quelques principes cl qui permettent de crer rapidement les lignes
directives que la crature devra suivre pour crer ses modles. Lutilisation de blocs
gnriques, de centres dintrt et dactuateurs particuliers permet une conception
parfaitement intgre avec celle du mcanisme de slection daction. La modlisation est alors
dans la continuit du mcanisme de slection daction.
Dun point de vue du fonctionnement, les principes mis en place sont clairs et relativement
simples. Les contraintes de ressources sont respectes. La crature est capable de grer ses
ressources de mmoire (le nombre des souvenirs et liaisons) et de temps machine au plus
juste. Le fonctionnement tire partie de lincrmentalit du systme pour permettre aux
processus trop gourmands de rpartir leur excution dans le temps.
- 228 -
5. Conclusion
Ce chapitre a prsent une architecture de conception adapte la cration de cratures
virtuelles pour les jeux vido. Il a explor les diffrents aspects ncessaires au raisonnement
de telles cratures, depuis la slection daction, jusqu la modlisation en passant par
ladaptation. Larchitecture offre ainsi de nombreuses possibilits. Elle permet de crer des
cratures trs simples, fonctionnant sur la base de rflexes, ou beaucoup plus volues,
capables de planifier dynamiquement leurs actions en fonction des circonstances.
Larchitecture prsente est essentiellement structurelle et fonctionnelle. Elle met en place un
certain nombre de mtaphores simples qui permettent au concepteur dapprhender les
processus dcisionnels complexes. En manipulant ces lments fonctionnels, en les
connectant les uns aux autres, il parvient petit petit btir ce qui deviendra le cerveau
artificiel de la crature. Lensemble de larchitecture se base sur seulement quelques
mtaphores. Leur intgration reste donc la porte dun grand nombre. Loutil ne sadresse
donc pas qu des professionnels de lintelligence artificielle.
Larchitecture se base sur des principes de fonctionnement en adquation avec lensemble des
contraintes imposes par le domaine du jeu vido. Ils respectent les contraintes de mmoire,
en proposant au concepteur de dfinir lui-mme comment la crature va pouvoir grer ces
contraintes. Ils respectent les contraintes de temps machine en proposant un processus
dcisionnel incrmental et pourtant cohrant, qui permet une rpartition de la charge de travail
dans le temps, et dont le concepteur reste seul matre.
Lensemble des expriences qui suivent montre lutilisation de cette architecture dans un
certain nombre de cas concrets. Les rsultats permettent de juger des performances de
larchitecture dans des situations classiques, correspondant aux diffrents niveaux de
cognition mis en vidence par [Bourgine93].
- 229 -
Aprs avoir prsent les principales contraintes et attentes des concepteurs de jeu vido, le
premier chapitre tablit les bases de la validation en imposant trois expriences, chacune
correspondant la fois un niveau cognitif [Bourgine93] et un domaine de prdilection du
jeu vido. Le second chapitre a pos les principes directeurs qui sont les fondements de
larchitecture. Le troisime chapitre expose larchitecture : son formalisme ainsi que son
fonctionnement. Ce quatrime chapitre dbute la validation de cette architecture. Il correspond
au premier niveau de cognition et permet de valider le mcanisme de slection daction, au
travers de trois expriences simples. Le cinquime et le sixime chapitre valideront
respectivement le deuxime et le troisime niveau cognitif. Enfin, le septime chapitre
analysera le travail effectu et indiquera les grands axes des travaux futurs.
Stabilit comportementale
Ce chapitre se divise en cinq parties. La premire dcrit lenvironnement utilis tout au long
de cette exprience. La seconde dtaille les modles comportementaux des diffrentes
- 230 -
1. Lenvironnement virtuel
Lenvironnement choisi est directement tir dun jeu vido clbre : Quake [Quake96]. Cet
environnement permet dj de placer lexprience dans des conditions idales dun vritable
jeu vido.
La premire partie dcrit brivement le fonctionnement de lenvironnement Quake [Quake96].
Elle dtaille les choix effectus pour y implanter les cratures et les problmes rencontrs.
La seconde partie met en place lenvironnement lui-mme. Il dcrit larne dans laquelle vont
se situer les expriences de ce chapitre, ainsi que lensemble des objets quelle contient. Elle
explique galement le rle de ces objets pour les cratures.
1.1. QUAKEWORLD
Lunivers de Quake [Quake96] est entirement en 3 dimensions. Il permet de crer des
paysages varis, dnus toutefois de vgtation. Les personnages peuvent se dplacer dans
lenvironnement librement. Ils peuvent courir ou marcher, sauter et mme ramper. Une
pseudo gravit les empche de voler. Lorsquun personnage touche un objet il lacquiert et
lutilise automatiquement, sauf si cet objet est sans effet sur le personnage. Les
comportements de consommations sont instantans.
Quake [Quake96] tant un jeu multi joueurs, il existe deux possibilits dimplanter une
nouvelle crature dans lunivers :
Ct client : la programmation est libre, le filtre perceptif est excut par la couche rseau.
- 231 -
1.2. LARNE
Pour des raisons explicites ci-dessus (cf. QuakeWorld, page 231), larne est relativement
simple. Elle se compose de quatre murs dlimitant une arne rectangulaire ferme.
- 232 -
Caisse inutile
Nourriture
Caisse inutile
Angle de vue : permet de spcifier un angle de vue, 0 correspond lhorizon, une valeur
positive oriente les yeux vers le bas, alors quune valeur ngative les oriente vers le haut.
Slection : permet de spcifier larme utiliser. La valeur reprsente une constante qui
dsigne une arme.
Les cratures virtuelles des expriences ntant pas belliqueuses, les actions de faire feu et de
slection darme sont restes inutilises. La vitesse verticale ne pouvant tre utilise dans
lenvironnement, elle a t omise. Pour simplifier les mouvements, le saut, la vitesse latrale
et langle de vue ont t abandonns. Il ne reste alors que deux actions :
Direction
Vitesse
Ces actions ont t normalises certaines valeurs cl. Ainsi, trois vitesses sont possibles :
marche, marche arrire et arrt. De mme pour la direction, deux orientations sont possibles,
15 droite et 15 gauche. Ces paramtres ont t simplifis pour pouvoir tudier plus
facilement linfluence des ordres entre eux. Voici donc les deux actuateurs finaux :
Vitesse : une seule intensit, intensit principale avec un domaine tertiaire, -1 correspond
la marche arrire, 0 correspond larrt, 1 correspond la marche.
- 234 -
Le troisime centre dintrt pousse la crature fuir les prdateurs. Il entrane simplement la
crature dans la direction oppose celle du prdateur. Les prdateurs sont dautres cratures
dont la couleur du vtement correspond celle des prdateurs. Il sappellera Fuite.
Enfin, un quatrime centre dintrt pousse la crature se dplacer dans une direction au
hasard. Ainsi la crature est amene explorer son entourage pour dcouvrir de nouveaux
objets. Lune des trois directions possibles est simplement tire au sort, la crature se dplace
alors dans cette direction. Il sappellera Exploration.
- 235 -
p 1
d
DMAX
Tous les objets perus par la crature, les quatre murs, les autres cratures, les caisses, sont
donc dcomposs selon ces quatre senseurs.
2.3.2. Nutrition
La motivation du centre dintrt Nutrition se mesure en valuant la faim de la crature. La
Faim est un attribut interne de la crature qui suit un rythme sinusodal, dont lamplitude
augmente avec le temps. Sa valeur chute lorsque la crature se nourrit, cest--dire passe sur
une caisse de nourriture. Voici donc le rythme mis en vidence lors dune simple exprience :
Figure 45 : Evolution de l'attribut Faim au cours d'une simple exprience, les chutes
correspondent aux repas pris par la crature.
Les opportunits de se nourrir sont reprsentes par la caisse de munitions se trouvant dans
larne. Lopportunit se mesure en tenant compte de deux facteurs importants :
- 236 -
Proximit : plus la caisse est loigne moins elle est importante pour la crature. La
proximit mesure donc un score entre 0 et 1. A 0, la caisse est trs loigne et plus du tout
intressante. A 1, la caisse est en contact avec la crature et donc trs proche.
Apport nutritif : larne ne comprenant quune seule caisse de nourriture, son apport
nutritif a t fix arbitrairement 1 pour la caisse de nourriture et 0 pour tout le reste.
v 0
si d - 0,5 ou d 0,5 v 1
sinon
v 1
- 237 -
2.3.3. Fuite
La Fuite dpend principalement de la prsence ou non de prdateurs. Les cratures nayant pas
dattribut de peur ou de sant, larbre de motivation nest pas ncessaire.
Lopportunit de Fuite se mesure de la mme manire pour les deux actuateurs. Elle
symbolise alors le danger encouru par la crature. Elle dpend de deux facteurs principaux :
Danger : ce score mesure le danger que reprsente lobjet. Pour les prdateurs il est 1,
pour lensemble des autres objets il est 0.
Proximit : plus le danger est loign, moins il est important den tenir compte.
Le produit de ces deux facteurs permet dobtenir lopportunit. En effet, les deux facteurs
doivent tre prsents ensembles pour quun rel danger soit peru.
Lintensit principale de lactuateur Vitesse se mesure de la mme manire que
prcdemment. Quant lintensit principale de lactuateur Direction, elle reprsente la
direction privilgie de fuite et donc la direction oppose la direction de lobjet.
2.3.4. Evitement
LEvitement permet la crature de ne pas percuter certains objets qui lentourent. Il sagit
dun comportement automatique, larbre de motivation nest donc pas ncessaire. De plus, ce
comportement ne pousse pas la crature agir, il len empche seulement. Ce centre dintrt
est donc un centre dintrt ngatif.
Par contre, lopportunit permet de mesurer si elle peut ou non sen rapprocher au point de les
toucher. Les objets viter sont :
- 238 -
Un nouveau senseur a donc d tre ajout, pour savoir si lobjet doit ou non tre vit. Il sagit
du senseur dEvitement, qui renvoie 1 si lobjet doit tre vit, 0 sinon. Ce senseur appartient
au niveau de perception des objets. La Proximit de lobjet vient pondrer cette valeur. En
effet, plus un objet est proche, plus il devient critique de lviter.
Le centre dintrt Evitement nest pas connect lactuateur Vitesse. Il empche simplement
certaines directions dtre prise par la crature. Lintensit principale de lactuateur Direction
se calcule en utilisant le mme arbre que pour le centre dintrt Nutrition.
Faim
Proximit
Danger
Apport
Evitement
Evitement
Direction
&
Direction
2.3.5. Exploration
Enfin, le centre dintrt Exploration permet la crature de se balader dans son
environnement au hasard. La motivation est une fois encore inutile. En effet, ce centre
dintrt est toujours actif.
Quant lopportunit, elle reste constante et faible. La crature ne procde ainsi un
mouvement alatoire que lorsquelle na rien de mieux faire. La constante doit tre dose en
fonction des intrts des autres ordres. Pour ces expriences, la constante a t fixe 0,05.
Lexploration na lieu que si la crature na vraiment rien de mieux faire.
Les intensits principales des deux actuateurs doivent tre gnres alatoirement. Deux
senseurs spciaux permettent de gnrer ces valeurs. Le premier renvoie alatoirement une
valeur parmi -1, 0 et 1. Le second renvoie alatoirement une valeur prise entre -1, 0, 0,5 et 1.
- 239 -
0,05
Exploration
Direction
DirectionA
l
VitesseAl
Vitesse
Ces senseurs sont utiliss par quatre centres dintrt, rpartis eux aussi selon le niveau de
perception auquel ils sont rattachs :
- 240 -
Danger
Apport
Evitement
Direction
Fuite
se
tes
Proximit
Nutrition
&
Vi
Direction
&
Faim
Inv
Vitesse
&
Evitement
0,05
Exploration
DirectionA
l
VitesseAl
3. La proie et le prdateur
La premire des deux expriences prenant place dans cette arne, met en uvre deux
cratures : un prdateur et une proie. Le but est de tester le comportement de la proie, par
rapport aux actions du prdateur. Cette premire exprience permet galement de valider la
base du schma comportemental des cratures virtuelles.
La premire partie dcrit les conditions exprimentales de cette exprience. Comment sont
configurs et placs la proie et le prdateur. La seconde partie expose les rsultats obtenus lors
de cette exprience.
- 241 -
Caisse inutile
Nourriture
Caisse inutile
3.2. RSULTATS
Le scnario de lexprience comprend une poursuite entre le prdateur et la proie. Elle met en
valeur trois des quatre centres dintrt : la Nutrition, la Fuite et lEvitement. De par la nature
stressante du scnario, la proie na que peu doccasion dexplorer larne.
Voici tout dabord un rcapitulatif des trajectoires des deux protagonistes. Il est important de
noter que, pour des raisons exprimentales videntes, la proie se dplace un peu moins vite
que le prdateur. Lutilisateur a donc pleinement le temps de prparer sa trajectoire, et
dobserver les rponses comportementales de la proie.
0,
Caisse inutile
1
5
4,
Nourriture
0
3
Caisse inutile
Figure 52 : Trajectoires de la proie (en gris) et du prdateur (en noir), les numros
indiquent les tapes cl et synchrones.
Ces trajectoires mettent en avant trois points importants :
- 242 -
Les comportements de Fuite et de Nutrition parviennent eux aussi collaborer. Par deux
fois, la proie prend le risque de prendre la caisse de nourriture, alors que le prdateur se
trouve suffisamment loign. Elle adopte pour son approche des courbes lui permettant de
fuir rapidement (tapes 1 et 5).
Lattribut Faim influence bien le comportement Nutrition. Aprs une brve halte, il
devient prioritaire un peu avant ltape 5. La proie dcide alors de se rapprocher un peu du
prdateur pour pouvoir rcuprer la caisse de nourriture.
La proie affiche donc un mcanisme de slection daction au point. Elle est capable de traiter
plusieurs centres dintrt en conflit et de choisir le meilleur. Elle privilgie les solutions les
plus satisfaisantes, non seulement vis--vis de chaque centre dintrt, mais aussi entre les
centres dintrt.
Les graphes qui suivent montrent le dtail des intrts des ordres produits pour les diverses
intensits des deux actuateurs. Leurs domaines restreints ont permis de mettre sous forme
graphique les excitations reues.
Figure 53 : Intrts maximal des intensits principales des deux actuateurs au cours du
temps.
Ces deux graphes montrent certains aspects particuliers de lexprience :
Droite et Gauche sont trs proches. Cela est d la diffrence angulaire faible des deux
intensits principales (30). Ainsi, la diffrence entre tourner droite et tourner gauche
est relativement faible. Cette petite diffrence permet cependant de choisir la bonne
direction.
- 243 -
Marche arrire est trs souvent en ngatif et donc dconseille. Cela correspond aux
priodes de poursuite, pendant lesquelles le prdateur se trouve derrire la proie.
Marche et marche arrire soppose quelque peu. Lorsque la Marche arrire est
slectionne, la Marche est souvent peu intressante. Les deux courbes ne sopposent pas
symtriquement cause des influences gnres par lEvitement, la Nutrition et
lExploration.
Arrt nest pratiquement jamais intressante. En fait, cette intensit nest envoye que par
le centre dintrt Exploration, et de manire alatoire. Les soubresauts de la courbe
correspondent donc au tirage alatoire de lintensit Arrt.
Marche et Droite ou Gauche sont similaires. Cela est d au fait que la proie se trouve
rarement correctement oriente vers son objectif. Lorsquelle se dplace, elle a donc
souvent besoin de rajuster sa Direction. Une fois encore ces changements de Direction
sont dus aux influences des divers centres dintrt.
Dun point de vue des contraintes, les cratures sont bien plus rapides que le protocole de
communication rseau. Elles nentranent donc aucun ralentissement. Quant aux ressources
mmoire utilises, elles sont minimes. La trajectoire de la proie montre un comportement
stable et continu. Elle reste ouverte aux opportunits (la nourriture) tout en vitant le
prdateur. Larchitecture semble mme de grer plusieurs centres dintrt en parallle et de
grer dynamiquement leur coopration ou leur opposition. Enfin, elle se montre trs adapte
la gestion de liste dynamique dobjets. La proie peut ainsi percevoir lors dun mme cycle une
quantit importante dobjets de lenvironnement, sans pour autant trop alourdir son traitement.
4. La nue
La seconde et dernire exprience implique un nombre plus important de cratures. Quatre
cratures seront prsentes dont trois seront diriges par lordinateur. Cette exprience permet
dajouter de nouveaux centres dintrt conflictuels dans le schma comportemental des
cratures.
La premire partie dcrit les conditions prliminaires. Elle dtaille les nouveaux centres
dintrt ainsi que les nouveaux blocs ncessaires leur fonctionnement. La seconde partie
prsente les rsultats de cette seconde exprience.
- 244 -
Caisse inutile
Nourriture
Caisse inutile
Deux de ces rgles sont dj prsentes dans le modle comportemental des cratures : Fuite et
Evitement. Il ne reste donc qu crer les deux centres dintrt manquants.
Le premier centre tre rajout permet la crature de rester proche du centre du groupe. En
fait, ce centre dintrt rapproche la crature de ces congnres. Cest--dire celles qui
appartiennent son groupe et portent donc la mme couleur quelle. Il sintitule
ResterGroup. Il utilise un nouveau senseur binaire appel Groupe pour dterminer si lobjet
appartient son groupe ou non.
- 245 -
Proximit
ResterGroup
Danger
Apport
Evitement
Direction
Vitesse
se
Direction
tes
Vi
Groupe
Direction
Proximit
ConserverNue
Direction
Vitesse
Danger
Apport
Evitement
DirPropre
VitPropre
- 246 -
4.2. RSULTATS
Le scnario permet aux proies de se regrouper. Le prdateur observe alors leurs
comportements depuis sa position de dpart. Les proies papillonnent dans un coin de larne
oppos la position du prdateur. Lune des proies en profite pour rcuprer la caisse de
nourriture. Le prdateur entame alors sa chasse. Il parpille la nue, dispersant les proies dans
larne. Ces dernires, tout en fuyant le prdateur, se regroupent nouveau en nue, dans le
coin oppos au prdateur. Lune des proies rcupre alors la caisse de nourriture qui vient de
rapparatre.
La reprsentation graphique des quatre trajectoires ntant pas trs claire, voici une capture
dcran prise pendant lexprience. Les trois proies se runissent pour former la nue.
Opportunisme
De plus, le comportement de nue est bien simul. Les cratures, moins dun impratif,
restent en groupe et se dplacent de concert. Elles semblent papillonner autour du centre du
groupe quelles forment. Elles ne se dispersent quau cours dun incident important, comme
larrive du prdateur, ou la prsence proche de nourriture.
- 247 -
Les proies ne se dirigent jamais vers le centre du groupe, mais vers lun de ces membres.
Les proies nappliquent pas un vecteur vitesse moyenne du groupe, mais copient celui
dun des membres.
- 248 -
5. Discussion
Les rsultats de ces deux expriences montrent que ces expriences prliminaires taient une
tape importante avant de passer des modles de cratures plus complexes. Ces expriences
ont donc permis de valider lapproche et le fonctionnement de larchitecture.
Au-del de la simple validation, ces expriences ont t conduites pour en apprendre plus sur
les contraintes technologiques dun tel projet. La plupart des expriences menes jusqualors,
notamment dans le domaine de la Vie Artificielle, se sont concentres sur les rsultats
comportementaux. Ici, laspect comportemental est certes essentiel, mais il saccompagne
dautres aspects tout aussi primordiaux :
Les expriences doivent tourner en temps rel sur des ordinateurs personnels.
Elles font appel des moteurs 3D ddis, qui permettent laffichage en temps rel.
Cest pourquoi cette architecture soriente avant tout vers lefficacit. Cest aussi pourquoi
elle a privilgi des mthodes connexionnistes. Ces mthodes permettent la fois de mettre en
place un certain nombre de mtaphores fonctionnelles comprhensibles par le concepteur et
efficaces pour lexcution du processus dcisionnel.
La contrainte de temps rel impacte aussi sur un autre aspect de larchitecture, la gestion des
objets de lenvironnement. Dterminer ce qui est peru par chaque crature est souvent un
processus complexe et donc coteux. La plupart du temps, ce processus nest effectu que
pour le personnage principale. Reproduire ce processus pour lensemble des cratures du jeu
requiert normment de temps machine. Il devient alors absolument ncessaire de concevoir
lenvironnement avec beaucoup dattention. Des filtres puissants et rapides doivent permettre
dliminer au plus vite les objets de lenvironnement non perus. De mme, lintrt cognitif
de ces informations doit rester lune des proccupations des concepteurs. Par exemple, dans
[Blumberg94], la crature peroit directement une photo nergtique de son environnement, et
active ses effecteurs en rponse. Le processus dcisionnel aurait t bien plus complexe si la
crature avait peru directement les informations gomtriques de son environnement. Cet
exemple permet de souligner limportance du travail effectu avant tout processus cognitif. De
bonnes informations permettent souvent de concevoir un processus dcisionnel simple.
Enfin, il est important de noter que larchitecture rpond lensemble des critres poss par
[Tyrell93] :
- 249 -
Tous les systmes travaillent en parallle, aucun filtrage nest effectu avant le choix final.
Possibilit dintgrer des fonctions complexes de calcul (autre que somme et produit).
Opportunisme.
Larchitecture semble donc rpondre nos premires attentes. Un premier petit bmol
cependant concerne lutilisation des ressources. Il aurait t tout fait intressant dutiliser
une quantit beaucoup plus importante de cratures pour mesurer leur consommation mmoire
et temps machine. Malheureusement, un problme len empche : il est impossible de
connecter plusieurs clients depuis une mme machine. Il a donc t ncessaire davoir une
machine par crature. Evidemment, la consommation ressource de la crature est trs faible
par rapport aux ressources dun ordinateur personnel.
Un second bmol concerne cette fois certaines fonctionnalits qui nont pas t testes. Le
modle de crature utilis tant trs simple, de nombreux aspects nont pu tre explors :
Lensemble des blocs na pas pu tre utilis. Notamment, le bloc intgrateur dont le
fonctionnement utilise un processus complexe.
- 250 -
La premire partie de ce chapitre dcrit lenvironnement plus dtail. Elle expose le moteur 3D
utilis ainsi que le moteur dynamique. Elle explique les consquences de ces choix. La
- 251 -
1. Lenvironnement virtuel
Pour cette exprience de contrle moteur, lenvironnement virtuel doit tre beaucoup plus
riche que prcdemment (cf. Lenvironnement virtuel, page 231). Le temps rel et la 3D sont
toujours de mise. Mais ils saccompagnent dun moteur dynamique permettant de simuler de
manire assez raliste les lois de la mcanique. Les conditions sont alors proches des jeux les
plus rcents comme Hitman, [Jakobsen01] [Hitman00]. En effet, encore peu de jeux utilisent
la dynamique pour raliser leurs animations.
La premire partie dcrit donc lenvironnement 3D utilis, en loccurrence OpenGL. Elle
dvoile quelle librairie a permis dobtenir rapidement des rsultats, et quel prix. La seconde
partie dtaille le moteur dynamique utilis et les consquences sur lexprience.
Fournir des informations ncessaires au contrle musculaire : les angles des jointures, les
points de contact, lorientation du corps.
Permettre denvoyer des ordres musculaires : la crature doit pouvoir envoyer des ordres
au moteur dynamique pour sanimer.
Fonctionner en temps rel : il est essentiel deffectuer tous les calculs ncessaires en temps
rel pour fournir les informations ncessaires laffichage.
Open Dynamics Engine ou ODE [ODE], est une librairie ralise par Russell L. Smith. Elle
sest rvl rpondre tous ces critres, dans certaines mesures :
Elle fournit lensemble des informations ncessaires, les angles, les positions et
orientations des diffrentes parties du corps, les vitesses de dplacement et de rotation.
Elle permet denvoyer certains ordres moteurs : vitesse dsire et force maximale utiliser
pour latteindre. Il est par contre impossible de fournir au systme directement les forces
musculaires appliques aux jointures.
Elle fonctionne en temps rel. Elle gre les lois de la mcanique de manire correcte. Bien
que la technique utilise ne donne que des rsultats approximatifs, les rsultats demeurent
toutefois acceptables.
Comme la plupart des moteurs dynamiques actuels, il ne gre que des corps rigides simples.
La mthode de simulation utilise est rapide et trs stable. Elle provoque cependant certaines
incohrences, comme linterpntration de deux solides ou certaines drives provocant des
mouvements brusques lors de collisions.
2. La crature virtuelle
La crature virtuelle, nomme Hexapode, est le seul acteur de lexprience. La premire partie
dcrit sa morphologie, ses degrs de libert. La seconde partie expose son modle dcisionnel,
la nature de sa dmarche et les diffrents composants qui constituent le modle.
2.1. MORPHOLOGIE
LHexapode se compose dun corps et de six pattes. Elles-mmes se composent de deux
cylindres. A chaque raccord entre ces diffrentes parties, lHexapode possde une jointure. Il
- 254 -
Chaque patte possde ainsi 3 degrs de libert. LHexapode possde donc au total 18 degrs
de libert. Chacun de ses degrs de libert est motoris et correspond donc un muscle. Le
contrle de ses mouvements revient donc envoyer les bons ordres aux 18 muscles.
Elle permet une bonne stabilit : il est facile pour la crature de retrouver son quilibre, il
lui suffit de poser toutes ses pattes au sol.
Dautres expriences ont t menes sur des hexapodes ressemblants, dont notamment
[Ferrell95].
- 255 -
2.2.1. Le mouvement
Pour dmontrer la mallabilit du systme dadaptation, une certaine dmarche a donc t
choisie. LHexapode se dplace en bougeant deux ensembles de trois pattes en opposition.
Chaque ensemble forme un trpied (la patte avant et la patte arrire dun ct et la patte
centrale oppose), qui permet la crature de maintenir son quilibre.
La marche seffectue alors en bougeant ces deux ensembles de pattes. Il est important de noter
que chaque patte bouge individuellement. Chaque patte reoit donc un ordre qui lui est propre.
Par contre, la dmarche a ainsi pu tre dcoupe en 4 tapes cl :
- 256 -
Ces deux intensits permettent de dcrire le mouvement. Une force leve engendre des
mouvements trs brusques, qui ont tendance faire sauter la crature. Une force trop faible ne
suffit pas soutenir son propre poids, provocant son croulement. Il nest pas ncessaire de
varier la force durant lexprience. La mise au point de ce paramtre va tre apprise par le
systme. La force sera donc le second paramtre dapprentissage. La vitesse permet de dcrire
la rapidit du mouvement. Une fois de plus, un mouvement trop rapide entrane des drives du
systme et des sauts de la crature, qui peuvent provoquer sa chute. Par dfinition, elle est
proportionnelle la rotation quil reste effectuer pour atteindre la position cible. Une
pondration sest cependant rvle indispensable pour viter les drives. Cette pondration,
appele coefficient vitesse, sera le troisime et dernier paramtre dapprentissage.
Soit p langle atteindre pour la prochaine position,
Soit a langle actuel,
vitesse coefficientvitesse
En plus de ses muscles, lHexapode doit pouvoir changer de position cible courante. Ce
changement est effectu par un autre actuateur, un actuateur modifieur. Cet actuateur est
responsable de la slection de la position cible courante et assure les transitions entre ces
dernires. Il sappelle slection position. En fait, il modifie la valeur de 5 senseurs. Ils sont
utiliss par les centres dintrt pour le calcul des intrts des ordres envoys aux effecteurs.
Enfin, lapprentissage ncessite un actuateur surveillant, responsable de la diffusion des
signaux dapprentissage. Pour cette exprience, le signal est simple. Il mesure la russite de
lHexapode et est connect tous les paramtres dapprentissage. Le signal dapprentissage
est positif. Lactuateur est intitul surveillant russite.
- 258 -
Debout : permet la crature de retrouver sa stabilit, elle pose ses six pattes par terre.
Ainsi, un instant donn, un seul de ces centres dintrt doit tre actif, pour garantir le
synchronisme de lensemble. Il est donc ncessaire de mettre en place un principe
dexclusivit. Les arbres de calcul progrs position ne peuvent tre utiliss, en effet un
instant donn, deux arbres peuvent produire le mme rsultat (tat entre deux positions cl).
Lactuateur slection position permet de spcifier lequel des centres dintrt est actif. Pour
ce faire, il change la valeur de 5 senseurs, il en met un 1 et les autres 0. A chaque senseur
est associ un centre dintrt position. Seul le centre dintrt dont le senseur est 1 envoie
des ordres dintrt non nul.
Cinq autres centres dintrt vont envoyer leur ordre lactuateur slection position, chacun
privilgiant lune des positions cl. Ils vont permettre de slectionner la position cible
courante :
Slection Debout
Slection Position1
Slection Position2
Slection Position3
Slection Position4
Enfin, le centre dintrt distance permet de mesurer la distance parcourue par lHexapode. Il
mesure le carr de la distance au sol (llvation nest prise en compte). Il se connecte
lactuateur surveillant russite. Il permet donc de calculer un signal dapprentissage. Ce
signal permet de privilgier les dmarches plus efficaces. Sa motivation nest valide qu la
fin de chaque tentative.
- 259 -
px
dx
px
dx
py
dy
py
dy
Debout
Position1
Position2
Position3
Position4
Force
Coefficient Vitesse
Seuil Reconnaissance
Toutes ces informations vont permettre de concevoir les arbres de calcul ncessaires au
modle de lHexapode. Pour des raisons de simplicit et de par leur nature redondante, tous
les arbres de calcul ne seront pas prsents. Ils sont en fait catgoriss par type. Pour chacun,
un modle sera prsent. La premire catgorie concerne lenvoie des ordres aux effecteurs.
La seconde catgorie est relative la slection de la position cible.
- 260 -
Angle
Dist
&
Coefficient
Vitesse
Position
Effecteur
Vitesse
Force
Force
- 261 -
Debout
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Position1
0
0
0
0
0
0
0,2
0,2
0,2
0
0
0
0,1
0,1
0,1
0
0
0
Position2
0,15
0,15
0,15
-0,15
-0,15
-0,15
0
0
0
0
0
0
0
0
0
0
0
0
Position3
0
0
0
0
0
0
0
0
0
0,2
0,2
0,2
0
0
0
0,1
0,1
0,1
Position4
-0,15
-0,15
-0,15
0,15
0,15
0,15
0
0
0
0
0
0
0
0
0
0
0
0
Figure 62 : Angles des degrs de libert pour les diffrentes positions cl, en radians.
- 262 -
Anglei
Dist
|Moy|
Inv
Slection
Position
Anglej
Dist
Seuil
Reconnaissanc
Slection
Position1
Inv
Debout
Pos1
Pos2
Pos3
Pos4
0
- 263 -
3. Apprendre marcher
Lexprience a pour but de montrer visuellement les capacits dapprentissage de
larchitecture. LHexapode est dot dune dmarche impose par le concepteur et doit
apprendre rgler les 4 paramtres qui la conditionnent. Son objectif est damliorer sa
vitesse de dplacement au fur et mesure des tentatives successives.
La premire partie dcrit les conditions exprimentales exactes. Elle prcise galement
linfluence que pourraient avoir ces conditions sur lexprience. La seconde partie analyse les
rsultats obtenus. Elle essaie de tirer les premires conclusions sur les capacits dadaptation
de lHexapode.
- 264 -
3.2. RSULTATS
Lexprience est donc ponctue par la succession des tentatives de lHexapode. Tout au long
de ces tentatives, plusieurs informations significatives sont enregistres. Tout dabord, les
signaux envoys et les nouvelles valeurs des paramtres sont enregistrs pour chaque
transition entre deux tentatives. Voici donc les courbes correspondantes ces informations :
Signal
1,2
1
0,8
0,6
0,4
0,2
0
1
7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58
- 265 -
7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58
Elle assure que les prochaines adaptations ne fassent pas diverger fondamentalement les
valeurs des paramtres dapprentissage.
Elle mesure la stabilit du comportement des blocs dapprentissage. Avec une valeur de 1,
les paramtres ne varient plus (tant que la fiabilit nest pas nouveau dcrue).
1,2
1
0,8
Vitesse
0,6
Force
Seuil
0,4
0,2
0
1
13 17 21 25 29 33 37 41 45 49 53 57
Step0
Step1
0,6
Signal
Seuil
0,4
0,2
0
1
9 13 17 21 25 29 33 37 41 45 49 53 57
Figure 68 : Evolution de la proportion de suivi des tapes par rapport aux oscillations
inutiles.
La courbe Step0 mesure le ratio entre les positions inclues dans les suites logiques des
positions (1 puis 2 puis 3 puis 4) et les autres positions intermdiaires qui reprsentent des
- 267 -
Chaque tentative diffre des prcdentes, ne serait-ce que par les conditions initiales qui
ne sont jamais identiques. Chaque nouvelle tentative prolonge en fait la prcdente et
hrite de sa situation finale. Ceci explique notamment de nombreuses oscillations qui
napparaissent quau moment de la transition entre deux tentatives.
Vitesse : plus elle est importante, plus le mouvement gnral est rapide. La valeur flirte
donc avec 1.
Force : plus elle est importante, plus vite les muscles atteignent leur vitesse de croisire.
Au cours de lexprience, la valeur 1 de ce paramtre provoque des sauts de la crature qui
ralentissent son mouvement. Ladaptation essaie donc datteindre la valeur la plus haute,
sans pour autant engendrer ces sauts brutaux. Une valeur trop basse entrane lchec de la
tentative, lHexapode tant alors incapable de soutenir son propre poids.
Enfin, il est important de noter lamplitude du signal dapprentissage. Celle-ci doit tre ajuste
pour valoir 1 lors dun mouvement optimal et moins sinon. Si lamplitude est surestime, le
signal vaut rapidement 1. Le systme converge trs vite vers des paramtres satisfaisants mais
sous optimaux. Si lamplitude est sous-estime, le signal natteint jamais 1, la fiabilit reste
- 268 -
4. Discussion
Lexprience a permis de montrer les capacits dadaptation de larchitecture. Elles permettent
en effet un certain nombre de paramtres inter dpendants de converger vers des valeurs
optimales, sans pour autant ralentir le processus dcisionnel dont elles font partie. Elles
savrent aussi parfaitement mallables et se plient aux contraintes imposes par les
concepteurs. Elles restent tout fait abordables et permettent partir de quelques instructions
dobtenir des rsultats satisfaisants. Lexprience utilise aussi un nombre important
dactuateurs, sans que cela naffecte le droulement en temps rel.
Lanimation dynamique en temps rel de morphologies plus ou moins complexes fait lobjet
de plus en plus dtudes, notamment dans le domaine des jeux vido. Motion Factory
[MotionFactory] ou encore AI Implant [AIImplant] sont deux outils permettant de paramtrer
de telles animations, diffrentes chelles. Les progrs constants des processeurs permettent
aujourdhui de supporter en temps rel des quantits colossales de calculs, telles que celles
requises par un moteur dynamique. Le problme du contrle de ces morphologies reste
complexe. Et mme si certains outils sont disponibles, ils se limitent souvent quelques cas
importants, sans pour autant permettre aux concepteurs de raliser toutes leurs envies. Il est
essentiel de fournir un outil aussi dtaill que dsir, ou aussi simple que souhait. Cette
architecture permet de crer des modles de contrle bass sur quelques paramtres rglables.
Les concepteurs peuvent alors les rutiliser tout en faisant varier les paramtres pour obtenir
des styles de mouvements diffrents. Mais ils peuvent aussi modifier le modle pour y
implanter leurs fonctionnalits spcifiques.
Les capacits dadaptation permettent de rgler un certain nombre des problmes rencontrs
lors de la conception de ces contrleurs. Certains des paramtres dpendent en fait de facteurs
difficiles dcouvrir. En spcifiant les effets dsirs, il devient alors possible aux concepteurs
de laisser larchitecture adapter les valeurs de ces paramtres. Le concepteur reste le guide du
processus, spcifiant uniquement ce qui est ncessaire (via les actuateurs surveillants) sans se
soucier des aspects techniques lis aux processus dadaptation.
Les capacits dadaptation se sont montres rsistantes aux conditions exprimentales
diffrentes qui caractrisaient les tentatives de lexprience. Dans les jeux vido, il est trs
- 269 -
Adaptation comportementale des opposants aux joueurs, dans les jeux daction, mais aussi
et surtout, dans les jeux de stratgie.
Adaptation comportementale des allis qui seront capables dagir seuls sans lintervention
du joueur, tout en respectant ses habitudes stratgiques ou tactiques.
VI - Exprience 3 : la navigation
Aprs avoir introduit les contraintes et les attentes des concepteurs de jeu vido, le premier
chapitre a expos la mthode de validation. Elle se dcompose en trois expriences qui
permettront de valider les trois niveaux de cognition [Bourgine93]. De plus, ces expriences
sattaquent des problmes rgulirement rencontrs dans le cadre du dveloppement de jeux
vido. Le second chapitre a pos les fondations de larchitecture, aprs une analyse des
solutions existantes. Le troisime chapitre a dcrit larchitecture, son formalisme, son
fonctionnement. Le quatrime chapitre a permis de valider le premier niveau de cognition : le
mcanisme de slection daction. Le cinquime chapitre a valid le second niveau cognitif :
ladaptation. Ce sixime chapitre se propose de valider le troisme niveau de cognition : la
modlisation, au travers dune exprience dexploration et de navigation. Enfin, le septime
chapitre concluera sur le travail effectu, et proposera de nouvelles directions de recherches
pour de futurs travaux.
VI.EXPRIENCE 3 : LA NAVIGATION
Les expriences prcdentes se sont cantonnes aux deux premiers niveaux cognitifs dcrits
par [Bourgine93]. Cette nouvelle exprience aborde le troisime et dernier niveau de
cognition. Elle traite plus particulirement des capacits de modlisation de larchitecture.
Plus que dafficher certaines capacits, elle exploite la possibilit de crer ses propres mtas
modles qui donneront naissance des modles. Modles dont la crature pourra se servir lors
de son raisonnement pour une planification dynamique de ses actions.
Lexprience consiste laisser une crature autonome explorer un environnement en 3D,
inconnu et complexe. Puis lui ordonner daller chercher un objet quelle a pu reprer lors de
sa visite. La crature devra alors tre capable de retourner lendroit o se trouvait lobjet.
Lexprience se dcompose donc en deux phases : lexploration puis lexploitation. Toute
lexprience devra se drouler en temps rel, dans un univers de jeu vido.
3.3.3 Elments de validation fixe un certain nombre de critres de validation que les
rsultats devront satisfaire. Parmi ceux-ci il faut retenir :
VI - Exprience 3 : la navigation
La premire partie dcrit lenvironnement dans lequel seffectue lexprience, soit Quake III
[QuakeIII99]. Elle expose les particularits de ce jeu, et les choix qui ont abouti la
conception de la crature. La seconde partie dcrit plus particulirement le modle dcisionnel
de la crature autonome, appele bot. Elle dtaille la partie comportementale, ainsi que la
partie qui concerne la modlisation. La troisime partie expose les conditions exprimentales
et analyse les rsultats obtenus. Enfin, la quatrime et dernire partie conclut et pousse
lanalyse encore plus loin.
VI - Exprience 3 : la navigation
1.1.1. Informations
Le bot serveur a accs toutes les informations concernant lensemble des entits qui
composent le niveau dans lequel il volue. Ces entits se classent en trois catgories :
Les objets : le bot peut connatre leur utilit, ainsi que la quantit quils reprsentent (vie
ou munitions), leur position, sils vont bientt rapparatre.
- 273 -
VI - Exprience 3 : la navigation
Les cratures : lensemble des cratures peuplant le niveau sont accessibles. Le bot peut
alors connatre leur tat de sant, leur armement, les munitions quelles possdent, et bien
entendu leur position, leur orientation, leur action.
Bien sr, lensemble de ces informations ne doit pas lui tre accessible. Sinon, le bot devient
une sorte de crature omnisciente dont le comportement est trs loin de celui dun joueur. Or,
les joueurs recherchent avant tout des opposants dignes de ce nom, et non des tricheurs.
Il devient alors essentiel de mettre au point un filtre perceptif. Ce filtre aura deux objectifs
principaux. Tout dabord, il devra liminer les objets que le bot ne peut percevoir, parce quils
sont invisibles ou cachs par des obstacles. Ensuite, il devra tre capable dindiquer si lobjet
est atteignable depuis sa position. Il y en fait une grande diffrence cognitive entre percevoir
un objet et pouvoir latteindre directement. Ce filtre peut tre ralis grce aux fonctionnalits
fournies par le jeu.
Laccessibilit a cependant demand la mise au point dun procd pour calculer la distance
de parcours ncessaire. Loutil utilis sert mesurer le temps de parcours entre deux points.
Cependant sa prcision parfois grossire a entran quelques surprises. Ainsi, tout au long de
cette exprience, lorsque la mention de distance sera faite, elle concernera le temps de
parcours et non la distance relle sparant les deux entits.
Distance : temps de parcours ncessaire pour rejoindre lentit. Cette fonction nest pas
directement inversible, le temps de A B diffre souvent de celui de B A.
1.1.2. Actions
Tout comme pour le bot client, le bot serveur dispose de toutes les commandes bas niveau lui
permettant deffectuer les actions primaires telles que :
Avancer
Reculer
Sauter
Se tourner
Tirer
Monter
Descendre
- 274 -
VI - Exprience 3 : la navigation
Cependant, il dispose galement de commandes de haut niveau lui permettant de se dplacer.
Grce la segmentation gomtrique des niveaux (cf. Quake III : la segmentation des niveaux,
page 275), le jeu est capable de retrouver le chemin parcourir pour rejoindre un point de
lespace. Ces fonctions de navigation permettent de se passer totalement dune analyse
gomtrique du niveau. Bien sr, elle est redondante avec le systme de modlisation utilis
pour cette exprience. Un compromis a donc t fait, les fonctions de navigation ne sont
utilises que pour accder des entits perues.
2. La crature virtuelle
Lors de la premire exprience, les cratures virtuelles ne mettaient en uvre quune seule
couche comportementale. La seconde exprience possdait trois couches distinctes, la
premire permettant le dplacement de lHexapode, la seconde le choix de la prochaine tape
du mouvement effectuer, et la troisime lapprentissage des paramtres du mouvement.
Cette dernire exprience met en place deux couches comportementales distinctes. La
premire permet la crature de choisir vers quelle entit se diriger. La seconde tient compte
de ses souvenirs et influent la premire en consquence. Elle permet ainsi au bot de planifier
dynamiquement sa route.
- 275 -
VI - Exprience 3 : la navigation
La premire partie dcrit donc la couche comportementale classique, qui permet la crature
de se mouvoir. La seconde dtaille la couche responsable de la cration et de lexploitation de
la modlisation.
Les objets : le bot les prend en passant dessus. Ils disparaissent alors pour rapparatre plus
tard, toujours la mme position.
Les cratures : autonomes ou diriges par un joueur, elles se dplacent et cherchent tuer
le bot. Ce sont aussi ses cibles.
La direction de lentit
Son armement : lapport en munitions et en armes pour les objets et les localisations,
larmement utilis pour les cratures.
Sa vie : lapport en vie pour les objets et les localisations, ltat de sant pour les
cratures.
La premire partie dcrit les actuateurs choisis pour la couche comportementale ractive. La
seconde partie dtaille les centres dintrt de cette mme couche, ainsi que les arbres de
calcul correspondants.
VI - Exprience 3 : la navigation
navigation lchelle suprieure est laisse lapprciation de la couche grant l
modlisation.
Cet actuateur prend une seule intensit : la direction de lentit. Cette intensit, mme si elle
est inutile pour laction en elle-mme, permet cependant de grer linfluence entre les ordres
reus. Lactuateur gre donc galement la base et le noyau.
Distance : mesure lloignement de la localisation. Les localisations les plus proches sont
favorises.
Visites : mesure lintrt de la localisation dun point de vue curiosit. Le bot mmorise le
nombre de visites quil a dj effectu pour chaque localisation. La valeur de Visites est
alors inversement proportionnelle au nombre de visite.
Visites
n
nmax
0,1
Distance
Direction
Inv
Exploration
&
Visites
Inv
- 277 -
Aller Vers
VI - Exprience 3 : la navigation
Figure 70 : Schma du centre d'intrt Exploration.
Le second centre dintrt, Vie, permet au bot de rcuprer la vie dissmine dans le niveau. Il
se concentre donc sur le niveau de perception li aux objets. Sa motivation est fixe 1 si
lordre daller chercher de la nourriture est donn, sinon elle vaut 0. Les arbres de calcul de ce
centre utilisent les senseurs suivants :
Distance
Direction
Vie
&
Vie
Aller Vers
Inv
VI - Exprience 3 : la navigation
2.2.1. La mmorisation
Le bot ne mmorise que les localisations. Les cratures sont trop mobiles pour que leur
mmorisation soit intressante. Leurs informations sont trop volatiles. Quant aux objets, ils
sont rsums par chaque localisation, il nest donc pas rellement ncessaire de les mmoriser.
Les souvenirs sont donc dun seul type : les localisations. Le bot ne ncessite donc quun seul
actuateur mmoriser : mmoriser localisation. La premire partie dcrit donc le
fonctionnement de la mmorisation de ces souvenirs localisations, ainsi que les informations
qui leur sont associes.
La seconde partie explique comment sont crs les liaisons entre les souvenirs localisations.
Un seul type de liaison est utilis. Il permet de symboliser un passage possible entre deux
localisations. Lactuateur lieur associ est intitul prcdente localisation. Tous les dtails
concernant les liaisons feront donc lobjet de cette seconde partie.
- 279 -
VI - Exprience 3 : la navigation
Localisatio
n Atteinte
Armement
Est Dans
La
Mmoriser
Localisation
Vie
&
Vie
&
Evaluer Localisation
Armement
Les liaisons
Lactuateur lieur permet de crer les liaisons entre les souvenirs localisations. Ces liaisons
servent transfrer les teneurs en vie et en armement lors de lexploitation. Or, pour quun
transfert de teneur entre le souvenir A et le souvenir B soit correct, il est ncessaire quil
existe un moyen daller de B vers A. Sinon, la teneur de A est inaccessible et ne doit donc pas
tre transmise. Une liaison entre A et B signifie donc A est accessible depuis B .
La cration de ces liaisons seffectue au fur et mesure des dplacements du bot. Lorsquune
nouvelle localisation est atteinte, il devient alors possible de crer une liaison entre cette
localisation et la prcdente. En effet, lexprience dmontre que la nouvelle localisation est
accessible depuis la prcdente. Un senseur spcial permet donc de savoir si un souvenir
localisation est ou non la localisation prcdente. Il sagit du senseur : Est La Localisation
Prcdente.
Lactuateur lieur responsable de la cration de ces liaisons sintitule Localisation Prcdente.
Il est utilis automatiquement par les souvenirs prsents dans la strate. Son opportunit permet
de slection le souvenir qui sera li au nouveau souvenir cr. Cet actuateur nest pas
symtrique, le sens des liaisons a de limportance.
- 280 -
VI - Exprience 3 : la navigation
Est La
Localisatio
n
Localisation
Prcdente
Localisation
2.2.2. Lexploitation
Pour cette exprience, lexploitation consiste pour le bot se diriger vers de la vie une fois
lordre reu. Pour ce faire, il doit utiliser ses souvenirs du niveau pour savoir o se diriger et
tablir dynamiquement un plan de route. Lexploitation fonctionne selon le principe de
transfert des teneurs en armement et en vie au travers des liaisons cres. Ce transfert nest ni
plus ni moins quune action engendre par lactuateur liaison et demande par un souvenir.
Lopportunit de cette action est dtermine par un transfert non nul. Les transferts tant
additifs, un transfert nul est en effet inutile. Les intensits correspondent aux teneurs du
souvenir qui est lorigine du transfert. Les arbres de calcul tiennent galement compte de la
distance qui spare les deux localisations et rduise les teneurs proportionnellement.
VI - Exprience 3 : la navigation
3. Navigation
Lexprience se divise en deux tapes distinctes. Dans un premier temps, le bot est libre
dexplorer le niveau comme il le dsire. Il mmorise au fur et mesure les localisations
rencontres et les liaisons correspondantes. Puis lutilisateur peut dcider de lui donner lordre
daller chercher de la vie. Le bot doit alors exploiter les informations contenues dans sa
modlisation pour retrouver le plus de vie possible.
La premire partie dtaille lensemble des conditions exprimentales. Elle expose la part de
hasard qui rend lexprience diffrente chaque fois. Elle expose aussi un plan du niveau de
rfrence. La seconde partie dcrit et analyse les rsultats obtenus.
apparat
dans
une
localisation
alatoire,
parmi
certaines
positions
prslectionnes. Une simple commande la console permet de faire apparatre, dans lune
des positions de dpart, en gnral loin de lutilisateur. Ces positions sont marques sur la
carte simplifie du niveau par une croix. La vie des personnages commence alors 125 puis
dcrot jusqu atteindre 100 au rythme de 1 point par seconde.
- 282 -
VI - Exprience 3 : la navigation
Position de dpart
possible
3.2. RSULTATS
Lintgration de la couche de modlisation ninterfre en rien avec la couche ractive. Le bot
affiche un comportement dexploration presque parfait. Il mmorise au fur et mesure les
diffrentes localisations visites ainsi que leurs teneurs en armement et en vie. Un premier
bmol concerne une tendance loscillation comportementale. Cette oscillation nintervient
quen certains points trs prcis du niveau et sexplique ainsi :
Lactuateur qui dirige le bot loriente alors dans une direction quil juge opportune pour
rejoindre la destination, seulement ce petit mouvement peut aussi le rapprocher dune
autre localisation en lloignant de sa premire destination. Cette nouvelle localisation
devient alors la nouvelle destination. Malheureusement pour la rejoindre il effectue un
mouvement qui le rapproche nouveau de son ancienne destination et ainsi de suite.
Malheureusement, le bot na aucun contrle sur le chemin quil va utiliser, il spcifie juste
sa destination. Il est donc incapable de rgler ce problme de lui-mme.
- 283 -
VI - Exprience 3 : la navigation
Chemin idal
Chemin planifi
Localisation A
Localisation B
156
177
160
173
161
Localisation
159
162
mmorise
Position des
163
objets de vie
171
167
Liaison entre
deux
168
localisations
76
166
Localisation
Teneur en Armement
- 284 -
Teneur en Vie
VI - Exprience 3 : la navigation
177
0,05
0,1
173
156
0,05
0,55
165
0,6
0,15
168
171
0,125
166
76
0,05
0,05
167
0,65
0,1
163
0,65
0,4
162
0,6
0,35
159
0,3
160
0,6
0,1
161
0,6
0,35
Figure 79 : Tableau des teneurs en armement et en vie mmorises pour les diffrentes
localisations.
Le niveau ne comporte que 8 sources de vie et pourtant 11 des 14 localisations possdent une
teneur en Vie non nulle. En fait, certaines des sources de vie se trouvent places entre
plusieurs localisations. Toutes ces localisations avoisinantes hritent donc dun peu de vie,
selon la distance qui les spare de la source. Ainsi, 177 hrite dune faible teneur en vie, due
la prsence en 156 dune source importante.
Le nombre de localisations maximal que le bot peut mmoris est de 16, ce qui suffit donc
toutes les mmoriser. Lexprience a donc t relance avec cette fois, seulement 10
emplacements mmoire. Il est tout dabord intressant de remarquer que le bot gre lui-mme
llimination des localisations quil trouve les moins intressantes. Il retient alors les 10
localisations suivantes :
- 285 -
VI - Exprience 3 : la navigation
Localisation
Teneur en Armement
Teneur en Vie
168
171
0,125
166
76
0,05
0,05
167
0,65
0,1
163
0,65
0,4
162
0,6
0,35
159
0,3
160
0,6
0,1
161
0,6
0,35
La fiabilit du souvenir : les souvenirs sont relativement fiables. Pour devenir moins fiable
il faut que le bot remarque un changement de teneur, ce qui survient uniquement lors de la
prise dun objet. Ce cas se prsente notamment pour la localisation 156. En la visitant, le
bot prend peu aprs la source de vie, sans le vouloir. Les autres sources de vie ne se
trouvent pas sur sa trajectoire, les fiabilits des teneurs associes sont donc stables et
leves.
Le nombre de visites effectues : les localisations les moins visites sont la 165, la 156, la
177 et la 173.
- 286 -
VI - Exprience 3 : la navigation
Les trois facteurs dsignent donc les localisations qui ont t oublies. Le mcanisme de
gestion de lespace mmoire fonctionne donc sans problme. Il est dommage de perdre la
localisation 156, qui possde la plus haute teneur en vie. Il suffit pour ce faire dajouter une
opportunit lactuateur mmoriser. Cette opportunit, qui pourrait tre la moyenne des deux
teneurs, pondrerait les facteurs doubli en faveur de la localisation 156.
Une fois lordre de trouver de la vie donn, le bot converge vers lendroit du niveau qui
contient le plus de nourriture. Lensemble des transferts des teneurs forme alors un gradient,
que le bot na qu suivre pour trouver la vie. Le principe du chargement des localisations
perues permet au bot de choisir, parmi celles quil peroit, celle qui va le conduire aux
sources de vie les plus importantes et les plus proches. Ce choix est effectu naturellement par
la couche comportementale ractive. Voici la trajectoire effectue par le bot, alors quil se
trouvait en 76 lorsque lordre a t donn :
Positions du bot
Position des objets
de vie
Trajectoire du bot
- 287 -
VI - Exprience 3 : la navigation
162
162
163
171
167
168
166
76
76
162
163
171
167
168
166
163
171
167
168
166
76
Source de vie
171
167
168
162
163
Localisation
76
Localisation perue
Localisation influente
166
Transferts
courante
- 288 -
VI - Exprience 3 : la navigation
satisfaisants. Les contraintes de temps rel sont alors obligatoirement respectes,
lefficacit du processus doit alors tre juge sur la qualit des rsultats.
Ces transferts simulent tous les chemins mmoriss possibles. Ce parcours de graphe est donc
trs coteux. Les optimisations mises en place permettent tout dabord de raliser une bonne
partie des transferts en temps rel.
Elles
permettent
galement
de progresser
4. Discussion
La modlisation est un problme complexe, plusieurs visages. Il sagit la fois
demmagasiner des informations, de les connecter smantiquement entre elles et de pouvoir
exploiter lensemble. Les modles ainsi crs par la crature servent de nombreuses facults
cognitives utiles dans le cadre de jeux vido :
Le processus de modlisation sert donc de nombreuses occasions, dans des contextes trs
diffrents. Heureusement de nombreux aspects restent identiques :
Il est donc important de laisser le concepteur libre de faonner les modles crs par la
crature. Ce faonnage passe par la cration de mta modles : des modles qui permettent de
construire dautre modles. Ce processus de conception doit lui permettre daller droit
lessentiel, sans avoir se soucier des dessous techniques. Il doit faire appel aux mmes types
de mtaphores que celles utilises pour le reste du modle. La conception de mta modles
doit sintgrer parfaitement avec la conception du reste du modle dcisionnel. La crature
doit donc pouvoir grer la modlisation comme le reste de ses comportements. Elle est alors
- 289 -
VI - Exprience 3 : la navigation
capable de raisonner sur ses facults de modlisation. Son raisonnement reste totalement
rflexif.
La modlisation permet la crature de manipuler des quantits de donnes importantes.
Cette manipulation engendre cependant des dpenses en ressources importantes, voir
critiques. Il est donc essentiel de prvoir et prvenir ce problme. Pour la mmoire, le
concepteur configure le nombre des emplacements mmoire que peut utiliser la crature. Il
configure galement de manire simple les critres de slection des souvenirs persistants. La
crature est alors capable de grer elle-mme ses ressources mmoire, en fonction de son tat,
de son environnement. Les ressources de temps machine doivent elles aussi tre mnages. Le
fonctionnement en temps rel doit toujours rester possible, mme pour de nombreuses
cratures. Ce principe est garanti par trois rflexions importantes :
Le processus dutilisation est souvent continu, il nest donc pas ncessaire de le remettre
jour entirement, quelques mises jour sont la plupart du temps suffisantes.
Le concepteur et le jeu restent donc les seuls matres bord. Larchitecture se plie leurs
contraintes au mieux, sans pour autant compliquer la conception des modles dcisionnels.
Le problme de la navigation est un problme central pour lunivers des jeux vido. Dans la
plupart des jeux, des cratures doivent se dplacer de manire automatique et si possible
intelligemment. La navigation est donc un problme rcurrent. Cette exprience aborde ce
problme dune manire locale. Chaque crature construit sa propre carte personnalise. Dans
la plupart des jeux, la stratgie employe est globale, toutes les cratures partagent une mme
carte gnraliste. Le petit tableau qui suit permet de synthtiser les avantages et inconvnients
des deux stratgies :
Navigation locale
- 290 -
Navigation globale
VI - Exprience 3 : la navigation
Avantages
information duplique
Rsultats
parfaits,
puisque
stratgie
utilise
toutes
Gestion
Inconvnients
efficace
de
lespace
la
les
informations du jeu
mmoire personnel
Espace mmoire gaspill par la
Rsultats
imparfaits,
mais
plus
Action : la modlisation permet aux cratures de naviguer dans les niveaux. Elle leur
permet galement de construire un modle comportemental de leurs adversaires, leurs
endroits favoris, leurs tactiques de combat. Elles peuvent ainsi anticiper les ractions des
joueurs.
VI - Exprience 3 : la navigation
Aventure : les cratures peuvent construire et adapter un modle social qui leur permette
de comprendre et dapprhender les ractions des autres cratures (joueurs y compris).
Elles peuvent mmoriser des vnements et sen servir pour gnrer des motions telles
que la peur, ou limpatience, la gloire ou la honte, lamiti ou la haine.
- 292 -
- 294 -
- 296 -
VIII - Bibliographie
VIII.BIBLIOGRAPHIE
[Agogino99] Online Interactive Neuro-Evolution , par Adrian Agogino, Kenneth Stanley,
et Risto Miikkulainen, dans Neural Processing Letters, vol. 11, pages 29-37, 1999
[Amit96]
Amits
Thoughts
on
Path
Finding ,
par
P.
Amit,
dans
http://theory.stanford.edu/~amitp/GameProgramming/, 1996
[Auslander94] Towards Practical Automated Motion Synthesis , par J. Auslander, A.
Fukunaga, H. Partovi, J. Christensen, L. Hsu, P. Reiss, A. Shuman, J. Marks, et J. T. Ngo,
dans ACM Transactions on Graphics, 1995
[Badler93] Real-Time Control of a Virtual Human Using Minimal Sensors , par Norman I.
Badler, Michael J. Hollick, et John P. Granieri, dans Presence, vol. 2, no. 1, pages 82-86,
1993
[Badler99] Virtual Human Animation Based on Movement Observation and Cognitive
Behavior Models , par Norman I. Badler, Diane Chi, et Sonu Chopra, dans Proceedings of
the Computer Animation, pages 128-137, 1999
[Badler99] Real Time Virtual Humans , par Norman I. Badler, Rama Bindiganavale, Juliet
Bourne, Jan Allbeck, Jianping Shi, et Martha Palmer, dans Proceedings of 5th Pacific
Conference on Computer Graphics and Applications, pages 4-13, 1999
[Balkenius93] Motivation and Attention in an Autonomous Agent , par Christian
Balkenius, lors de Workshop on Architectures Underlying Motivation and Emotion, 1993
[Balkenius99] Attention as Selection for Action: a Scheme for Active Perception , par
Christian Balkenius, et Nils Hulth, dans Proceedings of EUROBOT, pages 113-120, 1999
[Balkenius00] Attention, Habituation and Conditioning: Toward a Computational Model ,
par Christian Balkenius, dans Cognitive Science, pages 171-204, 2000
- 297 -
VIII - Bibliographie
[Baraff91] Coping with Friction for Non-Penetrating Rigid Body Simulation , par David
Baraff, dans Computer Graphics, vol. 25, no. 4, pages 31-40, 1991
[Baraff92] Dynamic Simulation of Non-Penetrating Flexible Bodies , par David Baraff, et
Andrew Witkin, dans Proceedings of SIGGRAPH '92, pages 303-308, 1992
[Baraff94] Fast Contact Force Computation for Nonpenetrating Rigid Bodies , par David
Baraff, dans Proceedings of Computer Graphics94, pages 23-34, 1994
[Baraff95] An Introduction to Physically Based Modeling: Rigid Body Simulation I:
Unconstrained Rigid Body Dynamics , par David Baraff, dans Course Notes of
SIGGRAPH95, 1995
[Baraff95] An Introduction to Physically Based Modeling: Rigid Body Simulation II:
Nonpenetration Constraints , par David Baraff, dans Course Notes of SIGGRAPH95, 1995
[Baraff96] Linear-Time Dynamics using Lagrange Multipliers , par David Baraff, dans
Proceedings of Computer Graphics, pages 137-146, 1996
[Bates92] Integrating Reactivity, Goals, and Emotion in a Broad Agent , par Joseph Bates,
A. Bryan Loyall, et W. Scott Reilly, dans the Proceedings of the Fourteenth Annual
Conference of the Cognitive Science Society, pages 696-701, 1992
[Bcheiraz98] A Behavioral Animation System for Autonomous Actors Personified by
Emotions , par Pascal Bcheiraz, et Daniel Thalmann, dans Proceedings of First Workshop
on Embodied Conversational Characters, pages 57-65, 1998
[Bedau92] Philosophical Aspects of Artificial Life , par Mark A. Bedau, dans Towards A
Practice of Autonomous Systems, pages 494-503, 1992
[Bedau94] The Evolution of Sensorimotor Functionality , par Mark A. Bedau, dans From
Perception to Action, pages 134-145, 1994
- 298 -
VIII - Bibliographie
[Beer96] Toward the Evolution of Dynamical Neural Networks for Minimally Cognitive
Behavior , par Randall D. Beer, dans Proceedings of the Fourth International Conference on
Simulation of Adaptive Behavior, pages 421-429, 1996
[Beer00] Dynamical Approaches to Cognitive Science , par Randall D. Beer, dans Trends
in Cognitive Sciences, vol. 4, n 3, pages 91-99, 2000
[Bergeret97] Simulated Annealing, Weighted Simulated Annealing and genetic algorithm at
work , par F. Bergeret, et P. Bresse, dans Computational Statistics, vol. 12, pages 447-465,
1997
[Bessire99] Interprtation ou Description : Proposition pour une Thorie Probabiliste des
Systmes Cognitifs Sensori-moteurs , par Pierre Bessire, Eric Dedieu, Olivier Lebeltel,
Emmanuel Mazer, et Kamel Mekhnacha, dans Intellectica, pages 257-311, 1999
[Blumberg94] Action-Selection in Hamsterdam : Lessons from Ethology , par Bruce M.
Blumberg, dans Third International Conference on the Simulation of Adaptive Behavior,
pages 108-117, 1994
[Blumberg95] Multi-Level Direction of Autonomous Creatures for Real-Time Virtual
Environments , par Bruce M. Blumberg, et Tinsley A. Galyean, dans Proceedings of
SIGGRAPH95, pages 47-54, 1995
[Blumberg95] Multi-level Control for Animated Autonomous Agents: Do the Right
Thing Oh, Not That , par Bruce M. Blumberg, et Tinsley A. Galyean, dans Creating
Personalities for Synthetic Actors, Lecture Notes in Computer Science, vol. 1195, pages 7482, 1995
[Blumberg96] No Bad Dogs : Ethological Lessons for Learning in Hamsterdam , par Bruce
M. Blumberg, Peter M. Todd, et Pattie Maes, dans Proceedings of the Fourth International
Conference on the Simulation of Adaptive Behavior, pages 295-304, 1996
- 299 -
VIII - Bibliographie
[Blumberg97] Autonomous Animated Interactive Characters: Do We Need Them? , par
Bruce Blumberg, dans Proceedings of Computer Graphics International, pages 29-37, 1997
[Boole47] The Mathematical Analysis of Logic , par Georges Boole, 1847
[Boulic97] Integration of Motion Control Techniques for Virtual Human and Avatar RealTime Animation , par Ronan Boulic, Pascal Bcheiraz, Luc Emering, et Daniel Thalmann,
dans Proceedings of the ACM International Symposium VRST97, pages 111-118, 1997
[Bourgine93] Models of Co-evolution in a Society of autoteaching agents: from the Society
of Hedonic Mimetic Agents to the Society of Eductive Specular Agents , par Paul Bourgine,
dans Entretien Jacques Cartier, 1993
[Brogan98] Dynamically Simulated Characters in Virtual Environments , par David C.
Brogan, Ronald A. Metoyer, et Jessica K. Hodgins, dans IEEE Computer Graphics and
Applications, vol. 18, no. 5, pages 58-69, 1998
[Brooks89] A Robot that Walks; Emergent Behaviors from a Carefully Evolved Network ,
par Rodney A. Brooks, dans MIT Lab Memo 1091, 1989
[Brooks91] Intelligence without Representation , par Rodney A. Brooks, dans Artificial
Intelligence Journal, vol. 47, pages 139-159, 1991
[Brooks98] Alternative Essences of Intelligence , par Rodney A. Brooks, Cynthia Breazeal
(Ferrell), Robert Irie, Charles C. Kemp, Matthew Marjanovic, Brian Scassellati, et Matthew
M. Williamson, dans AAAI-98, pages 961-967, 1998
[Burke01] Creature Smarts : the Art and Architecture of a Virtual Brain , par Robert Burke,
Damian Isla, Marc Downie, Yuri Ivanov, et Bruce Blumberg, dans Proceedings of Game
Developers Conference (online), 2001
[Cariani98] Epistemic Autonomy through Adaptive Sensing , par Peter Cariani, dans
Proceedings of the 1998 IEEE ISIC/CRA/ISAS Joint Conference, pages 718-723, 1998
- 300 -
VIII - Bibliographie
VIII - Bibliographie
[Finin94] KQML as an Agent Communication Language , par Tim Finin, Yannis Labrou,
et James Mayfield, dans The Proceedings of the Third International Conference on
Information and Knowledge Management, pages 456-463, 1994
[Funge99] Cognitive Modeling: Knowledge, Reasoning and Planning for Intelligent
Characters , par John Funge, Xiaoyuan Tu, et Demetri Terzopoulos, dans Proceedings of
SIGGRAPH99, pages 29-38, 1999
[Gers00] Learning to Forget: Continual Prediction with LSTM , par Felix A. Gers, Jrgen
Schmidhuber, et Fred Cummins, dans Neural Computation, vol. 12, no. 10, pages 2451-2471,
2000
[Goetz97] The Dynamics of Recurrent Behavior Networks , par Philip Goetz, et Deborah
Walters, dans Adaptive Behavior, vol. 6, no. 2, pages 247-283, 1997
[Goetz97] Attractors in Recurrent Behavior Networks , par Philip S. Goetz, dans PhD
Thesis, 1997
[Goldberg93] Genetic Algorithms and Machine Learning , par David E. Goldbger et John
H. Holland, dans Proceedings of the sixth annual conference on Computational learning
theory, pages 3-4, 1993
[Gottschalk96] OBBTree: a Hierarchical Structure for Rapid Interference Detection , par S.
Gottschalk, M. C. Lin, et D. Manocha, dans Proceedings of SIGGRAPH'96, pages 171-180,
1996
[Grzeszczuk94] Automated Learning of Muscle Based Locomotion Through Control
Abstraction , par Radek Grzeszczuk, dans PhD Thesis, University of Toronto, 1994
[Grzeszczuk95] Automated Learning of Muscle-Actuated Locomotion Through Control
Abstraction , par Radek Grzeszczuk, et Demetri Terzopoulos, dans Proceedings of
SIGGRAPH95, pages 63-70, 1995
- 302 -
VIII - Bibliographie
[Guillot00] From SAB94 to SAB2000: Whats New, Animat? , par Agns Guillot, et Jean
A. Meyer, dans From Animals to Animats 6: Proceedings of the Fifth Conference on
Simulation of Adaptive Behavior, pages 3-12, 2000
[Guy99] A Modular Framework for Artificial Intelligence Based on Stimulus Response
Directives , par Charles Guy, dans Gamasutra (online), 1999
[HarPeled99] Constructing Approximate Shortest Path Maps in Three Dimensions , par
Sariel Har-Peled, dans Society for Industrial and Applied Mathematics Journal on
Computing, vol. 28, no. 4, pages 1182-1197, 1999
[Hecker97] Physics the Next Frontier , par Chris Hecker, dans Game Developers
Magazine, from October 96 to June 97
[Hochreiter97] Long Short-term Memory , par Sepp Hochreiter, et Jrgen Schmidhuber,
dans Neural Computation, vol. 9, no. 8, pages 1735-1780, 1997
[Hodgins97] Adapting Simulated Behaviors for New Characters , par Jessica K. Hodgins,
et Nancy S. Pollard, dans Proceedings of SIGGRAPH97, pages 153-162, 1997
[Hodgins98] Animating Human Athletes , par Jessica K. Hodgins, et Wayne L. Wooten,
dans Robotics Research: The Eighth International Symposium, pages 356-367, 1998
[Holland85] Properties of the Bucket Brigade , par John H. Holland, dans Proceedings of
an International Conference on Genetic Algorithms, pages 1-7, 1985
[Honkela00] Self-Organizing Maps and Constructive Learning , par Timo Honkela, Teemu
Leinonen, Kirsti Lonka, et Antti Raike, dans Proceedings of ICEUT'2000, pages 339-343,
2000
[Jakobsen01] Advanced Character Physics , par Thomas Jakobsen, dans Gamasutra
(online), 2001
- 303 -
VIII - Bibliographie
VIII - Bibliographie
[Loyall97] Personality-Rich Believable Agents That Use Language , par A. Bryan Loyall,
et Joseph Bates, dans Proceedings of the first international conference on Autonomous
agents, pages 106-113, 1997
[Maes90] Learning to Coordinate Behaviors , par Pattie Maes, et Rodney A. Brooks, dans
AAAI August 1990: The American Conference on Artificial Intelligence, pages 796-802, 1990
[Maes94] Modeling Adaptive Autonomous Agents , par Pattie Maes, dans Artificial Life
Journal, vol. 1, no. 1 & 2, pages 135-162, 1994
[Mataric98] Behavior-Based Primitives for Articulated Control , par Maja J. Mataric,
Matthew M. Williamson, John Demiris, et Aswath Mohan, dans Proceedings of Simulation of
Adaptive Behavior, SAB98, pages 165-170, 1998
[Mataric98] Movement Control Methods for Complex, Dynamically Simulated Agents :
Adonis Dances the Macarena , par Maja J. Mataric, Victor B. Zordan, et Zachary Mason,
dans Proceedings of Autonomous Agents 98, pages 317-324, 1998
[Mataric99] Making Complex Articulated Agents Dance , par Maja J. Mataric, Victor B.
Zordan, et Matthew M. Williamson, dans Autonomous Agents and Multi-Agent Systems,
vol.2, no. 1, pages 23-43, 1999
[Mateas99] Not your Grandmothers Game: AI-Based Art and Entertainment , par Michael
Mateas, dans AI and Computer Games AAAI symposium, pages 64-69, 1999
[Mateas00] Towards Integrating Plot and Character for Interactive Drama , par Michael
Mateas and Andrew Stern, dans AAAI symposium on Socially Intelligent Agents:
The Human in the Loop, pages 113-118, 2000
[Mateas01] Towards Building a Fully Realized Interactive Drama , par Michael Mateas, et
Andrew Stern, lors de Digital Arts and Culture conference, 2001
- 305 -
VIII - Bibliographie
[Matthews99] Does the Top Down Approach or the Bottom Up Approach Best Model the
Human Brain , par J. Matthews, dans Generation5 online magazine, 1999
[McFarland97] Basic Cycles, Utility and Opportunism in Self-Sufficient Robots , par
David McFarland, et Emmet Spier, dans Robotics and Autonomous Systems, vol. 20, pages
179-190, 1997
[McLaughlin99] A Compendium of Common Probability Distributions , par Michael P.
McLaughlin, dans Appendix A of Regress+ 2.3, 1999
[Meyer90] The Animat Approach: Simulation of Adaptive Behavior in Animals and
Robots , par Jean-Arcady Meyer, dans Actes de la confrence Neurosciences Pour
l'Ingnieur, pages 1-21, 1990
[Minsky63] Steps Toward Artificial Intelligence , par Marvin L. Minsky, dans Proceedings
of the Institute of Radio Engineers, vol. 49, pages 8-30, 1961
[Mirtich98] Rigid Body Contact: Collision Detection to Force Computation , par Brian
Mirtich, dans Technical Report, TR-98-01, Mitsubishi Electrical Research Laboratory, 1998
[Mirtich98] V-Clip: Fast and Robust Polyhedral Collision Detection , par Brian Mirtich,
dans ACM Trans. on Graphics, vol. 17, no. 3, pages 177-208, 1998
[Moore95] Memory-based Learning for Control , par Andrew W. Moore, Chrstopher
Atkeson, et Stefan Schaal, dans Technical Report CMU-RI-TR-95-18, Robotics Institute,
Carnegie Mellon University, 1995
[Morn00] Reflections on Emotion , par Jan Morn, et Christian Balkenius, lors de
EMCSR, 2000
[Moriarty98] Hierarchical Evolution of Neural Networks , par David E. Moriarty and Risto
Miikkulainen, dans Proceedings of the 1998 IEEE Conference on Evolutionary Computation,
pages 428-433, 1998
- 306 -
VIII - Bibliographie
Animation ,
par
Victor
Ng-Thow-Hing,
dans
http://www.dgp.toronto.edu/people/victorng/research.html, 1995
[Noser99] Sensor Based Synthetic Actors in a Tennis Game Simulation , par Hansrudi
Noser, et Daniel Thalmann, dans The Visual Computer, vol. 14, no. 4, pages 193-205, 1999
[Observatoire91] Les Rseaux de Neurones , par lObservatoire Franais des Techniques
Avances, Masson (eds), 1991
[Occello94] Building Real Time Agents using Parallel Blackboards and its use for Mobile
Robotics , par Michel Occello, et Yves Demazeau, dans Proceedings of IEEE International
Conference on System Man and Cybernetics, 1994
[Perlin00] Creating Emotive Responsive Characters Within Virtual Worlds , par Ken
Perlin, dans Virtual Worlds 2000, pages 99-106, 2000
[Polani00] Eugenic Neuro-evolution for Reinforcement Learning , par Daniel Polani and
Risto Miikkulainen, dans Proceedings of the Genetic and Evolutionary Computation
Conference, pages 1041-1046, 2000
[Popovic99] Physically-based Motion Transformation , par Zoran Popovic, et Andrew
Witkin, dans Proceedings of SIGGRAPH'99, pages 11-20, 1999
[Pottinger00] Game AI : The State of the Industry : Part 2 , par David C. Pottinger, et John
- 307 -
VIII - Bibliographie
E. Laird, dans Gamasutra (online), 2000
[Reilly92] Building Emotional Agents , par W. Scott Reilly, et Joseph Bates, dans
Technical Report CMU-CS-92-143, School of Computer Science, Carnegie Mellon University,
1992
[Resnick93] Behavior Construction Kits , par Mitchel Resnick, dans Communications of
the ACM, vol. 36, no. 7, pages 64-71, 1993
[Reynolds94] Evolution of Corridor Following Behavior in a Noisy World , by Craig W.
Reynolds, dans Proceedings of the 3rd International Conference on Simulation of Adaptive
Behavior, pages 402-410, 1994
[Reynolds99] Steering Behaviors for Autonomous Character , par Craig W. Reynolds, dans
Game Developers Conference (online), 1999
[Rhodes95] The Stage as a Character : Automatic Creation of Acts of God for Dramatic
Effect , par Bradley Rhodes, Pattie Maes, dans AAAI-95 spring symposium on Plot and
Character in Interactive Story Systems, 1995
[Scassellati98] Imitation and Mechanisms of Joint Attention : a Developmental Structure for
Building Social Skills on a Humanoid Robot , par Brian Scassellati, dans Lecture Notes in
Artificial Intelligence, vol. 1562, pages 176-195, 1998
[Schmidhuber89] A Local Learning Algorithm foe Dynamic Feedforward and Recurrent
Networks , par Jrgen Schmidhuber, dans Connexion Science, vol. 1, n 4, pages 403-412,
1989
[Schmidhuber89] The Neural Bucket Brigade , par Jrgen Schmidhuber, dans
Connectionism in Perspective, pages 439-446, 1989
[Schmidhuber90] Making the World Differentiable : on Using Self-supervised Fully
Recurrent Neural Networks for Dynamic Reinforcement Learning and Planning in Non- 308 -
VIII - Bibliographie
stationary Environments , par Jrgen Schmidhuber, dans FKI-Report-126-90, dansstitut fr
Informatik, Technische Universitt Mnchen, 1990
[Schmidhuber90] Learning Algorithms for Networks with Internal and External
Feedback , par Jrgen Schmidhuber, dans Proceedings of the 1990 Connectionist Models
Summer School, pages 52-61, 1990
[Schmidhuber91] A Possibility for Implementing Curiosity and Boredom in Model-building
Neural Conrtolers , par Jrgen Schmidhuber, dans Proceedings of International Conference
on Simulation of Adaptive Behavior, pages 222-227, 1991
[Schmidhuber96] Simple Principles of Metalearning , par Jrgen Schmidhuber, Jieyu
Zhao, et Marco Wiering, dans Technical Report IDSIA-69-96, 1996
[Sims94] Evolving 3D Morphology and Behavior by Competition , par Karl Sims, dans
Proceedings of Artificial Life IV, pages 28-39, 1994
[Slocum00] Further Experiments in the Evolution of Minimally Cognitive Beavior : from
Perceiving Affordances to Selective Attention , par Andrew C. Slocum, Douglas C. Downey,
et Randall D. Beer, dans Proceedings of Sixth International Conference on Simulation of
Adaptive Behavior, pages 430-439, 2000
[Stentz95] Focussed D* Algorithm for Real-Time Replanning , par Anthony Stentz, dans
Proceedings of International Joint Conference on Artificial Intelligence, pages 1652-1659,
1995
[Stern98] Interactive Fiction : the Story is Just Beginning , par Andrew Stern, dans IEEE
Intelligent Systems, vol. 13, n 6, pages 15-19, 1998
[Stern99] AI Beyond Computer Games , par Andrew Stern, dans AI and Computer Games
AAAI symposium, pages 77-80, 1999
[Tang95] N-Body Spacetime Constraints , par Diane Tang, et J. Thomas Ngo, dans
- 309 -
VIII - Bibliographie
Journal of Visualization and Computer Animation, vol. 6, pages 143-154, 1995
[Terzopoulos94] Artificial Fishes : Autonomous Locomotion, Perception, Behavior, and
Learning in a Simulated Physical World , par Demetri Terzopoulos, Xiaoyuan Tu, Radek
Grzeszczuk, dans Journal of Artificial Life, vol. 1, no. 4, pages 17-27, 1994
[Touretzky94] Neural Representation of Space in Rats and Robots , par David S.
Touretzky, Hank S. Wan, et A. David Redish, dans Proceedings of the IEEE World Congress
on Computational Intelligence, pages 57-68, 1994
[Tu94] Artificial Fishes : Physics, Locomotion, Perception, Behavior , par Xiaoyuan Tu, et
Demetri Terzopoulos, dans ACM Computer Graphics Proceedings, pages 43-50, 1994
[Turing53] Chess , par Alan Turing, dans le chapitre Digital Computers Applied to Games
de Faster than Thought, pages 286-295, B. V. Bowden (eds), 1953
[Tyrell93] Computational Mechanisms for Action Selection , par Toby Tyrell, dans PhD
Thesis, University of Edinburgh, 1993
[VanDePanne92] Control Techniques for Physically-Based Animation , par Michiel Van
de Panne, dans PhD Thesis, 1994
[VanDePanne94] Synthesizing Parameterized Motions , par Michiel van de Panne, Ryan
Kim, et Eugene Fiume, dans 5th Eurographics Workshop on Simulation and Animation, pages
1-14, 1994
[VanDePanne95] Guided Optimization for Balanced Locomotion , par Michiel van de
Panne, et Alexis Lamouret, dans 6th Eurographics Worshop on Animation and Simulation,
pages 165-177, 1995
[VanDePanne97] Making Them Move : Motor Control for Animated Humans and
Animals , par Michiel Van De Panne, dans European Control Conference, pages 191-210,
1997
- 310 -
VIII - Bibliographie
[VanDePanne98] Control for Simulated Human and Animal Motion , par Michiel van de
Panne, dans Proceedings of IFAC Workshop on Motion Control, pages 189-199, 1998
[Ventrella94] Disney Meets Darwin : An Evolution-Based Interface for Exploration and
Design of Expressive Animated Behavior , par Jeffrey Ventrella, dans PhD Thesis, MIT Lab,
1994
[Wilson99] Artificial Emotion : Simulating Mood and Personality , par Ian Wilson, dans
Gamasutra (online), 1999
[Witkin88] Spacetime Constraints , par Andrew Witkin, et Michael Kass, dans
Proceedings of the 15th annual conference on Computer graphics and interactive techniques,
pages 159-168, 1988
[Witkin90] Interactive Dynamics , par Andrew Witkin, Michael Gleicher, et William
Welch, dans Computer Graphics, vol. 24, no. 2, pages 11-21, 1990
[Witkin95] An Introduction to Physically Based Modeling : Particle System Dynamics , par
Andrew Witkin, dans Course Notes of SIGGRAPH95, 1995
[Witkin95] An Introduction to Physically Based Modeling : Differential Equation Basics ,
par Andrew Witkin, et David Baraff, dans Course Notes of SIGGRAPH95, 1995
[Woodcock98] Game AI : The State of the Industry , par Steve Woodcock, dans Game
Developer Magazine October (online), 1998
[Woodcock00] Game AI : The State of the Industry , par Steve Woodcock, dans
Gamasutra 1st November (online), 2000
[Wright00] More AI in Less Processor Time : Egocentric AI , par Ian Wright and James
Marshall, dans Gamasutra (online), 2000
- 311 -
VIII - Bibliographie
[Yamauchi94] Integrating Reactive, Sequential, and Learning Behavior Using Dynamical
Neural Networks , par Brian Yamauchi, et Randall D. Beer, dans Proceedings of 3rd
International Conference on Simulation of Adaptive Behavior, pages 382-391, 1994
[Yamauchi94] Sequential Behavior and Learning in Evolved Dynamical Neural
Networks , par Brian M. Yamauchi, et Randall D. Beer, dans Adaptive Behavior, no. 2,
pages 219-246, 1994
[Yamauchi96] Spatial Learning for Navigation in Dynamic Environments , par Brian M.
Yamauchi, et Randall D. Beer, dans IEEE Transactions on Systems, Man and Cybernetics,
Part B, volume 26, n 3, pages 496-505, 1996
[Zadeh65] Fuzzy Sets , par L. A. Zadeh, dans Information and Control, no. 8, pages 338353, 1965
[Zhao96] Incremental Self-improvement for Life-time Multi-agent Reinforcement
Learning , par Jieyu Zhao, et Jrgen Schmidhuber, dans Proceedings of 4th International
Conference of Simulation of Adaptive Behaviors, pages 363-372, 1996
- 312 -
- 313 -
- 314 -
X - Lexique
X. LEXIQUE
Avatar : dsigne la crature virtuelle reprsentant le joueur dans un univers virtuel.
Cinmatique : tude des mouvements.
Dynamique : tude des forces, origines des mouvements.
Ergonomie : dsigne la facilit dutilisation. Dans un jeu vido, elle est lie linterface.
Interface : dsigne le matriel et le logiciel quutilise le joueur pour interagir avec le jeu vido.
Keyframing : technique danimation qui consiste dcomposer le mouvement en tapes cl
appeles Key Frames.
Moteur Dynamique : logiciel permettant la simulation des principes de la mcanique (gravit,
collisions, frottements etc.).
Sprite : image reprsentant un objet mobile. Se distingue du dcor qui lui est fixe. La
technique daffichage consiste alors afficher les dcors puis en surimpression les sprites.
- 315 -