Está en la página 1de 325

N DORDRE :

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 :

UNE ARCHITECTURE POUR LA CONCEPTION DE MODLES DCISIONNELS :


APPLICATION AUX CRATURES VIRTUELLES DANS LES JEUX VIDO

Soutenue le 14 Janvier 2003 devant la Commission dexamen


Mr Bertrand Zavidovique
Mr Jean-Claude Heudin
Mr Michel Bret
Mr Daniel Thalmann
Mme Agns Guillot

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.

Table des matires


I.Le domaine du jeu vido...........................................................................................................1
1.Une volution tourne vers lIntelligence Artificielle.......................................................... 2
1.1.Laspect comportemental : les cratures virtuelles.........................................................2
1.2.Les cratures au travers des styles de jeux..................................................................... 9
1.3.Lvolution des techniques employes.........................................................................18
1.4.Le jeu vido aujourdhui...............................................................................................39
2.Les contraintes du domaine................................................................................................ 40
2.1.Les ressources...............................................................................................................40
2.2.Les us et coutumes dans la production de jeux............................................................ 45
2.3.Conclusion....................................................................................................................50
3.Une validation par lexprience.......................................................................................... 51
3.1.La gestion des comportements..................................................................................... 52
3.2.La gestion des mouvements..........................................................................................56
3.3.La navigation................................................................................................................ 63
4.Conclusion.......................................................................................................................... 68
II.Les solutions existantes......................................................................................................... 70
1.Les techniques dASM........................................................................................................71
1.1.Le formalisme et la conception.................................................................................... 72
1.2.Les mcanismes de slection........................................................................................86
1.3.Conclusion..................................................................................................................103
2.Ladaptation au travers des techniques de contrle du mouvement................................. 103
2.1.Un problme mathmatique : lapproche par le haut................................................. 104
2.2.Les contrleurs : lapproche par le bas....................................................................... 112
2.3.Ladaptation................................................................................................................117
2.4.Conclusion..................................................................................................................125
3.Les techniques de navigation............................................................................................ 126
3.1.La modlisation.......................................................................................................... 127
3.2.Le fonctionnement......................................................................................................133
3.3.Conclusion..................................................................................................................144
4.Conclusion........................................................................................................................ 145
III.Une architecture de conception adapte............................................................................. 147
1.Une conception structurelle et symbolique.......................................................................148
1.1.Les symboles fonctionnels..........................................................................................149

Table des matires


1.2.La structure................................................................................................................. 156
1.3.Conclusion..................................................................................................................164
2.Une rsolution numrique.................................................................................................164
2.1.Le dtail des blocs...................................................................................................... 165
2.2.Le fonctionnement interne des Centres dintrt........................................................169
2.3.Le fonctionnement inter centres dintrt...................................................................178
2.4.Cas particuliers relatifs au jeu.................................................................................... 183
2.5.Conclusion..................................................................................................................186
3.Lapprentissage par renforcement.....................................................................................186
3.1.Les surveillants........................................................................................................... 187
3.2.Les blocs dapprentissage........................................................................................... 194
3.3.Conclusion..................................................................................................................206
4.La mmoire....................................................................................................................... 207
4.1.La modlisation.......................................................................................................... 207
4.2.Le fonctionnement......................................................................................................217
4.3.Conclusion..................................................................................................................228
5.Conclusion........................................................................................................................ 229
IV.Exprience 1 : le mcanisme de slection dactions.......................................................... 230
1.Lenvironnement virtuel................................................................................................... 231
1.1.QuakeWorld............................................................................................................... 231
1.2.Larne........................................................................................................................232
2.Les cratures virtuelles..................................................................................................... 233
2.1.Les Actuateurs............................................................................................................ 233
2.2.Les Centres dintrt...................................................................................................234
2.3.Les Senseurs............................................................................................................... 235
2.4.Le schma global........................................................................................................ 240
3.La proie et le prdateur..................................................................................................... 241
3.1.Conditions exprimentales......................................................................................... 241
3.2.Rsultats..................................................................................................................... 242
4.La nue..............................................................................................................................244
4.1.Conditions exprimentales......................................................................................... 245
4.2.Rsultats..................................................................................................................... 247
5.Discussion.........................................................................................................................249

Table des matires


V.Exprience 2 : le contrle moteur....................................................................................... 251
1.Lenvironnement virtuel................................................................................................... 252
1.1.Un environnement 3D : OpenGL............................................................................... 252
1.2.Un environnement dynamique : ODE........................................................................ 253
2.La crature virtuelle.......................................................................................................... 254
2.1.Morphologie............................................................................................................... 254
2.2.Le modle dcisionnel................................................................................................ 256
3.Apprendre marcher.........................................................................................................264
3.1.Conditions exprimentales......................................................................................... 265
3.2.Rsultats..................................................................................................................... 265
4.Discussion.........................................................................................................................269
VI.Exprience 3 : la navigation...............................................................................................271
1.Lenvironnement virtuel : Quake III................................................................................. 272
1.1.Quake III : un univers en 3D...................................................................................... 272
1.2.Quake III : la segmentation des niveaux.....................................................................275
2.La crature virtuelle.......................................................................................................... 275
2.1.Couche comportementale........................................................................................... 276
2.2.Couche de modlisation............................................................................................. 278
3.Navigation.........................................................................................................................282
3.1.Conditions exprimentales......................................................................................... 282
3.2.Rsultats..................................................................................................................... 283
4.Discussion.........................................................................................................................289
VII.Conclusion et futurs travaux.............................................................................................293
VIII.Bibliographie................................................................................................................... 297
IX.Rfrences des jeux videos................................................................................................ 313
X.Lexique................................................................................................................................315

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

Ici, lIntelligence Artificielle Distribue soppose lIntelligence Artificielle traditionnelle

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-

I - Le domaine du jeu vido

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.

I. LE DOMAINE DU JEU VIDO


Les jeux vido sont apparus assez tt dans lhistoire de linformatique. Ds lapparition des
premiers ordinateurs, des scientifiques, tel que Turing, rflchissent dj des applications
ludiques, et notamment au jeu dchec [Turing53]. En 1975, Atari commercialise Pong
[Pong75], un jeu de tennis primitif. Il pose dj les bases de ce que sont les jeux
daujourdhui. Depuis ces 2 barres qui se dplaaient verticalement, le domaine du jeu vido a
su suivre la vague de croissance des technologies informatiques. Aujourdhui les jeux
reprsentent un march mondial suprieur celui du cinma. Ils sont lorigine de
nombreuses recherches techniques, notamment dans le domaine graphique.
Tout comme le cinma, les jeux vido se proposent de vous plongez dans dautres ralits, des
fictions inventes de toutes pices. Ils utilisent pour se faire aussi bien le son, bruitages et
musiques, que les effets visuels, devenus impressionnants. Mais la diffrence du cinma, le
jeu vido propose des possibilits dinteraction de la part des participants. Non seulement le
joueur peut tre captiv par lambiance et le scnario, mais il est dautant plus impliqu quil
en dcide en partie le droulement.
Le joueur incarne un ou plusieurs personnages qui voluent dans un univers de fiction pens
par les auteurs. Il entame donc un dialogue avec cet univers, ses personnages reoivent ses
indications et le monde lui transmet de manire visuelle et sonore les consquences de leurs
actions. La richesse de ce dialogue fera en grande partie la richesse du jeu. Elle se base sur
plusieurs facteurs importants : la richesse des graphismes, ladquation de lambiance sonore
aux scnes, le comportement des personnages de lunivers.
-1-

I - Le domaine du jeu vido


Les graphismes se portent au mieux. Leur volution continuelle est exceptionnelle. Plusieurs
films ont dailleurs t raliss entirement par ordinateur, preuve que la technologie est
adapte au domaine des loisirs. Les sons quant eux ont aussi t grandement amliors. Il y a
quelques annes encore le buzzer de lordinateur dbitait une vague mlodie peine
audible, alors quaujourdhui les ambiances sonores sont spatialises. Les musiques sont
ajustes en temps rel pour mieux coller la scne. Reste donc le comportement des entits.
Ce domaine a longtemps t considr par les dveloppeurs de jeu comme la cinquime roue
du chariot comme lexplique Steve Woodcock [Woodcock98].
Ce chapitre expose tout dabord quels types de comportements ont t utiliss jusqualors, ou
les techniques ncessaires leur fonctionnement au travers de lhistoire du jeu vido. Nous
catgoriserons les jeux vido. Les besoins de chaque catgorie seront analyss. Ensuite, nous
tudierons de manire plus technique quelles contraintes imposent les jeux vidos aux
dveloppeurs, depuis le temps machine jusquaux mentalits actuelles. Enfin nous exposerons
la raison dune validation par lexprience, ainsi que les expriences choisies.

1. Une volution tourne vers lIntelligence Artificielle


Aprs laspect graphique et laspect sonore, les auteurs se tournent naturellement vers laspect
comportemental pour enrichir encore leurs univers. Depuis 1998, ce qui est communment
intitul lIntelligence Artificielle des jeux a reu de plus en plus dattention. Dans une analyse
rcente [Woodcock00], Steve Woodcock montre clairement un accroissement important des
ressources consacres aux comportements lors du dveloppement de jeux vido.
Cette partie va essayer de dcrire les bases incontournables de lIntelligence Artificielle dans
les jeux vido. Puis elle distinguera 3 catgories de jeux et tudiera comment ces bases y ont
t appliques. Enfin, elle fera un aperu des technologies employes au travers de lhistoire,
pour conclure sur lavenir des comportements dans le jeu.

1.1. LASPECT COMPORTEMENTAL : LES CRATURES VIRTUELLES


Avant daborder un petit aperu des entits virtuelles qui peuplent les jeux vido, rappelons
pourquoi et comment elles sont apparues, ce quelles ont toutes en commun, quelles sont les
bases de laspect comportemental des jeux vido.

-2-

I - Le domaine du jeu vido

1.1.1. Les bases fondamentales


Dj dans Pong [Pong75], lordinateur tait en charge du comportement de la balle et dune
des deux raquettes. Les comportements de lun comme de lautre sont grs par des
algorithmes simples. Le joueur quant lui dirigeait la seconde raquette. La richesse du
dialogue dpendait alors de deux facteurs :

Les faons dinfluencer la trajectoire de la balle pour surprendre ladversaire au risque de


la rater.

Lquilibre entre le jeu de lordinateur et le jeu du joueur humain.

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-

I - Le domaine du jeu vido


personnages. Elle impacte sur deux aspects essentiels du jeu. Tout dabord elle permet de
mesurer la complexit mathmatique du jeu. Ainsi plus linterface est complexe, plus le
joueur aura dactions possibles chaque instant, plus le jeu sera mathmatiquement riche en
possibilits. Cette richesse parat attrayante au premier abord, mais elle savre souvent
rbarbative. Elle pousse souvent le joueur une exploration combinatoire systmatique des
actions possibles, qui si elles sont trop nombreuses, entrane la lassitude. Ensuite elle est en
relation directe avec lergonomie. Plus le personnage possde une interface complexe, plus le
joueur rencontre de difficults lutiliser.
A chaque action du joueur lunivers propose sa rponse. Cette rponse va permettre au joueur
dapprhender les lois qui le rgissent et den tirer ses prochaines actions. Ces rponses
doivent donc tre riches et varies. De plus elles doivent prendre en compte lensemble des
actions dj effectues. Mme dans Pong [Pong75], ce principe est respect, la trajectoire de
la balle reprsente lhistorique minimal du jeu. Cest--dire les informations qui auront une
influence sur le reste du jeu. Ainsi nous distinguerons deux types de rponses :

Les rponses directes : elles reprsentent la raction directe du ou des personnages aux
ordres du joueur.

Les rponses indirectes : elles modifient certaines informations du jeu, ou le


comportement de certaines entits. Le joueur ne peut sen apercevoir encore.

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-

I - Le domaine du jeu vido

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.

1.1.2. La crature virtuelle


Les cratures virtuelles sont les entits qui peuplent les univers virtuels. Elles incluent donc
lensemble des entits qui peuplent les jeux vido. Cette partie dcrit les prceptes essentiels
la comprhension de ce quest une crature virtuelle et pose le vocabulaire qui sera utilis tout
au long de cette thse.

Quest-ce quune crature virtuelle


Tous les lments qui peuplent les mondes virtuels ne sont pas des cratures virtuelles. Pour
tre une crature virtuelle il convient de possder une certaine libert daction. Quelle soit ou
non reprsente par un personnage, ou quelle ressemble plus un artefact, ou simplement
quelle reprsente un concept abstrait, sera appele crature virtuelle toute entit capable de
choisir ses actions en se basant sur un certain nombre de paramtres.
Crature Virtuelle : toute entit virtuelle concrte ou abstraite capable de slectionner ses
actions en se basant sur un des paramtres provenant du jeu.
Il est intressant de noter que cela inclut aussi lavatar. En effet ce dernier est libre dexaucer
les ordres du joueur selon ses propres paramtres. Comme le prcise Michael Mateas dans
[Mateas99], les auteurs peuvent au travers des actions de lavatar faire passer des motions.
Un avatar bless devrait se dplacer en boitant, un avatar accul devrait agir de manire
stresse, avec des mouvements vifs.
Les cratures virtuelles se distinguent entre elles de par leur complexit morphologique :
depuis le simple dplacement [Pong75] jusqu la morphologie physique complexe
-5-

I - Le domaine du jeu vido


[Jakobsen01]. Tout dabord elle dtaille les paramtres quelle prend en compte. Tout au long
de cette thse, ces paramtres seront dnomms perceptions. Ensuite elle permet de dcrire
les effecteurs de la crature (aussi dnomm actuateurs). Enfin elle dcrit son mcanisme de
slection daction.
Parfois ces parties sont imbriques au point de ne plus pouvoir rellement les distinguer. Mais
elles sont toujours prsentes, sous-jacentes la morphologie.

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-

I - Le domaine du jeu vido


prsentant directement lentit les objets les uns aprs les autres, tels quils sont stocks
habituellement dans les jeux vido. Il sagit dune solution intermdiaire, tout en conservant
une unit sensorielle, elle permet dviter les phases de diffrentiation et de reconnaissance
trs coteuses.

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-

I - Le domaine du jeu vido


narration dans les autres mdias. Or le premier vecteur de communication reste le geste. Les
gestes doivent donc pouvoir tre paramtrables. Il est alors indispensable de doter les
effecteurs de paramtres qui vont permettre de moduler la faon dexcuter laction.

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-

I - Le domaine du jeu vido


rarement des actions mais plutt des modifications pour dautres couches. La slection
montante obtient trs vite un rsultat et laffine au fur et mesure.
La partie suivante va dtailler plus avant les diffrents styles de cratures virtuelles qui sont
utilises dans les jeux vido. Puis lensemble des techniques de slection utilises sera
dtaill.

1.2. LES CRATURES AU TRAVERS DES STYLES DE JEUX


Catgoriser les jeux vido est une tche complexe. Le but ici est plutt de catgoriser les
diffrents aspects comportementaux. Le premier facteur discriminant est le nombre de
personnages contrls. Deux catgories mergent :

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 personnels : le joueur incarne un et parfois plusieurs personnages de manire


personnelle. Il connat bien son personnage, qui est au centre du scnario.

La seconde catgorie se subdivise en 2 catgories, selon les interactions possibles :

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-

I - Le domaine du jeu vido

1.2.1. Larcade : des cratures ractives


Les jeux darcade sont constitus par des univers simples, cest--dire avec lesquels peu
dinteractions sont possibles. Depuis Pong [Pong75] jusqu Quake III [QuakeIII99], ces
univers ont beaucoup volu graphiquement. Quant aux possibilits ludiques elles restent
essentiellement les mmes : avoir de bons rflexes et matriser linterface. Ces jeux sont
centrs sur un nombre de personnages trs restreint. La richesse dinteraction du jeu est
centre sur les mouvements et les ractions de lavatar aux commandes du joueur.

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

Pour plus de dtails voir Lexique.


- 10 -

I - Le domaine du jeu vido

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 -

I - Le domaine du jeu vido


joueur. Voici donc les points importants qui ont permis aux bots de peupler quelques uns des
jeux les plus connus de ces dernires annes :

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.

Matrise de linterface : le joueur utilise un matriel (joystick clavier souris) pour


transmettre ses ordres. Il lui est alors difficile de les donner avec prcision, surtout dans
les conditions de stress quimposent les jeux darcade. Le bot lui nest pas dpendant de
ces imprcisions. De plus il nest pas soumis au stress. Il peut donc donner ses ordres
parfaitement.

Tactique : cest le point faible des bots et le point fort des joueurs. En fait ce problme se
dcompose en deux sous problmes lis :

Exploration : le bot doit explorer la carte et mmoriser les objets importants


(munitions, armes etc.) pour pouvoir les rcuprer au besoin. Il doit construire la
topologie des lieux. La plupart des bots possdent dj une topologie simplifie en
points clefs appels waypoints [Guy99]. Dautres beaucoup plus rares essaient de les
crer durant leur exploration.

Embuscades et autres tactiques : les tactiques de combat se divisent en 2 catgories si


lon omet toute coopration : les embuscades et les combats rapprochs. La seconde se
code parfaitement avec quelques rflexes et consiste tourner autour de son adversaire
pour se trouver dans son dos et lui tirer dessus. La premire est beaucoup plus
complexe et demande non seulement de connatre la topologie des lieux, mais en plus
une certaine analyse de cette topologie. Cette dernire phase est trs difficile mettre
en uvre et est ralise la plupart du temps laide de points clefs prdtermins.

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 -

I - Le domaine du jeu vido

1.2.2. La stratgie : un besoin de planification


Des dizaines dindividus au service du joueur, des ressources dissmines sur une carte, des
schmas plus ou moins complexes dvolution prdtermins, voil de quoi sont faits la
plupart des jeux de stratgie. Il apparat clairement 2 niveaux de rflexions, tout dabord les
personnages excutent les ordres du joueur au mieux, ensuite le joueur est responsable dune
stratgie long terme qui peut tre compar un problme de gestion de ressources.

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.

Recherche de chemin : le principal problme des personnages est en gnral de se dplacer


sur la carte pour pouvoir excuter les ordres reus. Lunivers est en gnral discrtis,
chaque case a un cot de dplacement en fonction du type de terrain. Le but est de trouver
le chemin le plus court en tenant compte des dangers potentiels. Les algorithmes utiliss
tels que A* [HarPeled99] [Stentz95] permettent de raliser de telles recherches.
Malheureusement le nombre de personnages tant de plus en plus important, le processeur
est satur par les incessantes utilisations de cet algorithme. [Reynolds99] explique
comment gagner du temps machine en remplaant ces recherches par des comportements
rflexes simples et quelques points clefs.

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.

Personnalit : il pourrait tre passionnant de doter les personnages dune personnalit,


dmotions. Laspect social est trs souvent absent mais se rvle un ingrdient trs
intressant [Startopia01] [Tropico01]. Il peut tre obtenu en grant quelques attributs
(paramtres internes chaque crature) pour chaque personnage qui viendront influencer
son comportement. [Stern99] [Wilson99] [Mateas99] soulignent lintrt dintgrer les
motions dans le jeu.
- 13 -

I - Le domaine du jeu vido


Des units autonomes sur lesquelles on peut compter, grer des ressources mais aussi des
problmes sociaux, voil sans doute des points trs intressants dvelopper.

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).

Bottom up : cette approche consiste concevoir de nombreuses entits assez simples,


chacune pouvant dfendre son opinion. La stratgie merge alors dun consensus commun
et nest pas vraiment code. Les possibilits dadaptation sont donc beaucoup plus
nombreuses et aises. A lextrme il est possible dimaginer que les personnages seuls
dcident de leur stratgie gnrale. Pour des raisons de simplicit et de temps machine, il
est plus simple de crer quelques responsables sintressants aux points clefs du jeu.

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.

1.2.3. Aventure : une complexit accrue


Si lon considre les checs comme un jeu de stratgie, les jeux daventure sont apparus les
derniers. En fait les premiers jeux daventure ne comportaient aucune crature virtuelle. Ils se
composaient dune suite dnigmes rsoudre, la plupart du temps en trouvant des objets pour
les utiliser plus tard. Lintrt de tels jeux tait entirement contenu dans lintrigue, les dcors
et le personnage principal.

- 14 -

I - Le domaine du jeu vido


Heureusement pour ce genre de jeux, les cratures virtuelles ont fait leur apparition. Les jeux
daventure se caractrisent par une grande richesse de lenvironnement, mais aussi et surtout
par une richesse de la population. Les personnages que le joueur y rencontre ne sont pas
seulement l pour tre tus. Ils font partie dun scnario et peuvent dialoguer.

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.

Un univers riche en objets


Les premiers lments intressants des jeux daventure sont les objets quon y rencontre. Ces
objets apportent au joueur 4 diffrents avantages :

Indice : lobjet napporte rien en soit, si ce nest des informations concernant le scnario,
qui vont permettre au joueur de choisir ses prochaines actions.

Amlioration du personnage : lobjet donne de nouvelles capacits au personnage. Il


affrontera mieux quip la suite de laventure.

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 -

I - Le domaine du jeu vido


Seule la seconde catgorie tait reprsente dans les jeux darcade. Lunivers des jeux
daventure est donc plus riche, et mme si certaines scnes ncessitent parfois de la dextrit
et des rflexes, lavancement gnral est plus bas sur la rflexion et la comprhension de
lintrigue.

Le jeu des acteurs


Depuis quelques annes, des personnages non joueurs, cest--dire des cratures virtuelles,
peuplent les mondes des jeux daventure. Ils se divisent en 3 catgories :

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 -

I - Le domaine du jeu vido


fois larbre explor entirement, le jeu perd tout son intrt. Cette vision correspond une
approche top down [Stern99].
Depuis quelques annes, certains jeux comme The Sims [Sims00] ont mis en place une
nouvelle gestion du scnario. Il nest plus prdfini lavance mais merge de linteraction de
lensemble des personnages du jeu (joueur et non joueur). Cette approche possde de
nombreux avantages. Tout dabord la richesse du jeu est beaucoup plus importante. Ensuite
les diffrentes parties ne ressemble pas vraiment. Enfin limpression de vie est saisissante, le
monde nattend pas aprs vous. Malheureusement cette approche possde aussi des
dsavantages. Comme les scnes ne peuvent tre prvues lavance, lordinateur doit grer en
temps rel tous les aspects de la mise en scne (musique, camra, lumires). De plus le
scnario peut partir dans nimporte quelle direction, or laspect ludique doit pouvoir tre
conserv. Il est donc primordial que lordinateur garde le contrle de lensemble scnaristique
[Stern99]. Il doit pouvoir garantir une certaine cohrence (cre par les auteurs) et donc
influencer le comportement des divers personnages.

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.

Rpliques prdtermines : le dialogue devient une phase dinteraction. Pour chaque


rplique, le joueur a le choix entre plusieurs phrases toutes faites. Lensemble du dialogue
est alors entirement prdtermin, il suit le mme genre darbre que pour le scnario. Une
bonne extension de ce systme consiste attribuer de nouvelles rpliques au fur et
- 17 -

I - Le domaine du jeu vido


mesure des actions du joueur. Ainsi en fonction de ses actions le joueur peut dcouvrir de
nouveaux lments au cours de ses dialogues.

Composition interprtation : la forme la plus aboutie pour linstant. Les personnages


composent des rpliques laide dun langage simplifi. Les personnages non joueurs sont
capables dinterprter les rpliques du joueur et de btir avec lui un dialogue. LArche du
Capitaine Blood [CaptainBlood88], dit par Mindscape, tait bas sur ce principe. Il
employait une iconographie simple pour symboliser les concepts du jeu.

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.

1.3. LVOLUTION DES TECHNIQUES EMPLOYES


Lhistoire des jeux vido compte maintenant plusieurs dcades. Les algorithmes utiliss pour
la slection daction ont beaucoup volu. La suite de cette partie expose un aperu des
diffrentes techniques, depuis la simulation mathmatique, jusqu la Vie Artificielle, en
passant par les cas prdfinis, les automates finis, les rseaux de neurones, la programmation
gntique. Chacune delle sera illustre par un jeu rest clbre pour son utilisation de cette
technique.
Ces techniques ne seront pas tudies en dtail, un bref aperu permettra seulement
dapprhender leur fonctionnement. Le troisime chapitre en fera une synthse plus pousse
(cf. Les solutions, page 70).

1.3.1. Techniques de simulation


Les premires techniques utilises sont issues des mathmatiques et de la simulation.
Lvolution de lensemble des variables du jeu est dtermine par un ensemble de fonctions
mathmatiques. Le joueur peut intervenir en faisant varier certains paramtres de ces
fonctions par le biais de ses actions.

La simplicit mathmatique
- 18 -

I - Le domaine du jeu vido


Cette technique consiste modliser toutes les volutions du jeu grce un ensemble
dquations. Elle possde lavantage dtre rapide. Lvolution des variables du jeu se fait
sans aucun processus dcisionnel coteux, il suffit denvoyer les paramtres aux fonctions et
obtenir ainsi les nouvelles valeurs. En intgrant le temps parmi ces paramtres, la mthode
permet de prdire cette volution. Pouvoir tenir compte de lavenir est un avantage pour
laspect dcisionnel. De mme il est possible, partir de quelques paramtres, de synthtiser
lunivers et son volution. Cela permet de gnrer une infinit de variations sans avoir besoin
de grandes capacits de stockage. Enfin il devient facile de maintenir la cohrence entre
plusieurs machines pour les jeux en rseau, il suffit de transfrer les quelques paramtres
modifis depuis la dernire synchronisation.

Un conception parfois trop complexe


Malheureusement ce caractre prvisible est aussi un dsavantage, si le joueur parvient en
dterminer les mcanismes, le jeu na plus aucun secret pour lui. De plus ces techniques sont
trs peu adaptes pour grer certains problmes. La conception des fonctions savre difficile,
notamment pour les mcanismes dcisionnels. Les actions du joueur doivent se borner la
modification de certains paramtres de ces fonctions. Simuler un dialogue ou une crature
virtuelle complexe savre presque impossible, les mcanismes de dcision tant trop
complexes pour tre dcomposs en fonctions mathmatiques simples. Enfin cette technique
prsente de trs faibles capacits dadaptation. Il parat presque impossible de trouver des
fonctions capables de modifier les paramtres des autres fonctions de manire produire un
comportement gnral volutif.

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 -

I - Le domaine du jeu vido

Exemple : Sim City


Sim City [SimCity95] est sans doute le jeu le plus connu exploitant cette technologie. Un
panel de fonctions permet de simuler la croissance dune ville entire, conomiquement,
dmographiquement etc. Le joueur joue le rle dun maire devant mener bien la croissance
de sa ville et faire face aux problmes traditionnels (pollution, chmage, scurit,
catastrophes). Il influe de par son rle sur certains paramtres de ces fonctions, qui lui
projettent les rsultats de sa stratgie.

Figure 1 : Sim City 2000, une vaste simulation socio conomique.


Au fur et mesure quil exprimente le jeu, le joueur va construire sa propre synthse de ces
fonctions. Puis il parviendra anticiper leurs mcanismes pour finalement matriser
lensemble des situations. A ce stade lintrt du jeu devient presque nul.

1.3.2. Stratgies base de cas prdfinis


Ces stratgies sont restes longtemps les plus utilises. Elles consistent prvoir un ensemble
de situations, appeles cas, et dassocier chacune la rponse idale. Bien sr elles ne sont
- 20 -

I - Le domaine du jeu vido


efficaces que si la plupart des cas ont t prvus. Le travail du concepteur consiste donc
dterminer lensemble des cas. Puis pour chacun il doit dterminer les paramtres qui
permettre de le reconnatre ainsi que la solution appliquer. 2 architectures se prtent ce
genre de stratgie : les systmes base de rgles et les blackboards.

Les systmes base de rgles


Les systmes base de rgles se composent dun ensemble de rgles. Chaque rgle est ellemme compose de 2 parties :

Conditionnelle : cette partie correspond la phase de reconnaissance. Elle permet


dvaluer dans quelle mesure la rgle doit tre utilise.

Factuelle : cette partie correspond la solution apporte par la rgle. Elle nest applique
que si la partie conditionnelle est valide.

La validation de la partie conditionnelle peut tre boolenne (valide ou non) ou floue


(coefficient de certitude). Il est possible dattribuer toutes les parties factuelles un nombre
(boolen ou rel), correspondant la validit de la solution.

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 -

I - Le domaine du jeu vido

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

Fournit chaque tape :

Fournit chaque tape :

Fournit chaque tape :

Son autovaluation

Son autovaluation

Son autovaluation

Son apport au problme

Son apport au problme

Son apport au problme

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.

Une conception aise


Les systmes base de cas sont assez simples concevoir. Le concepteur doit parfaitement
connatre le domaine et dcrit son savoir sous formes de modules indpendants (rgles ou
entits).
Cette approche bnficie dun caractre volutif important. Il est ais de rajouter de nouveaux
modules, ou mme de modifier lexistant. De mme il ne parat pas impossible dy intgrer
des notions dvolution :

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 -

I - Le domaine du jeu vido

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.

Des limites incontournables


Le premier problme de ces systmes est leur incompltude. Il est impossible de garantir la
compltude dun tel systme dcisionnel. Les univers des jeux vido senrichissent. Les
problmes soulevs sont de plus en plus complexes. Et les joueurs reprsentent un facteur
dalas considrable. Ils finissent toujours par trouver la faille du systme, les fameux cas non
prvus.
Certes il est possible dy intgrer des mcanismes dvolution, mais cette technologie ne les
gre pas implicitement. Il faudra donc faire appel une autre technologie. Linterfaage de
plusieurs technologies reste une tche complexe qui risque dalourdir lensemble.
Enfin le principe des cas permet aux joueurs de comprendre assez facilement le
fonctionnement de lordinateur. Ils peuvent alors anticiper ses mouvements et le battre
chaque fois. Les systmes de cas ne cachent pas assez bien leur stratgie.

Exemple : Close Combat


Close Combat [CloseCombat96] est un jeu de stratgie. Le joueur dirige un ensemble
descouades, et doit accomplir diverses missions de destruction, libration dotages, prise
tactiques, etc. Le processus dcisionnel de ce jeu est divis en plusieurs niveaux
dabstractions. Le plus haut niveau fixe la stratgie globale. Plus on descend dans les niveaux,
plus les ordres sont prcis. Le joueur na accs qu certains ordres des diffrents niveaux, en
fait tous ceux du niveau le plus lev et quelques uns des niveaux infrieurs. Ainsi le joueur et
lordinateur partagent la plupart de leurs automatismes, lordinateur tant capable de relayer le
joueur si cela est ncessaire.

- 23 -

I - Le domaine du jeu vido

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 -

I - Le domaine du jeu vido

Figure 4 : Close Combat, cran principal de gestion des units.

1.3.3. FSM et HFSM


Les Finite State Machines ou Hierarchical Finite State Machines sont issues des techniques de
modlisation des systmes. Le principe est de dcomposer le mcanisme dcisionnel en
modules. Chaque module dcisionnel se charge de la rflexion de la crature alors quelle se
trouve dans un contexte donn. Un mcanisme simple permet de passer dun module lautre,
cest--dire dun contexte lautre.

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 -

I - Le domaine du jeu vido


A un instant donn, un seul module est actif et prend les dcisions. Les transitions jouent un
rle important, elles permettent de slectionner le module qui sera responsable des prochaines
dcisions. Bien sr ces transitions ont un sens. Ainsi un module A peut passer un module B,
mais linverse nest pas forcment vrai. De plus plusieurs transitions peuvent permettre de
passer dun module un autre.

Figure 5 : FSM, exemple d'un monstre d'un jeu d'arcade.


La complexit de chaque module peut varier dune application une autre, au point de devenir
lui-mme un FSM. Lensemble devient alors une hirarchie de FSM ou HFSM. Il est
intressant de voir que les modules peuvent utiliser diverses techniques de slection. Les
HFSM se rapprochent beaucoup des mthodes de conception SADT. Elles ont lavantage de
permettre lutilisation dautres technologies, et reprsentent un moyen efficace de concevoir
un processus dcisionnel efficace.

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 -

I - Le domaine du jeu vido

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.

Exemple : Half Life


Les jeux de tir en vue subjective sont lgions. Depuis Wolfenstein [Wolfenstein92], ils ont
finalement peu volus. Certes les graphismes sont de plus en plus labors, les dtails
peaufins. Non seulement Half Life [HalfLife98] dispose de lun des meilleurs moteur 3D,
mais en plus il a rellement innover de part son gameplay3. Les processus dcisionnels ont
vraiment t soigns.
Les cratures ennemies peuvent entendre le joueur, le voir, et le poursuivre. Elles peuvent
aussi dcider de prendre la fuite et chercher du renfort. Pour lattaquer, elles savent mettre
toutes les chances de leur ct. Elles nhsitent pas prendre le joueur revers, lattirer dans
un pige ou une embuscade.

Voir Lexique.
- 27 -

I - Le domaine du jeu vido

Figure 6 : Half Life, une escouade descend en rappel.


Certains des personnages non joueurs se dplacent mme en escouade. Ils sont capables de
rester en formation pendant laction. Ils appliquent des tactiques de groupe. Lun dentre eux
tire sur le joueur pendant quun second lance une grenade pour le dbusquer. Certains
personnages sont susceptibles de devenir de prcieux alliers. Le joueur peut les diriger par le
biais de quelques ordres simples. Mais ces allis sont assez autonomes. Ils peuvent vous
couvrir, ou encore prendre peur devant un monstre et dcider de fuir.

- 28 -

I - Le domaine du jeu vido

Figure 7 : Half Life, un alli couvre le joueur.


Pour couronner lensemble, le jeu met disposition un diteur de script pour pouvoir crer ses
propres cratures virtuelles. Pour la premire fois dans un jeu de ce genre, les concepteurs ont
mis laccent sur les mcanismes dcisionnels, donnant vie cette base souterraine et la
trame gnrale.

1.3.4. Rseaux de neurones


Les rseaux neuromimtiques se sont inspirs du modle approximatif et simplifi des rseaux
de neurones biologiques. Cette mthode mathmatique possde un gros avantage son actif,
elle est trs adaptative.

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 -

I - Le domaine du jeu vido


Puis il applique une fonction seuil cette somme qui permet de borner le rsultat. Le signal
ainsi obtenu est appel signal de sortie du neurone.
Les diffrents neurones sont relis par lquivalent de synapses. Ces synapses communment
appeles liens appliquent au signal quils transmettent un coefficient. Chaque lien possde son
propre coefficient appel poids. Lensemble de ces poids ainsi que la structure des liens
dtermine totalement le rseau de neurones.
Certains neurones servent fournir au rseau des informations. Ils sont appels neurones
dentre. Dautres permettre de connatre le rsultat de la rflexion. Ils sont appels neurones
de sortie. Les autres sont des neurones intermdiaires. Parfois les neurones de sortie sont aussi
des neurones dentre.

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 -

I - Le domaine du jeu vido


Tout le problme consiste concevoir la structure pour pouvoir obtenir les rsultats dsirs.
Mme si les capacits dadaptation sont impressionnantes, elles ne parviendront pas corriger
une mauvaise structure. La complexit mathmatique sous-jacente rend la conception des
structures trs difficile. Son volution est elle aussi trs complexe automatiser. Le processus
est presque toujours un processus externe qui recompose la structure du rseau.

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 :

Montrer un objet : la crature va concentrer son attention sur lobjet.

Caresser la crature : signe de russite, la crature conforte ses dernires dcisions


(apprentissage).

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 -

I - Le domaine du jeu vido


Ce comportement volutif est le rsultat dun rseau de neurone assez perfectionn. Les
mcanismes de caresses et de tapes permettre au joueur de transmettre un signal
dapprentissage la crature. Aprs plusieurs heures, le joueur finit par atteindre les limites
dapprentissage de la crature, qui sont fixes par sa structure neurale.

Figure 9 : CAOS, l'outil permettant de crer le cerveau des NORNs.

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 :

Codage : cette tape prliminaire indispensable consiste transformer lentit en un code


gntique que lalgorithme fera voluer. Il est parfois trs complexe de coder une entit.
De cette phase vont dpendre les prochaines tapes et donc la russite de lvolution.
- 32 -

I - Le domaine du jeu vido

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 -

I - Le domaine du jeu vido


En plus de grer un rseau de neurones, Creatures [Creatures98] met en place un mcanisme
gntique complet. Chaque NORN possde son propre code gntique unique. Quand deux
NORNs se reproduisent, leur enfant possde un code gntique driv. Ce code gntique
contient galement une partie des informations apprises par ses parents, appeles
connaissances innes.

Figure 10 : Genetics Kit, loutil qui permet de crer de nouveaux gnomes.


Creatures [Creatures98] dmontre lefficacit dun rseau de neurones dont la structure volue
grce la gntique. Attention cependant, aussi bien le rseau de neurones que la gntique
ont t conus par des experts dans le but dengendrer ces cratures sympathiques. Mme si le
procd est gnralisable [Polani00] [Moriarty98], il nen reste pas moins trs complexe, et
trs difficile faire converger.

- 34 -

I - Le domaine du jeu vido

1.3.6. Vie Artificielle


La vie artificielle est un courant scientifique qui tudie comment crer des entits artificielles
capables de prsenter certains aspects de la vie biologique. Ce vaste courant tend ses
ramifications dans de nombreux domaines : robotique [Meyer90], informatique [Blumberg94]
et mme assez rcemment dans les jeux vido [Stern99].
La vie artificielle nest pas associe une technologie particulire. Elle essaie au contraire de
tirer le meilleur de toutes les technologies en sinspirant de la biologie. Bien sr les
implications au niveau des jeux vido sont importantes, aprs tout eux aussi essaient de crer
un semblant de vie ! Deux jeux se sont rcemment distingus par leur adquation avec ce
courant de pense. Ils montrent la faisabilit dintgrer des principes scientifiques dans le jeu
vido, et lve lIntelligence Artificielle des jeux un stade suprieur.
Bien sr Creatures [Creatures98] aurait pu figurer encore une fois ici. Il est mme le
prcurseur. Nanmoins, la vie artificielle a t utilise dans dautres jeux.

Black & White


Dans Black & White [BlackWhite01] le joueur incarne une sorte de dieu symbolis par une
main. De mme il duque une crature qui le reprsente physiquement dans un monde peupl
par plusieurs tribus. Le joueur doit amener les populations lui vouer un culte. Cela lui
procure lnergie magique dont il a besoin pour modifier son environnement directement. La
crature est son reprsentant. Elle nat sans aucune ducation, sans aucune valeur morale. Au
fur et mesure du jeu, le joueur duque sa crature et lui inculque des valeurs morales. En fait
le joueur doit dcider de sa stratgie, rgner en matre absolu dans la terreur, ou encore
paratre le dieu bnfique qui apporte prosprit et fortune. Sa crature volue alors
physiquement en fonction de la moralit de ses tendances.

- 35 -

I - Le domaine du jeu vido

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 -

I - Le domaine du jeu vido

Figure 12 : Black & White, un vritable monde en volution.

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 -

I - Le domaine du jeu vido

Figure 13 : The Sims, la cration d'un personnage.


La technologie employe est trs intressante. Elle met en valeur lun des prceptes de Brooks
[Brooks91] : lunivers est le mieux dcrit par lui-mme. Chaque objet de lunivers est capable
denvoyer des stimuli aux diffrents personnages en fonction des actions qui leur sont
associes. En fait le raisonnement ne se situe pas au niveau des personnages mais des objets.
En fonction du personnage lobjet va dclencher chez lui des comportements. Le personnage
na alors plus qu choisir le comportement le plus stimul. Cette technologie permet mme
aux joueurs de crer leurs propres objets (et les comportements associs, les conditions
ncessaires etc.) rendant ainsi le jeu totalement volutif. Il est intressant de noter que cette
approche se rapproche vraiment de la conception oriente objet.

- 38 -

I - Le domaine du jeu vido

Figure 14 : The Sims, un petit monde sous la surveillance du joueur.

1.4. LE JEU VIDO AUJOURDHUI


Les aspects visuels et sonores ont fait lobjet de toutes les attentions. Les jeux daujourdhui
sont de plus en plus ralistes, lambiance sonore y est trs travaille. Depuis quelques annes
laspect rseau des jeux a t mis en avant, aussi bien pour les jeux darcade, de stratgie ou
daventure. Il permet aux joueurs de sopposer ente eux. Ce phnomne culmine sans doute
avec les premires olympiades intitules World Cyber Games qui se sont droules Soul en
Core en 2002. Le rseau a permis aux joueurs de trouver des adversaires ou des coquipiers
de valeur. Ceci trahit un malaise important dans les jeux vido : la faiblesse des cratures
virtuelles.
Plusieurs technologies issues de recherches ont dj t utilises dans certains jeux vido.
Mais de nombreux problmes persistent. Lutilisation de la plupart de ces technologies
requiert en effet des connaissances pousses. Cependant ces techniques pourraient apporter au
jeu des innovations indispensables comme lvolutivit, les facults dadaptation. Si les FSM
- 39 -

I - Le domaine du jeu vido


ont perc, cest sans doute grce leur relative simplicit dutilisation et leur rigueur de
rsultats.

2. Les contraintes du domaine


Les universits poursuivent de nombreuses recherches dans des domaines assez proches.
Simuler un raisonnement humain nest pas un challenge nouveau. Mais le jeu vido introduit
un certain nombre de contraintes qui rendent la plupart des rsultats de ces recherches peu
utilisables. Les premires, et sans doute les plus strictes, concernent les ressources auxquelles
peut prtendre le mcanisme dcisionnel. Dans les travaux antrieurs, le processus dcisionnel
est au cur de lexprience, dans les jeux vido ce nest quune des composantes. Enfin
certaines mentalits fermement ancres empchent les concepteurs de sintresser des
technologies de pointe, qui pourraient pourtant leur apporter des solutions.
Nous allons maintenant passer en revue les diffrentes contraintes imposes par les jeux
vido. Ces contraintes ont t classes en deux catgories : les contraintes concernant les
ressources tout dabord, puis les contraintes imposes par les mthodes actuelles utilises pour
le fonctionnement des jeux.

2.1. LES RESSOURCES


Que ce soit propos dune console de jeux ou dun ordinateur, les principales ressources
restent la mmoire et le temps machine. Pour des raisons de simplicit, cette partie se
contentera de ne distinguer que ces 2 ressources, sans que cela ne nuise au raisonnement.

2.1.1. Des plateformes htrognes


Les jeux vido sadressent un public de plus en plus large. Consoles de salon (comme la
PSX2, la GameCube ou encore la XBox), consoles portables (la GameBoy ou la
GameBoyAdvance), ordinateurs (Windows, Mac ou Linux) sont autant de plateformes
potentielles pour un jeu. De plus les dveloppements cotent de plus en plus cher. Les diteurs
cherchent donc rentabiliser leurs investissements en dveloppant quand ils le peuvent pour
plusieurs plateformes.
Malheureusement les ressources ne sont pas semblables dune plateforme lautre. Mme si
certaines technologies permettent aux jeux de sadapter aux contraintes de la machine
(principalement dans le domaine graphique), les ressources disponibles sont niveles par les
- 40 -

I - Le domaine du jeu vido


configurations les plus basses. Cest pourquoi les ressources sont si critiques et doivent tre
prserves au mieux.

2.1.2. Le temps machine


Chaque console ou ordinateur possde un certain nombre de processeurs qui effectuent les
oprations ncessaires au fonctionnement de lapplication en cours (du jeu vido notamment).
Ces dernires annes ont vu apparatre sur le march des processeurs ddis certains types
de tches. Les plus rpandus sont sans doute les processeurs graphiques. Ces derniers sont
responsables de la plupart des calculs concernant la perspective, mais aussi la luminosit, les
textures, certains effets visuels. Les processeurs musicaux possdent aussi de plus en plus de
fonctionnalits. La spatialisation sonore est maintenant ralise en partie grce eux
moyennant divers effets de rverbration, dcho etc. Outre ces processeurs ddis, la machine
possde un processeur principal qui a la charge de toutes les autres oprations. Ceci inclut
notamment le processus dcisionnel des cratures virtuelles, mais aussi une multitude dautres
tches.

Une croissance salutaire


Le processeur principal est caractris, entre autres, par le nombre dinstructions quil est
capable deffectuer en une seconde. Ce nombre tant limit, il doit tre partag par lensemble
des tches du jeu qui doivent sexcuter pendant une seconde. Le temps machine dune tche
est donc le temps ncessaire un processeur donn pour effectuer cette tche. Ainsi les
processus dcisionnels doivent non seulement se partager le processeur entre eux, mais ils
doivent galement le partager avec un ensemble de tches tout aussi importantes telles que la
gestion du jeu, la gestion des graphismes (mme si une partie non ngligeable est effectue
par un ou plusieurs processeurs ddis), la gestion sonore, etc.
Lhistoire des jeux vido montre que la rpartition de ce temps rvle souvent les points forts
du jeu. Ainsi le temps supplmentaire accord aux graphismes permet en gnral dobtenir un
jeu esthtiquement plus abouti. Or, cette rpartition est en pleine mutation. [Woodcock00]
montre clairement que les concepteurs accordent aux processus dcisionnels de plus en plus
dimportance.

- 41 -

I - Le domaine du jeu vido

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

Figure 15 : Sondages issus de la Game Developper Conference.


Lvolution est trs nette. Les projets accordent de plus en plus de ressources aux aspects
comportementaux. Des spcialistes se consacrent ces problmes plein temps. Le temps
machine mis leur disposition devient important, presque un tiers du temps global. Combine
la monte en puissance des processeurs, cette augmentation permet denvisager de nouvelles
possibilits, aussi bien au niveau dcisionnel qu tous les autres niveaux.

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 -

I - Le domaine du jeu vido

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 graphique : laffichage requiert la gestion de textures (3D) ou de sprites (2D). Ce


sont des images quil est ncessaire de charger en mmoire avant de pouvoir les afficher.
Bien sr plus lunivers est dtaill, plus les images ncessaires occupent de la mmoire.

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 :

Le mcanisme dcisionnel : prendre des dcisions est un mcanisme parfois complexe. Sa


mise en place ncessite souvent une structure assez lourde pour la mmoire, surtout si
lenvironnement est complexe.

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 -

I - Le domaine du jeu vido


lenvironnement, la complexit de la crature et ltendu de son historique. Il est donc
ncessaire de les limiter. Le nombre souvent important de cratures qui voluent en mme
temps vient aggraver ce problme, les cots mmoriels sen trouvent multiplis dautant.

Une utilisation particulire


Les problmes de mmoire ne se bornent cependant pas la gestion dune ressource. En effet
certaines oprations la concernant sont viter, voir bannir. Ces contraintes sont assez
techniques, mais leur impact sur les technologies utilisables est important. Elles mritaient
donc dtre cites :

Le temps dallocation : allouer de la mmoire, cest--dire demander lordinateur den


rserver une partie est un processus devenu assez coteux. Il ncessite en effet le parcours
de cette dernire pour y trouver un emplacement libre suffisamment important. Bien sr ce
processus est plus performant si lapplication (le jeu) se borne rserver sa mmoire en
une seule fois. Lorsque cette mmoire est alloue puis dsalloue constamment, elle
devient un vritable gruyre , dans lequel il est difficile de trouver des espaces contigus
suffisamment grands. En rsum, lallocation dynamique (cest--dire au cours du jeu) est
dconseille.

La compatibilit : la gestion de la mmoire est un processus qui diffre dune plateforme


une autre. Dans un souci de compatibilit (cf. Des plateformes htrogne, page 40), il est
important davoir un systme compatible avec tous les processus.
Par exemple, dans le cadre dun dveloppement pour console avec le langage C++, cela
exclut :
la surcharge de loprateur dallocation : elle est laisse lapprciation des codeurs
du jeu. Elle permet de grer les incompatibilits ce niveau.
les templates : trs peu de consoles les tolrent. Donc pas de classes dynamiques, ni de
modles de classes.
les mthodes virtuelles : ces mthodes sont utilises pour faciliter lextension du code.
Malheureusement elles font appel des mcanismes coteux en temps machine ou en
mmoire et trs souvent mal gres par les consoles.

Certaines techniques de programmation sont donc inutilisables pour des raisons de


compatibilit. Deux points importants sont retenir. Les techniques de conception de code

- 44 -

I - Le domaine du jeu vido


gnrique sont viter. La mmoire doit tre alloue une fois pour toute, pas question den
rajouter plus tard

2.2. LES US ET COUTUMES DANS LA PRODUCTION DE JEUX


Le milieu des jeux vido se dtache de lunivers de linformatique. Il est peupl
principalement de fans, un savant mlange de passionns de la programmation et dartistes,
musiciens ou graphistes. Un zest de designers et lquipe de production est au complet. Bien
sr ce tableau est caricatural. La production de jeux vido est en train de sindustrialiser. Mais
certaines coutumes ont encore la peau dure.

2.2.1. Lesclavagisme de laffichage


Une maxime permet de dcrire simplement les relations qui lient les diffrentes parties dun
jeu vido : laffichage est roi. De manire pratique, pour pouvoir donner cette impression de
fluidit, le jeu doit pouvoir afficher au moins 24 images par secondes. En pratique, la
frquence cible reste 30 images par secondes. Cette cadence infernale rythme lensemble
du jeu. Les cratures virtuelles doivent donc tre au service de laffichage et non linverse,
comme cest souvent le cas en laboratoire. [Wright00] explique assez bien les relations qui
doivent exister entre les processus dcisionnels et le corps du jeu.

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 -

I - Le domaine du jeu vido


subsemption, une modification des rsultats. Au niveau conceptuel, cela signifie que la couche
suprieure effectue un traitement redondant (en partie seulement) avec la couche infrieure,
mais en tenant compte dautres paramtres. Il sagit en fait dune sorte de traitement de cas
particuliers. Lapproche qui consiste modifier les paramtres dentre est parfois plus simple
mettre en uvre. Elle pourrait correspondre une modification dtats qui engendrerait une
modification du raisonnement de la couche infrieure. Le travail de la couche suprieure vient
cette fois en complment de la couche infrieure, [Burke01] parle de supersumption.
Cependant il implique que larchitecture soit capable dvaluer limpact de ces changements
pour la couche infrieure posteriori.

Figure 16 : Les architectures de subsumption et de supersumption, leurs dpendances


inter couches.

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 -

I - Le domaine du jeu vido

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 -

I - Le domaine du jeu vido

Figure 17 : Niveau de dtail comportemental.

2.2.2. Une autonomie restreinte


La partie Le scnario (cf. page 16) explique clairement comment sont construites les
trames des jeux vido. La place limprovisation y est nulle. Lautonomie des cratures
virtuelles y est restreinte. Les techniques employes ressemblent davantage lcriture dun
livre ou dun film qu celle dun jeu vido Les actions du joueur sont prcautionneusement
prvues lavance. Tout cela contribue cette impression de cloisonnement et de frustration
que ressentent parfois les joueurs en dcouvrant les limites du jeu. Pourtant ces techniques
sont ancres dans les murs. Voici quelques raisons qui donnent une explication possible
cette rigidit.

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 -

I - Le domaine du jeu vido


est quasi absent. En fait lhistoire se monte au fur et mesure des actions du joueur et des
cratures virtuelles. Il ny a pas rellement de but, ni de trame. Bien sr ce type de gestion ne
peut convenir tous les jeux.
Le problme de lautonomie des cratures virtuelles concerne en fait le scnario. Des cratures
autonomes peuvent de part leurs actions dtourner le scnario, voir briser sa cohrence. Et de
part leur complexit, leur comportement est impossible prvoir dans toutes les situations.
Par contre de telles cratures sont capables de surprendre le joueur, prenant mme parfois
linitiative. Elles prennent vie . De cratures virtuelles, elles deviendraient de vritables
acteurs virtuels.

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 -

I - Le domaine du jeu vido


dinterrompre sa qute principale. Il aborde alors une qute secondaire qui devrait lui
permettre de trouver la lance.
Lapproche bottom up demande un travail de conception tout fait diffrent. Le scnario
nest plus une entit part mais merge de linteraction des diffrents personnages, quils
soient joueur ou non joueur. Cela implique de concevoir la psychologie des personnages, pour
essayer de prvoir lavance leurs ractions et ainsi lavancement du scnario. Bien sr cette
approche possde des failles, la cohrence de la trame nest toujours pas garantie. [Mateas00]
[Stern98] [Mateas01] [Nakatsu98] [Christensen96] [Rhodes95] discutent tous des apports de
ce type de gestion scnaristique. Tous suggrent la cration dune entit responsable de la
cohrence scnaristique. Elle serait capable dinfluencer les autres personnages (mme le
joueur en lui donnant des conseils) plusieurs niveaux. Elle pourrait modifier les dsirs des
cratures virtuelles, ou tout simplement leur donner des ordres. Selon le mme principe, une
autre entit pourrait tre responsable de la ralisation (lumires et camra). Ses motions
pourraient coller avec celles de la scne. Lentit pourrait alors diriger en temps rel.
Lexemple prcdent peut tre tendu pour illustrer le rle de cette entit :
Lermite a une rancur avec le dragon, qui a ras son village denfance. Lorsque le hro
lui parle de sa qute, il dcide alors de laider, pour assouvir son dsir de vengeance.
Cette conception se rapproche alors du jeu de rle. Le jeu de rle est en fait une rfrence de
comparaison idale. Il implique cette mme notion dinteractivit entre un scnario et des
joueurs, qui nexiste ni dans les films, ni dans les livres. Lui aussi utilise une entit
responsable du bon droulement scnaristique : le meneur de jeu.

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 -

I - Le domaine du jeu vido


certains jeux sont parvenus les intgrer avec une certaine russite (cf. Vie Artificielle, page
35). Ils ouvrent les portes de nouveaux jeux vido, au scnario dynamique, dans lesquels les
cratures virtuelles possdent une autonomie relle et peuvent prendre des initiatives. En un
mot, ces technologies permettent la cration de vritables univers.

3. Une validation par lexprience


Certains jeux comme Creatures [Creatures98], Black & White [BlackWhite01] ou encore Les
Sims [Sims00] ont su mettre en uvre de nouvelles techniques dcisionnelles, issue de la Vie
Artificielle (cf. Vie Artificielle, page 35). Ces jeux se dmarquent par la vie quils parviennent
insuffler dans leurs univers. Les joueurs y sont sensibles. Il ne faut cependant pas perdre de
vue que leurs processus dcisionnels ont t conus par des quipes de spcialistes, dans
loptique de leur jeu respectif. Cette thse se propose de concevoir une architecture gnrale,
qui aiderait la conception de tels mcanismes dcisionnels. Etant un outil de conception, il
est difficile de dmontrer son utilit. Le procd choisi est de lutiliser dans plusieurs
expriences lies au monde du jeu vido. Au travers de ces expriences, larchitecture va
permettre de crer des cratures virtuelles. En mesurant leurs performances, il sera alors
possible de juger ladquation de larchitecture.
Dans [Bourgine93], Paul Bourgine distingue 3 niveaux de cognition. Ces niveaux refltent
assez bien les diffrents besoins des jeux vido, depuis les jeux darcades et de stratgie aux
jeux daventure. A chaque niveau correspond des facults cognitives prcises :

Niveau ractif : la crature peroit son environnement et ragit en fonction de ses


perceptions.

Niveau hdonique : en plus la crature peroit les notions de peine et de plaisir, elle est
alors capable dapprendre et de mimer.

Niveau ducatif : la crature possde la facult supplmentaire de pouvoir modliser son


environnement, elle-mme, les autres. Elle est de plus capable de faire des estimations
quant lavenir (facult de simulation).

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 -

I - Le domaine du jeu vido


dadaptation. Pour rendre lexprience plus visuelle, ces facults seront mises au service dune
crature virtuelle, qui sera alors capable dapprendre se mouvoir correctement. Enfin, le
dernier domaine exprimental aborde le problme de la modlisation. Or, lun des problmes
rencontrs rgulirement par les dveloppeurs de jeu concerne la navigation. Une crature
virtuelle, dote de capacit de modlisation, va donc apprendre naviguer dans un
environnement complexe.

3.1. LA GESTION DES COMPORTEMENTS


Le problme principal des mcanismes dcisionnels est de prendre une dcision, cest--dire
choisir la prochaine action raliser. Cela revient choisir parmi plusieurs motivations ,
celle qui parat la plus prioritaire cet instant [Tyrell93]. Ces processus sont appels
Mcanismes de Slection dAction (ASM en anglais). La premire partie explique en quoi les
ASMs peuvent tre utiles au jeu vido. La seconde expose les lments qui permettront de
valider ou non lexprience. Ces lments dcoulent en fait des besoins des concepteurs de
jeux vido.

3.1.1. Les ASMs et les jeux vido


Les cratures virtuelles des jeux vido doivent paratre plus ralistes. Elles doivent donner
limpression de possder une personnalit. Mme pour un jeu darcade, les cratures peuvent
tre plus ou moins vicieuses, agressives, peureuses etc. Cette impression est obtenue en dotant
la crature dun comportement adapt et personnel aux situations quelle peroit [Bates92]. La
crature doit donc analyser la situation perue, puis en fonction de sa personnalit et de ses
buts, choisir la ou les meilleures actions effectuer. Pour cela elle doit mettre en uvre un
mcanisme de slection daction.
Les ASMs reprsentent le principe gnral et nimplique pas rellement de technique
particulire. Le concepteur a donc une grande libert pour raliser ce mcanisme de slection.
Cependant, il existe quelques cueils quil convient dviter. Ces cueils aboutissent un
comportement non optimal, mais surtout apparaissant comme incongru [Tyrell93].

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 -

I - Le domaine du jeu vido


opportunistes ragissent au moindre stimulus, lvalue pour savoir sil sagit dune
opportunit valable. Si cest le cas, elles agissent en consquence. Lopportunisme est donc
fondamentalement li la perception et lvaluation de ces perceptions. Les cratures
opportunistes sont donc trs ractives. Leur raisonnement se base avant tout sur leurs
perceptions [Loyall91].
La planification permet de construire des plans. Un plan est un ensemble dactions qui
senchanent pour aboutir un rsultat final. Chaque plan se divise en un certain nombre
dtapes. Chaque tape devient un sous but du but final. Ainsi, pour rsoudre une tape, la
crature peut encore avoir le choix entre plusieurs actions. La cration du plan est un
processus rcursif souvent complexe, deux voies sopposent :

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.

Le problme de la planification est la remise en cause des plans, la replanification. Dans un


univers dynamique, les situations voluent en quelques secondes. Revoir ses plans devient
alors non seulement indispensable mais frquent. Or, si le processus est lent, raisonner en
temps rel devient impossible [Stentz95]. Un autre problme parent est la gestion des
opportunits. Occupe la ralisation de son plan, la crature ne doit pas perdre de vue
certaines opportunits qui pourraient se prsenter.
La planification semble donc sopposer lopportunisme. En fait les cratures, pour paratre
vivantes, doivent donner limpression de planification et dopportunisme. La solution serait
donc un mcanisme de slection alliant la fois la ractivit de lopportunisme et le caractre
rflchi de la planification [Maes94]. Une solution consisterait garder tous les plans actifs en
mme temps. Chaque opportunit serait alors reprsente dans lun des plans actifs. Bien
videmment, ce processus est trs coteux, surtout lorsque les cratures sont complexes. Une
autre solution consiste laisser les plans merger. Un plan est une suite dactions. Lorsque le
processus opportuniste de slection daction aboutit une squence, ne peut-on parler de
plan ? En fait le problme est plus complexe. Ce qui caractrise la plupart des plans, cest
labsence de lien direct entre les sous buts perceptibles lors de chaque choix, et le but final,
- 53 -

I - Le domaine du jeu vido


perceptible seulement lors de ltape finale. Ainsi limportance des sous buts dpend
grandement de limportance du but final. Il parat donc peu probable quun processus ractif
puisse parvenir la squence idale dactions : les sous buts ne lui apparaissant pas
importants, ils ne seront pas slectionns. Lexemple ci-dessous illustre ce problme :
Une crature virtuelle a faim. Elle prend un morceau de viande crue. Cette viande ne
prsente alors aucun intrt culinaire pour la crature. Un comportement simplement
ractif empche la crature de manger la viande (pas comestible). Un comportement
planificateur peut lui suggrer de faire cuir la viande, la rendant ainsi comestible. La
crature pourra alors la manger. Seulement pour la partie ractive de la crature, faire
cuir la viande ne prsente aucun intrt direct par rapport sa faim.

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 -

I - Le domaine du jeu vido


La dernire solution prsente lavantage dtre compltement en accord avec la crature et son
environnement. Les deux premires sont non seulement arbitraires, mais en plus elles
ncessitent des rglages qui peuvent se rvler complexes.

3.1.2. Les lments de validation


Les jeux vido doivent donner aux joueurs limpression que les cratures virtuelles sont
intelligentes. Or ce que les joueurs peroivent de leur intelligence, cest dabord leurs actions.
Il est donc essentiel que les choix paraissent intelligents. Pour ce faire, ils doivent en premier
lieu viter les cueils vus prcdemment (cf. Les ASMs et les jeux vido, page 52) :

Symbiose russie entre lopportunisme et la planification.

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 machine restreint : le raisonnement doit pouvoir seffectuer en un temps machine


restreint pour un nombre important de cratures.

Mmoire : le mcanisme de slection ne doit pas demander trop de mmoire.

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 -

I - Le domaine du jeu vido


sur eux. Le mcanisme de slection doit donc permettre aux comportements de grer plusieurs
objets en simultane quels quils soient.

3.2. LA GESTION DES MOUVEMENTS


Les cratures virtuelles bougent, elles saniment. Ce domaine est en pleine effervescence, avec
lapparition notamment de moteurs dynamiques4 pouvant fonctionner en temps rel. Aprs un
bref tat des lieux, deux aspects importants permettront de valider les expriences, la
morphologie et les contrleurs.

3.2.1. Etat des lieux


Les procds employs aujourdhui pour animer les cratures virtuelles sont assez primaires.
En voici un aperu chronologique, au travers des grandes innovations qui ont marqu les jeux
vido.

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.

Logiciel permettant la simulation des principes de la mcanique (gravit, collisions,

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 -

I - Le domaine du jeu vido


Le principal problme de cette technique est laspect rptitif des mouvements obtenus
[Perlin00]. Une solution consiste crer des milliers danimations diffrentes. Lensemble
pouvant masquer cette impression. Mais le problme de la mmoire limite ce nombre.
Un autre problme se pose, les animations ne tiennent pas compte du contexte de laction. Il
serait trs coteux de crer toutes les animations de prhension ncessaire laction de
prendre, selon les diffrentes hauteurs dobjets, selon les humeurs du personnage etc.
[Badler99].
Enfin ces animations sont assez rigides. Elles ne peuvent se combiner entre elles quassez
difficilement (course pendant le tir, marche pendant le tir etc., voir [Boulic97]). De plus la
gestion des enchanements est assez complexe. Elle ncessite un gros travail de la part des
artistes, et la passage obligatoire par une position clef. Il est donc impossible de les
interrompre pour en enchaner une autre sans provoquer des -coups.

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 -

I - Le domaine du jeu vido

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.

Les degrs de libert


Toute crature peut tre dcompose en un ensemble de volumes relis entre eux [Kalra98].
Le niveau de prcision de la dcomposition dpend de leffet recherch. Ainsi pour un
personnage, il nest pas ncessaire datteindre un niveau cellulaire, une simple dcomposition
en membres articuls est souvent suffisante. Un personnage pourra donc tre compos de 14
volumes (si les mains et les pieds sont simplifis avec un seul volume pour chaque) : tte,
tronc, 2 bras, 2 avant bras, 2 mains, 2 cuisses, 2 mollets, 2 pieds.
Chacun de ces volumes est reli un ou plusieurs autres. Ces liaisons dfinissent les
articulations [Faure99]. Ainsi dans lexemple le pied est reli au mollet. Les articulations
permettent de tourner le pied selon deux axes. Chacune de ces rotations possibles est appele
degr de libert. En fait un degr de libert est une transformation simple (ne possdant quun
seul paramtre) autorise. La plupart des articulations sont des rotations, le squelette humain
nest pas rput pour son lasticit. Par contre, lun des corps peut se dplacer dans lespace
selon les 3 axes de translation. Ce sont l encore 3 degrs de libert.

- 58 -

I - Le domaine du jeu vido

Figure 18 : 2 degrs de libert pour la cheville.


Avec les degrs de libert sont apparus les descriptions de Lagrange [Baraff96]. Il sagit de
constituer une hirarchie parmi ces volumes. Lun est appel racine et possde les degrs de
dplacement dans lespace. Les volumes qui lui sont lis sont ses descendants, chaque liaison
fixe ses degrs de libert. Chacun de ces volumes peut lui aussi avoir des descendants et ainsi
de suite. De ce fait, la position de chaque volume est note en fonction de la position de son
pre.

Les corps rigides


Chaque volume est appel corps. Ils sont dits rigides sils ne peuvent se dformer. Ces corps
sont limits 6 types de degrs de libert : les 3 rotations, et les 3 translations [Tang95]. De
tels corps possdent lavantage de conserver leurs formes, quelles que soient les valeurs de
leurs degrs de libert.
La dynamique (cinmatique) est intimement lie avec un ensemble doutils mathmatiques
coteux [Witkin90]. Tout dabord elle travaille sur les forces (vitesses), ce qui loblige
- 59 -

I - Le domaine du jeu vido


effectuer une double (simple) intgration pour obtenir les positions des volumes. De plus, les
liaisons imposent des contraintes. Lensemble de ces contraintes doit tre pris en compte pour
connatre les nouvelles forces (vitesses) exerces sur chaque degr de libert [Ngo93]. Enfin
elle doit faire appel un algorithme de dtection de collisions pour dtecter dventuels
impacts, qui viennent modifier les forces (vitesses) en prsence [Mirtich98].
Les corps rigides possdent par nature moins de degrs de libert, les systmes rsoudre sont
donc en gnral plus simples. De plus, de par leur indformabilit, ils permettent
lalgorithme charg de la dtection de collisions dappliquer des mthodes de simplification,
qui amliorent de beaucoup son rendement [Mirtich98]. Malheureusement cette rigidit est
parfois troublante, laspect robotique des mouvements les dcrdibilise.

Les corps souples


Les corps souples, eux, possdent certains degrs de libert qui engendre leur dformation
[Christensen97] [Faloustos95]. Tout est alors imaginable. Bien sr cela entrane souvent des
abus, la rsolution des contraintes devenant alors intraitable en temps rel [Desbrun99]. De
plus leurs dformations rendent les mthodes de simplification de lalgorithme de dtection
des collisions inefficaces [Baraff92].
Par contre le ralisme est au rendez-vous. Il devient possible de simuler des vtements qui
flotte dans le vent [Desbrun99], de voir les muscles se contracter lors dun effort important,
etc. De plus ils sintgrent parfaitement dans les mcanismes de rendu procdural. Lide est
de dfinir la forme exacte de la crature en temps rel. La crature nest alors plus dfinie par
des faces, mais par un ensemble de primitives paramtriques [Terzopoulos94]. Chaque
paramtre devient alors un degr de libert.

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.

Les diffrentes formes de contrle : vers une conception aise


- 60 -

I - Le domaine du jeu vido


La ralisation de ces contrleurs peut savrer assez complexe. Cette complexit dpend
principalement de 2 facteurs [VanDePanne98] :

Nombre de degrs de libert moteur : plus la crature possde deffecteurs, plus la


synchronisation de lensemble peut savrer complique.

Complexit des mouvements : le mouvement est engendr par un ensemble dordres. Si le


mouvement est trs compliqu, gnrer les bonnes squences dordres savre difficile.

Pour simplifier la cration du module de contrle, il est possible de diviser les tches. Deux
grandes politiques se distinguent alors :

Fonctionnelle [Mataric98] [Hodgins98] : chaque contrleur est en charge dune partie du


mouvement. Lensemble des contrleurs ralise alors le mouvement dans sa globalit.
Lintrt est de pouvoir dsigner concrtement chaque contrleur selon sa fonction. Un
problme merge cependant. Il devient ncessaire de rgler les conflits qui peuvent
apparatre (plusieurs contrleurs donnant des ordres diffrents un mme effecteur).

Morphologique [Grzeszczuk95] [Christensen97] : la structure de contrle est divise selon


les emplacements moteurs cibls. Une partie centrale met un signal, qui au fur et
mesure de son cheminement vers les effecteurs, se transforme en ordre. Cette mthode
sinspire de la biologie. Elle prsente nanmoins un aspect bote noire qui rend la
conception difficile.

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.

Le contexte : mouvement paramtrable


Les mouvements ne peuvent tre raliss sans tenir compte du contexte. Il ne sagit pas de
crer un robot capable de refaire sans cesse le mme mouvement. Il faut donner lillusion de
la vie. Or, chez les vivants, aucun mouvement ne se ressemble exactement [Perlin00]. Mmes
les pas sont souvent diffrents. La principale cause de ces diffrences est la prise en compte de
facteurs extrieurs au mouvement. Ainsi, la prsence dun obstacle devant un pied pousse le
contrleur modifier lgrement sa trajectoire. Le pied vite lobstacle. Pourtant dun point
de vue gnral, le mouvement reste la marche (un pas en avant) et non pas lvitement.
Limpression de vie peut tre donne par lintelligence de la crature, mais plus encore par les
motions quelle fait passer. Certaines actions sont naturellement charges dmotions,
- 61 -

I - Le domaine du jeu vido


comme par exemple attaquer dans le dos. Mais la plupart des actions transmettent des
motions selon la faon dont elles sont excutes [Badler99]. Un mouvement bref trahit un
taux dadrnaline important
Chaque action doit pouvoir tre paramtre, selon les perceptions de la crature, mais aussi
selon son tat mental. Bien sr, ces paramtres peuvent tre plus ou moins nombreux selon les
cratures, ou les univers. Ce mcanisme doit donc tre gnrique et permettre aux concepteurs
de raliser des cratures aussi vivantes quils le dsirent.

Lapprentissage : possible volutivit


Les contrleurs permettent dintgrer des mcanismes dvolution [Ngo93]. Ainsi, les
contrleurs peuvent voluer avec le temps et permettre aux mouvements de changer. Le
premier avantage se situe au niveau conceptuel. La ralisation de ces contrleurs est souvent
complexe. Les calculs responsables des ordres sont parfois difficiles mettre en place. Il est
alors possible de laisser quelques facteurs dans lombre. La crature se chargera de les affiner
grce des mcanismes dapprentissage que le concepteur pourra mme superviser
[Grzeszczuk94] [Ventrella94].
Le second intrt est de permettre la crature dapprendre de nouveaux mouvements, et
pourquoi pas de crer des nouveaux contrleurs [Auslander94]. Le mcanisme de cration de
contrleur est assez complexe. Il dit en effet dterminer plusieurs paramtres :

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.

Les squences [Grzeszczuk94] : de mmes le contrleur doit gnrer des squences


dordres pour lensemble des effecteurs concerns. L encore la crature peut avoir un
aperu des valeurs clefs (dcoupage en petits mouvements continus, positions finales,
synchronisme).

Cet apprentissage de nouveaux mouvements est un aspect important de la cognition. Du point


de vue du jeu vido, cette capacit produit souvent des rsultats intermdiaires peu
satisfaisants et difficiles prvoir. Elle est donc rserve pour la production du jeu. Le joueur
nen voit alors que le rsultat final. Cette capacit dapprentissage de nouveaux mouvements
ne fera pas partie de lexprience.
- 62 -

I - Le domaine du jeu vido

3.2.4. Elments de validation


Le mouvement est au cur de la vie. Il est donc essentiel de doter les cratures virtuelles de
gestes expressifs et varis. Les contrleurs semblent apporter des solutions trs intressantes
ce niveau :

Economes en mmoire : il nest plus ncessaire de stocker un nombre important


danimations. Et pourtant les contrleurs peuvent engendrer une grande varit de
mouvements.

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 :

Synchronisation des mouvements.

Gestion des conflits internes.

Paramtrisation extrieure (perceptive).

Paramtrisation interne (tat desprit).

Auto apprentissage de certains paramtres.

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 -

I - Le domaine du jeu vido

3.3.1. La cartographie : gestion de souvenirs


Cartographier un lieu revient en construire une modlisation souvent simplifie. Ce modle
mental pourra par la suite tre utilis lors de la navigation proprement parler. Pour la
premire fois, il est ncessaire de faire appel la mmoire, et pas seulement une mmoire
informatique, mais bel et bien des souvenirs. Le premier problme qui se pose concerne le
niveau de dtail de la carte. Puis viennent les considrations sur le fonctionnement des
mcanismes lis au souvenir.

La granularit : les amers


Amer : position dans lespace servant de point de repre.
Lidal serait de construire une carte trs prcise des lieux. Toutes les informations
ncessaires pourraient y tre reportes [Kuffner99]. Deux problmes sopposent cette
approche :

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.

Environnement dynamique : lunivers est par essence dynamique. Les cratures sy


dplacent et le modifient, des vnements extrieurs le font varier. Une carte dresse un
instant t peut savrer trs vite errone quelques secondes plus tard.

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.

Les mcanismes ncessaires


- 64 -

I - Le domaine du jeu vido


Bien sr, le premier point important est de pouvoir mmoriser. Il est trs important que la
crature puisse se souvenir des choses dont elle pourrait avoir besoin plus tard. En
considration des limites de mmoire, il est important de choisir ce qui devra tre mmoris.
Mme si la crature se limite aux amers, elle devra parfois faire un choix parmi eux. Un
mcanisme doubli va lui permettre de slectionner les moins importants et de les supprimer
[Gers00]. La crature sera donc capable de grer sa mmoire comme une ressource limite.
Mmoriser certes, mais quoi exactement ? Certaines caractristiques sont importantes dautres
inutiles. Certaines sont persistantes, dautres volatiles. Le premier point important : la crature
ne peut mmoriser que ce quelle peroit, ou une information btie partir de ce quelle
peroit [Filliat99]. Second point, elle doit se limiter et ne garder que lessentiel (cf. La
mmoire, page 43). Certains lments vont lui permettre de choisir parmi ces attributs :

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.).

3.3.2. La navigation : exploitation de souvenirs


La navigation se divise en 3 tapes : la slection dune destination, la recherche dun chemin
ou dun dbut de chemin, et enfin le parcours de ce chemin. Selon la mthode choisie,
certaines de ces tapes peuvent tre simplifies lextrme, ou mme confies des modules
- 65 -

I - Le domaine du jeu vido


externes. Ainsi la recherche de chemin seffectue le plus souvent grce un algorithme de
parcours de graphes appel A* [Amit96]. Le chemin est alors tout trac. La premire partie
dcrit lapproche privilgier pour russir une bonne navigation. La seconde explore la
navigation dans ses aspects les plus complexes et dvoilent les caractristiques importantes
dont elle doit faire preuve.

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 -

I - Le domaine du jeu vido


Pour que lensemble fonctionne, la crature doit tre capable de reconnatre les amers. Il est
donc essentiel dincorporer dans chacun les informations ncessaires. Un mcanisme gnral
de mesure dcart entre certains attributs (mmoriss et vus) permet de connatre la certitude
de reconnaissance. Un dernier point trs important, issu de lobservation de rats notamment
[Touretzky94], garder en mmoire lamer actuel. En effet de par les liens qui les unissent, il
est possible de distinguer deux amers identiques selon leur emplacement dans le graphe des
associations. Le petit exemple suivant permet dillustrer ce cas :
Une crature se trouvant devant un amer A et se dplaant vers le nord, peut savoir sans
mme le reconnatre, quelle va se retrouver lamer B, grce au lien dplacement
vers le nord . Et ainsi prvoir les dangers qui la guettent. Cet exemple montre
limplication des actuateurs et des informations stockes dans lamer.

Mcanismes de choix, exploitations multiples, exploration


La navigation est un mcanisme encore plus complexe que ce que la premire partie a laiss
entendre. En effet, lors de la planification la crature doit pouvoir tenir compte de paramtres
importants. Ainsi, si plusieurs chemins sont possibles, elle doit privilgier le plus intressant.
Cette notion dintrt renvoie invitablement la couche comportementale, qui juge de
lintrt des perceptions. Il est donc important que chaque amer choisi puisse tre (ou avoir
t) valu par la couche comportementale. Ainsi, les chemins composs de plusieurs amers,
pourront eux aussi tre valus. Les chemins pourront ainsi tre choisis non seulement en
fonction des amers, mais aussi en fonction du contexte actuel de la crature. Ainsi, une
crature blesse doit privilgier les chemins peu ou pas dangereux.
Faire dune pierre deux coups. Ce clbre adage illustre merveille le point suivant. La
crature doit tre capable dajouter au but principal un ensemble de sous buts qui prsentent
un intrt [Blumberg94]. Elle doit pouvoir mesurer lapport deffectuer des dtours (cot du
dtour contre apport des sous buts raliss), et dcider de sa route au mieux. Une fois encore,
le comportement qui semble lavoir emporter, celui qui fixe le but principal, doit pouvoir tre
influenc par dautres comportements, secondaires pour linstant. Cette prise en compte de
multiples paramtres, cette fouille du graphe des connexions, tout cela semble coteux en
temps machine. Il est donc indispensable de les effectuer le moins souvent possible, et de
manire optimise.

- 67 -

I - Le domaine du jeu vido


Enfin, la crature ne doit jamais perdre de vue limportance de lexploration [Burke01]. Ainsi
les chemins encore inexplors doivent tre prsents lors de ses choix. Elle doit tre capable de
juger de lintrt dexplorer une nouvelle partie (lorsquelle ne trouve aucun chemin par
exemple), mais aussi tenir compte des dangers potentiels. Les parties inexplores apparaissent
sous formes damers spciaux dexploration, qui possdent un ensemble dattributs fixes.
Pour les amers gographiques, une heuristique simple peut permettre de mesurer la distance
vol doiseau avec le but et ainsi donner une approximation du cot du voyage quil reste
parcourir [Amit96]. Une fois de plus il est essentiel dintgrer le mcanisme dexploration
dans lensemble du processus dcisionnel de la crature. Cela assure la cohrence de son
raisonnement et lui permet de le modifier en cas de besoin.

3.3.3. Elments de validation


La navigation base sur les amers est trs intressante. Elle reprsente un moyen efficace de
grer une planification ractive, parfaitement intgre dans une architecture dcisionnelle. De
plus elle est suffisamment gnrale pour pouvoir tre tendue quantit dautres problmes de
reprsentation de lenvironnement.
La crature devra tre capable dexplorer un environnement inconnu. Den construire une
reprsentation suffisamment pertinente pour lui permettre de se guider au travers de cet
environnement et de retrouver les objets ncessaires sa progression. Elle devra prsenter des
parcours performants, tre capable de mixer des buts et de faire dune pierre deux coups.
Les mcanismes utiliss devront pouvoir tre excuts en temps rel. Ils auront leur
disposition une quantit de mmoire limite quils devront grer au mieux. Lensemble du
mcanisme devra sintgrer parfaitement dans larchitecture dcisionnelle.

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 -

I - Le domaine du jeu vido


sentir lintelligence briller derrire leurs comportements. Seules certaines techniques tires de
la recherche peuvent apporter ces caractristiques tant attendues. Malheureusement le jeu
vido est un domaine trs contraignant, laissant peu de ressources aux processus dcisionnels.
La mmoire et le temps machine sont rduits lessentiel, rendant ainsi ladaptation de ces
techniques difficiles.
Le chemin est encore long, encombr dobstacles. La mconnaissance de ces techniques, leur
inadaptation aux contraintes du jeu vido, et leur caractre imprvisible, loignent les
concepteurs des laboratoires de recherche. Il est donc essentiel de concevoir une architecture
nouvelle, permettant aux concepteurs, grce un outil adquat, de raliser aisment les
modles dcisionnels des cratures virtuelles. Cette architecture devra permettre de raliser un
certain nombre dexpriences. Toutes ces expriences permettront de juger de son utilit pour
le jeu vido, mais aussi de son efficacit la conception de cratures virtuelles.
Cependant les russites sont encore peu nombreuses. Il est essentiel de lutter contre les a
priori des concepteurs et des joueurs. Il est ncessaire de leur proposer un outil dont ils
pourront disposer loisir. Dont ils pourront contrler les moindres dtails, sans pour autant se
perdre dans les aspects techniques complexes. Cette nouvelle architecture doit permettre de
raliser des comportements adaptatifs, mais aussi des comportements ractifs plus simples.
Les aspects volutifs doivent rester sous un contrle fixe des concepteurs. Ils doivent pouvoir
diriger ces volutions, sans pour autant les rendre trop prdictibles. Aprs tout, le concepteur
est roi !

- 69 -

II - Les solutions existantes

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.

II. LES SOLUTIONS EXISTANTES


Le terme Intelligence Artificielle employ jusqualors, la t dans le sens le plus gnral qui
soit. Les concepteurs de jeux vido lemploient souvent sans aucune considration
particulire. Ce terme englobe leurs yeux toutes les techniques permettant lordinateur de
se comporter de manire intelligente. Il a vue le jour trs tt dans lhistoire de linformatique.
Il a attir une quantit impressionnante de capitaux. Mais les annes 80 ont marqu sa
disgrce. Les promesses faites nont pas t tenues. Les systmes experts, alors technologie
symbole de lIntelligence Artificielle, ont rvl leurs limites. Les capitaux ont fui, et pourtant
de nouvelles technologies nont cess dapparatre. Un nouveau dialogue sinstaure entre les
industries et la recherche. Et peut-tre mme entre le jeu vido et la recherche.
Seuls quelques jeux ont su adapter des technologies de pointe. Et ces jeux ont pour la plupart
marqu lhistoire des jeux vido. Cela sexplique en fait assez facilement. Les jeux veulent
crer des cratures qui paraissent intelligentes. Les chercheurs essaient de recrer
artificiellement lintelligence biologique. Un dtail semble diffrencier ces buts assez proches.
Le jeu vido ne cherche que lillusion, alors que la recherche vise reproduire
fondamentalement les mcanismes de la pense. En fait cela nest plus entirement exact.
Certaines tendances scientifiques plus rcentes se concentrent elles aussi sur les apparences.
Elles cherchent reproduire les mcanismes dcisionnels avant tout de manire fonctionnelle.

- 70 -

II - Les solutions existantes


Pour raliser une architecture de conception comportementale, il tait ncessaire danalyser en
dtail les diffrentes solutions dj proposes. Cette analyse se dcompose naturellement en
trois parties, chacune dentre elles correspondant lune des expriences de validation. La
premire se consacre donc aux mcanismes de slection daction. La seconde abordera la
gestion des mouvements et les premires facults dadaptation. La dernire enfin se
consacrera la navigation, et aux processus mmoriels associs.
Cependant, avant de dbuter il parat important de dfinir plus prcisment le sens de certains
termes que nous allons utiliser. En effet, selon les domaines, certains prennent des sens
lgrement diffrents. Pour viter toute confusion, des dfinitions jalonnent ce chapitre. En
voici une premire, titre dexemple :
Concept : ide qui dsigne un lment concret ou abstrait. On distinguera les concepts
fonctionnels qui dsignent des ides relatives au fonctionnement.
Pour clarifier les explications parfois techniques de ce chapitre, nous ferons appel de
nombreux exemples. Presque tous ces exemples mettent en scne un soldat devant reprer les
intrus et essayer de les arrter. Ces exemples illustrent toujours le paragraphe qui les prcde
et sont reprs facilement grce leur typographie particulire : barre noire sur le bord
gauche, italique.

1. Les techniques dASM


Processus dcisionnel : utilisation dun modle dcisionnel pour aboutir une prise de
dcision.
La conception des modles dcisionnels est souvent trs complexe. Si la majorit des
cratures virtuelles qui peuple les jeux vido affiche des comportements basiques et manque
cruellement de vie, cest bien sr parce que les ressources mises leur disposition sont faibles.
Mais cest aussi et peut-tre surtout parce que les techniques de lIntelligence Artificielle
moderne sont complexes et souvent difficiles mettre en uvre.
Larchitecture prsente dans cette thse doit pouvoir rpondre aux besoins actuels : permettre
aux concepteurs de raliser des processus dcisionnels aussi complexes quils le dsirent, et
ceci de manire aussi aise que possible. Lors de la conception des mcanismes dcisionnels,
deux points sont tudier avec grande prcision. Tout dabord le formalisme utilis est
crucial. Ensuite le mcanisme de dcision est au centre de tout et la technique employe est
donc primordiale.
- 71 -

II - Les solutions existantes

1.1. LE FORMALISME ET LA CONCEPTION


Formalisme : dsigne les lois qui permettent de mettre en forme en ensemble de concepts.
Par extension, il dsigne la forme quauront les symboles utiliss pour la conception.
Loutil li larchitecture doit permettre une conception aise. Loutil ne sadresse pas
seulement des experts, il doit donner le pouvoir aux concepteurs de raliser leurs cratures
virtuelles. Or, le formalisme sur lequel sappuie larchitecture est au centre du dialogue
concepteur - outil. Ce formalisme fera donc lobjet de la premire partie.
Cette partie a pour vocation dillustrer les diffrents formalismes utiliss dans les techniques
scientifiques modernes. Il se dcompose en trois parties, chacune abordant lun des aspects du
formalisme : la gestion des symboles, le formalisme structurel, et son expressivit. Chacun de
ces aspects sera mis en rapport avec les caractristiques indispensables vues dans la section
prcdente (cf. Les lments de validation, page 55).

1.1.1. Les symboles


Symbole : reprsentation visuelle ou linguistique dun concept.
Linformatique, et plus particulirement la programmation, se base sur une symbolisation. Le
code hexadcimal dun programme ninspire quincomprhension. Et pourtant, chaque code
implmente une donne ou une instruction. Les programmeurs utilisent des symboles pour
dvelopper les logiciels. Ces symboles leur permettent de rendre plus comprhensible la suite
de bits correspondant au logiciel. Ces symboles sont donc indispensables la conception.
Lvolution des langages informatiques correspond un enrichissement des concepts lis aux
symboles. Depuis les cartes perfores, jusquaux langages objets, en passant par les langages
structurs, ils deviennent de plus en plus loigns de la machine et proches de langages plus
naturels.
Le principe est similaire pour la conception de cratures virtuelles. Il est important de fournir
aux concepteurs une architecture symboliquement riche, susceptible dtre utilis par tous les
concepteurs, et pas seulement quelques adeptes des sciences de pointe. Cest pourquoi les
symboles utiliss sont si importants. Cette partie va explorer les diffrents formalismes
utiliss dans les principaux travaux de recherche : depuis Boole, jusquau formalisme
fonctionnel en passant par les ensembles flous.

- 72 -

II - Les solutions existantes

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 :

Valide : le fait est avr, elle la peru ou le peroit actuellement.

Invalide : le fait nest pas avr, mais son contraire lest.

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 :

Indfini : le fait nest ni valid ni invalid, la crature na pas dopinion.

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 -

II - Les solutions existantes

Larchitecture de Maes [Maes94] : elle se base elle aussi sur la logique de Boole. Des
modules sont chargs de valider des conditions (boolennes).

HAP [Loyall91] : cette architecture se base sur de nombreuses expressions boolennes,


permettant de dfinir les conditions de russite dune action, les conditions de
dclenchement, les conditions dchec. Le formalisme de Boole y est donc omniprsent.

Les conditions refltent un moyen simple dexprimer un descriptif de certains tats de


lunivers. Elles sont comprhensibles et la gestion de leur tat reste simple. Si de nombreuses
architectures utilisent ce formalisme, cest sans doute parce quil est accessible un trs grand
nombre de personnes. Ce nest donc pas un hasard si ces architectures ont toutes t cres
pour permettre autrui de gnrer ses propres cratures virtuelles.

Les ensembles flous


Le formalisme de Boole est parfait pour dcrire des environnements simples.
Malheureusement les mondes virtuels daujourdhui sont complexes et leurs attributs sont de
nature scalaire. Chaque attribut doit donc tre transform en un ensemble dtats boolens.
Chacun de ces tats correspond une ou plusieurs valeurs possibles de lattribut et leur
ensemble doit couvrir son domaine. Bien sr, le nombre de ces tats et les valeurs quils
reprsentent sont laisss lapprciation du concepteur. Ce dernier ne devra cependant pas
perdre de vue que ces tats vont diminuer la finesse de perception des cratures. Ils devront en
crer suffisamment pour permettre la crature de raisonner correctement. Parfois un bon
dcoupage permet dconomiser de ombreux tats.
Par exemple un attribut Temps dtermine le temps quil fait en ce moment dans
lenvironnement. Cet attribut pourra tre dcoup en deux tats : sec, pluvieux. Ces tats
seront suffisants pour savoir si une crature doit prendre un parapluie. Mais sil sagit
de grer un capitaine de navire, il est essentiel de dcouper lattribut en un nombre plus
grand dtats : sec, bruine, pluie, tempte, ouragan serait un minimum.
Ce dcoupage fait intervenir la notion de seuil. Ces seuils sont des valeurs charnires qui
permettent le passage dun tat lautre. Malheureusement dans la vie de tous les jours, il est
difficile de distinguer ces seuils, qui ne sont dailleurs jamais aussi nets. Une nouvelle notion
a permis de rendre ces seuils plus flous. Les taux et autres pourcentages sont devenus lgion,
ils hantent notre quotidien. Ainsi chaque valeur de lattribut est associ un taux
dappartenance aux diffrents tats correspondants. Chaque tat devient alors un ensemble
- 74 -

II - Les solutions existantes


flou, qui prend gnralement laspect dun trapze plus ou moins rgulier. Lopration de
transformation des attributs en ensembles flous sappelle fuzzification [Zadeh65].
Dans lexemple prcdent, les tats taient totalement dissociables. Il est possible grce
aux ensembles flous dattnuer les limites :

Figure 19 : Fuzzification de l'attribut Temps.


Ce formalisme flou ajoute donc chaque fait un taux actuel, correspondant la certitude de la
crature. Ainsi, il est possible pour un attribut donn dappartenir plusieurs tats en mme
temps. Cette notion de flou ajoute considrablement lexpressivit limite du formalisme de
Boole. La crature peut alors raisonner sur des notions moins arbitraires et moins tranches.
Elle garde une sorte douverture desprit.
Le capitaine du navire peut ainsi tout moment consulter le Temps quil fait. Pour un
Temps lgrement infrieur au seuil de la Tempte, le capitaine considre quil pleut.
Mais il considre aussi que la tempte est presque l et peut dons dcider de prendre des
mesures en consquence.
De nombreuses architectures ont utilis cette notion densemble flou pour transformer leurs
univers en un ensemble concret de faits et gommer cette rigidit caractristique du formalisme
de Boole [Funge99]. Les faits flous seront reprsents par la figure suivante :
Fait Flou

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 -

II - Les solutions existantes


mcanisme de slection, ou sur les comportements de la crature. Une fois de plus ces
symboles ne sont que des tiquettes qui permettent au concepteur de retrouver ses petits. Mais
cette fois ces tiquettes collent des modules fonctionnels. Ces modules fonctionnels seront
reprsents par la figure suivante :
Fonction

Deux symboles fonctionnels rapparaissent dans la plupart des architectures de slection


daction. Le premier catgorise les entres du systme et est communment nomm
percepteur. Le second dsigne une sortie et est appel actuateur. Le mcanisme de slection
sinspire donc des percepteurs pour pouvoir choisir les actuateurs.
Ce qui se trouve au centre, entre les percepteurs et les actuateurs, divise les opinions.
Cependant plusieurs notions intressantes semblent merger :

[Blumberg96] [Maes94] [Bates92] dfinissent la notion de but. Cest un objectif que la


crature doit atteindre. Les buts entrent souvent en comptition pour diriger la crature.
Les buts peuvent tre de trois natures diffrentes :

Homostasie : une valeur doit tre maintenue dans une plage donne. Si elle sen carte
la crature doit la ramener par ses actions.

Accumulation : le but de la crature est laccroissement continu de cette valeur. Elle


recherche par ses actions laugmenter.

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.

[McFarland97] explique clairement les prceptes de motivation et dopportunit. La


motivation est principalement interne la crature et se rapproche des buts. Elle
reprsente son inclination vouloir satisfaire un but. Lopportunit quant elle est lie
lenvironnement extrieur. Elle reprsente lintrt dun vnement ou dun objet pour la
crature, sans tenir compte de son tat interne. Larticle prcise quun ET logique lie ces
deux notions. Un objet nest rellement intressant que sil reprsente une opportunit et
que la crature en a besoin.

- 76 -

II - Les solutions existantes

[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.

De trs nombreux articles [Bcheiraz98] [Bcheiraz98] [Loyall97] [Bates92] [Burke01]


expriment limportance de la notion dmotion. Elle reprsente ltat motionnel de la
crature qui influe sur son comportement. Les motions changent non seulement laction
entreprendre, mais aussi la manire de lentreprendre. Les motions sont au cur de la
plupart des procds dapprentissage et dvolution. De par leur fonctionnement elles se
rapprochent des hormones.

Toutes ces notions sont riches en symboles et permettent de caractriser le fonctionnement du


mcanisme de slection daction. Certaines sont un peu redondantes, mais toutes dsignent
des aspects importants de la prise de dcision et devraient donc par consquent se retrouver
sous une forme ou une autre dans une architecture de slection daction.

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 -

II - Les solutions existantes


La structure fonctionnelle explique le fonctionnement du mcanisme de dcision. Elle est trs
utilise dans les systmes base dnergie comme les rseaux de neurones [Goetz97]
[Goetz97], ou encore certaines architectures hybrides [Noser99] [Badler99] [Blumberg96]
[Ferrell95] [Tu94]. Parfois cette structure est sous jacente et napparat pas lors de la
conception. Dans [Loyall91], le concepteur utilise des symboles boolens et des symboles
fonctionnels sans rellement crer de structure. Mais lensemble des symboles fonctionnels va
permettre de crer automatiquement la structure fonctionnelle correspondante.
Laction dAttaquer dpend de larmement du personnage. Lors de la conception,
larmement du personnage devient donc une condition de laction Attaquer. Le symbole
fonctionnel de condition permet en fait de dfinir le fonctionnement du systme. Si le
personnage veut Attaquer il doit dabord se trouver de larmement. La structure va alors
lier Chercher Armement Attaquer.
Les liens fonctionnels permettent tout dabord dexprimer des relations de dpendance entre
certains symboles. Dans [Loyall91], la notion de succs est en fait un lien fonctionnel dont
dpend lissu du comportement correspondant. Si la russite (ou succs) est valide, un
ensemble de procds, de nature motionnelle principalement, va alors se dclencher. De
mme dans les rseaux de neurones, les neurones sont lis dautres neurones, crant ainsi
autant de dpendances. Les liens fonctionnels seront reprsents par la figure suivante :
Fonction

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 -

II - Les solutions existantes


Dans lexemple, les neurones E1, E2, E3 et E4 doivent donc tre excuts avant S1, et
avant S2. Les dpendances fixent donc lordre dexcution (sens des flches noires dites
de fonctionnement).
Les structures sont souvent employes pour filtrer le raisonnement [Occello94] [Noser99]
[Blumberg94]. Le but est alors de gagner du temps machine lors du raisonnement. Le
mcanisme de slection est alors cantonn dans un sous mcanisme plus simple. Il existe
plusieurs grandes structures permettant ce filtrage, en voici une prsentation sommaire :

[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 :

Figure 20 : FSM d'un soldat.

[Blumberg94] met en place une hirarchie comportementale. Le plus haut niveau


comprend des comportements trs gnralistes. Chacun de ces comportements est alors
dcomposs en sous comportements plus spcifiques, se rapportant au comportement
gnraliste dont ils dpendent. Bien sr il est possible de crer un nombre important de
niveaux en ritrant le processus. Le filtrage seffectue niveau par niveau en commenant
par le plus lev. Le comportement qui lemporte passe la main ses sous comportements.
Le processus de slection se poursuit au niveau infrieur, mais il ninclut que les sous
- 79 -

II - Les solutions existantes


comportements du comportement slectionn. L encore le filtrage est important tout
comme le gain de temps.
Le mme soldat mais cette fois sou forme de hirarchie comportementale :
Niveau

Survivre

Tuer les ennemis

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 -

II - Les solutions existantes

Informations concernant lunivers du soldat, cela inclut la prsence dautres


personnages, allis ou ennemis, des informations les concernant

Fuir
Intrt : danger et
sant
Nature :
algorithme de
recherche de
chemin

Patrouiller

Alerter

Attaquer

Intrt : par dfaut


Nature : simple
suivi de trajectoire

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)

Figure 22 : Blackboard dirigeant un soldat.


Le filtrage comportemental est un puissant moyen dconomiser du temps machine.
Malheureusement, comme le souligne Toby Tyrell dans [Tyrell93], ce filtrage prcoce
entrane des consquences parfois fcheuses. Il est possible que la crature fasse alors un
mauvais choix. Ce phnomne provient sans aucun doute de la mthode de filtrage. Pour les
hirarchies comportementales, cette fonction doit rsumer lensemble des comportements
inclus dans le comportement gnral. Le moyen le plus sr est bien videmment de tester ces
sous comportements. Mais lintrt du filtrage est alors limit. Donc une fonction rsume ses
sous comportements. Or il est presque impossible de trouver une fonction idale. Pour les
FSM, le problme est plus voyant. A partir dun tat il est impossible de passer certains
autres. La crature a donc un comportement restreint qui peut savrer erron.

Les associations ou structure symbolique


Les liens vus ci-dessus sont imposs par larchitecture utilise. Cependant il est parfois
ncessaire de construire des liaisons entre les symboles. Ces liaisons reprsentent elles-mmes
des concepts et sont donc part entire de nouveaux symboles, appels souvent associations.
Ces associations peuvent tre unilatrales ou bilatrales et sont le fruit du concepteur. Elles
seront reprsentes par la figure suivante :

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 -

II - Les solutions existantes


concepteurs. Elles sont aussi utilises pour modliser la mmoire. Dans [Filliat99]
[Yamauchi96], ces associations servent construire une carte dynamique de lenvironnement
dun robot mobile au fur et mesure de son exploration.
Voici tout dabord un exemple de diagramme conceptuel permettant un dialogue simple.
Ce diagramme est volontairement trs simple et nimplique que 2 types dassociations :

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 -

II - Les solutions existantes

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.

Les scalaires et les paramtres


Les univers des jeux vido se sont complexifis. Lespace est devenu continu et
tridimensionnel. Les informations quils reclent sont donc dans leur majorit de nature
scalaire. Il est donc trs important que larchitecture soit capable de grer ces informations.
Ces informations correspondent nimporte quelle donne qualifiant lenvironnement, les
autres cratures et la crature elle-mme.
Dans un jeu dchec, lunivers est discret, dcoup en 64 cases. Chaque pice noccupe
quune seule case. Lunivers du Soldat est quant lui continu. Ses dplacements sont
aussi continus. Les informations de Position et dOrientation sont donc elles aussi
continues.
Le formalisme de Boole, de nature binaire, ne permet pas de grer aisment les donnes
scalaires. Il procde, pour ce faire, une tape prliminaire, laisse au soin des concepteurs,
qui consiste morceler les domaines de ces donnes en sous ensembles. Chaque sousensemble se voit alors attribuer un symbole et donc un fait. Le formalisme flou permet de
rendre ces ensembles moins rigides. Il rend la notion de frontire plus floue. Il introduit dans
larchitecture des coefficients de certitude, permettant de connatre avec prcision
lappartenance dune donne ses sous-ensembles. Cette tape prliminaire discrtise de
manire assez grossire un environnement presque continu. Elle discrtise donc les
perceptions de la crature. Cette discrtisation doit donc tre traite avec le plus grand soin.
Elle peut tre lorigine de comportements inappropris (cf. Les ensembles flous, page 74).
De plus elle est lorigine de la cration de nombreux symboles, absents dans lunivers, mais
introduits pour le processus dcisionnel. Pour peu que lunivers soit complexe, le systme
sen trouve alourdi considrablement.
- 83 -

II - Les solutions existantes


Pour dfinir la Distance qui spare le Soldat dun de ses Ennemis, il est ncessaire
dintroduire plusieurs faits :
Contact

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.

La gestion des objets de lenvironnement


Le jeu vido et les mondes virtuels en gnral, diffrent de la robotique de par la nature pr
segmente de lunivers. Les robots munis de capteurs, peroivent un environnement continu.
Ils doivent souvent dans un premier temps essayer danalyser leurs perceptions pour y dceler
des formes connues, ou objets de lenvironnement. Cette tape, cruciale en robotique,
correspond une segmentation de lespace peru. Dans les univers virtuels, les objets sont
dj distingus. [Costa96] explique que cet atout doit tre conserv. Il ne nuit que dans une
- 84 -

II - Les solutions existantes


moindre mesure au ralisme du comportement et permet de gagner un temps prcieux. Les
architectures doivent donc pouvoir grer cette notion dobjets de lenvironnement.
Objet de lenvironnement : dsigne toute entit perceptible pouvant tre caractrise par un
nombre dtermin de donnes. Une crature virtuelle peroit en gnral plusieurs objets
pendant son cycle dcisionnel.
Le formalisme de Boole peut tre tendu grce la notion de prdicat. Chaque prdicat (sorte
de fait) peut alors porter sur un ou plusieurs objets. Son tat dpend alors de la combinaison
prdicat et objets concerns. Il permet dexprimer des fait complexes, portant sur dautres
faits. Il donne la crature lautorflexivit qui peut servir son volution. Chaque prdicat
sera reprsent par la figure :
Prdicat
Objet 1
Objet 2

Le Soldat mesure la Distance qui le spare des diffrents objets de lenvironnement. Cela
donne lieu la cration dun prdicat :
Distance
Objet

Ce prdicat permet au Soldat de raisonner sur la Distance le sparant des objets de


lenvironnement. Ce prdicat prend donc une valeur diffrente pour chaque objet de
lenvironnement peru par le Soldat.
Le formalisme structurel, quant lui, ne se prte pas priori la gestion des objets.
[Ferrell95] [Tu94] se contentent de dfinir un ensemble de percepteurs. Ces percepteurs ne
grent pas rellement des objets, mais fonctionnent plutt comme les perceptions biologiques.
Ltape de segmentation y est soit absente, parce que lunivers est trs simple, soit
automatise, certains percepteurs ne se dclenchent quen prsence de certains objets
(prdateur). Aucune des architectures structurelles tudies ne gre dobjets.

- 85 -

II - Les solutions existantes


Quant aux architectures mixtes [Maes94] [Loyall91] [Blumberg94], la gestion des objets se
fait par le biais de faits, et se rapproche donc du formalisme de Boole. Dans [Maes94], cela
entrane dailleurs une augmentation considrable de la complexit des cratures. Chaque
objet pouvant tre lobjet de plusieurs actions, lensemble des combinaisons devient vite
important. Comme chaque combinaison possde un sens symbolique diffrent, elles doivent
toutes tre prsentes dans la crature.
Laction de Prendre un Pistolet comprend donc un objet de lenvironnement : le Pistolet.
Laction de Prendre une Trousse de Soin comprend elle lobjet Trousse de Soin. Bien que
laction Prendre soit la mme, sa signification et donc son but dpend de lobjet
concern. Le Pistolet permet au Soldat damliorer sa capacit de combat. La Trousse de
Soin lui permet damliorer sa condition physique. Dans les architectures mixtes,
Prendre un Pistolet et Prendre une Trousse de Soin seront donc deux faits diffrents.
[Costa96] [Burke01] propose une solution intressante. Il sagit de crer des percepteurs
spcialiss dans la description des objets de lenvironnement, que nous appellerons
percepteurs dobjet. Les objets envoys ces percepteurs dobjet, sont dcomposs et
envoys au mcanisme de slection. Bien sr, ces percepteurs sont utiliss plusieurs fois
durant un cycle de dcision, en fait une fois par objet de lenvironnement peru. Ce
mcanisme permet aux architectures structurelles de grer un nombre important dobjets, sans
pour autant trop alourdir le mcanisme de fonctionnement.
Les objets de lenvironnement inertes sont dcomposs par le Soldat en 2 percepteurs :
Sant : dfinit lintrt de lobjet pour la Sant du Soldat.
Combat : dfinit lintrt de lobjet pour la capacit de Combat du Soldat.
Chaque objet de lenvironnement sera donc dcompos en 2 perceptions. Ces perceptions
vont permettre au Soldat de traiter ces objets les uns aprs les autres, mme si plusieurs
sont visibles en mme temps.

1.2. LES MCANISMES DE SLECTION


Si le formalisme est cur de la conception, le mcanisme de slection pose les bases des
possibilits. Responsable des choix de la crature virtuelle, il doit leur permettre de paratre
intelligentes. Il est indispensable que les cratures virtuelles affichent certains comportements
(cf. Les ASMs et les jeux vido, page 52) :
- 86 -

II - Les solutions existantes

Stabilit comportementale

Gestion de lopportunisme et de la planification

Influence des comportements entre eux

De plus le mcanisme doit respecter les diffrentes contraintes inhrentes au domaine du jeu
vido (cf. Les contraintes du domaine, page 40) :

Ressources mmoires limites et figes

Temps machine restreint

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.

1.2.1. La stabilit comportementale


Dans [Tyrell93], Toby Tyrell souligne limportance de la stabilit comportementale. Elle
permet

un

comportement

suivi

qui

parat

raisonnable.

Elle

vite

loscillation

comportementale. Deux grands procds mergent de ltude des diffrentes architectures.


Tout dabord la stabilit conditionnelle, issue du formalisme de Boole, rgle ce problme par
lajout dune condition. Enfin la stabilit nergtique, proche du formalisme structurel, utilise
un procd dynamique.

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

Certaines architectures [Maes94] [Loyall91] tendent cette notion de satit conditionnelle.


Cette fois deux conditions sont employes. Elles permettent de savoir lorsque la crature a
- 87 -

II - Les solutions existantes


termin laction avec succs, ou si cette action fut un chec. Bien sr les conditions dchec et
de russite peuvent tre composes. Elles sont alors des expressions logiques, suivant la
logique de Boole (oprateurs ET logique et OU logique). Ces deux notions supplent la
satit. Elles apportent en plus de prcieuses informations quant la russite ou lchec de
laction, qui permettent la crature de mettre en uvre ses mcanismes dapprentissage.
Ces conditions portent sur lunivers (lenvironnement ou la crature elle-mme). Le
fonctionnement de la satit est donc rflchi, et correspond toujours un changement de
lunivers. De plus ce fonctionnement sintgre parfaitement dans une architecture base sur le
formalisme de Boole.
Le comportement de Poursuite du Soldat pourrait avoir comme condition de russite :
lennemi est porte dattaque, et comme condition dchec : lennemi nest plus visible.
La condition dchec pourra par exemple entraner un comportement dexploration
visant retrouver lennemi.

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 -

II - Les solutions existantes


Le comportement de Poursuite rcupre de lnergie lorsque le Soldat peroit un
Ennemi. Chaque seconde quil passe poursuivre cet Ennemi, une partie de lnergie du
comportement de Poursuite est consomme. La quantit dnergie consomme est fixe
par le concepteur (systme aveugle). Tant que le comportement de Poursuite conserve
suffisamment dnergie, il reste le comportement actif.
Cette fois, le comportement de Poursuite est interrompu si le temps coul depuis la
dernire perception de lEnnemi est trop long. Ce temps coul est donc utilis pour
diminuer lnergie du comportement de Poursuite (systme perceptif).
La satit perceptive se rapproche, quant elle, de la satit conditionnelle. Chaque
comportement actif possde un moyen de calculer sa satit partir de perceptions. Cette
satit permet alors, lorsquelle atteint un seuil, de stopper le comportement actif auquel elle
correspond. Cette mthode induit un aspect dynamique dans le systme. En effet il doit
conserver dun cycle sur lautre les comportements actifs. Laspect dynamique semble donc
tre la cl de la stabilit nergtique. Cette mthode soulve un point important, il est possible
de simuler des mcanismes boolens avec une architecture structurelle.
Laction de Prendre une Trousse de Soin devient inutile si le Soldat possde dj une
Sant parfaite. La Sant du Soldat joue alors le rle de condition de satit pour le
comportement de se Soigner (Prendre une Trousse de Soin).

1.2.2. Lopportunisme et la planification


Lantagonisme qui oppose lopportunisme la planification est lorigine de nombreux
articles [Occello94] [Guy99]. Tous concluent sur limportance dobtenir une symbiose entre
ces deux concepts. Lopportunisme permet la crature de rester lcoute de
lenvironnement. Il produit un comportement adapt aux situations instantanes. Il manque
parfois un peu de recul. La planification produit des schmas plus ou moins complexes
appels plans. Ces plans sont le rsultat dune rflexion qui prend en compte des dtails
loigns dans le temps. Leur structure plus rigide est souvent inadapte aux situations trs
dynamiques.
La partie La planification et lopportunisme donne un aperu du problme pos par cette
symbiose. En fait le terme de symbiose ne correspond pas rellement. Il implique deux
organismes. Or les plans et les ractions doivent cohabiter dune manire gale, sans
privilges. Ils doivent faire partie dun mme organisme, et doivent donc utiliser le mme
- 89 -

II - Les solutions existantes


genre darchitecture. Les deux parties qui suivent rsument le fonctionnement des deux
principaux courants de pense qui permettent cette unit. Attention, le phnomne de
planification en lui-mme ne sera pas abord. La cration de nouveaux plans requiert, de la
part de larchitecture, des facults qui ne seront abordes que plus tard.

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 :

Validit basique : le taux de validit des conditions permet dvaluer ladquation du


comportement avec la situation actuelle. Ce mcanisme simple ne permet pas de
distinguer des comportements rpondant des situations similaires (et possdant des
conditions proches).

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 -

II - Les solutions existantes


Distance

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

Le systme des priorits permet de favoriser la premire et la seconde rgle, puis la


troisime et enfin la quatrime. La premire rgle est plus spcifique que la seconde, elle
sera donc privilgie, ce qui peut paratre arbitraire, et ne se rvle pas toujours
efficace. Un formalisme flou permettrait de choisir entre premire et la seconde en
fonction de lattribut Dangereux de lEnnemi. Selon son appartenance lensemble flou
Dangereux ou Pas Dangereux, la crature pourra choisir de laffronter ou non.
La mthode de planification conditionnelle sexplique assez simplement en introduisant le
concept de plan conditionnel. Un plan conditionnel est un plan dont chaque tape ne se
dclenche quen prsence dun certain nombre de conditions. Ces conditions permettent
dobtenir la squence dsire, ordonne correctement. Toute la difficult est alors de trouver
les conditions adquates. Lajout de certains faits (conditions) factices permet de rsoudre ce
petit problme. Chaque tape possde un fait par plan auquel elle appartient et caractristique
de son ordre dexcution dans ce plan. La validation de ce fait prvient donc le dclenchement
dautres tapes inappropries et ordonne les actions.
Le soldat possde le plan suivant : fuir lennemi, se cacher un tournant, attendre,
bondir sur lennemi lorsquil surgit. Ce qui donne en terme de conditions :

- 91 -

II - Les solutions existantes


Distance

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 -

II - Les solutions existantes


met en place des mcanismes de logique et dinfrence. Or, ces mcanismes doivent souvent
grer de trs nombreux symboles (cf. Les scalaires et les paramtres, page 83) et sont donc
alourdis. La cohrence des prdicats est elle aussi difficile maintenir.

Les mthodes nergtiques


Le principe des mthodes nergtiques sinspire de cette notion de priorit vue ci-dessus (cf.
La mthode conditionnelle, page 90). Le principe est alors de calculer cette priorit en
fonction des perceptions de la crature (internes et externes). La priorit nest alors plus du
tout arbitraire, mais dpendante de la situation et de ltat de la crature. Les percepteurs
sont des sortes de gnrateurs, qui injectent de lnergie dans le systme. Les comportements
vont capter cette nergie et lenvoyer aux actuateurs qui la consomment. Cest de cette
mtaphore que ces systmes tirent leur nom.
[Yamauchi94] [Goetz97] [Schmidhuber89] exploitent ce mcanisme en implantant des
rseaux de neurones rcurrents dynamiques. [Tu94] met en uvre des poissons artificiels,
capables de se dplacer, de fuir les prdateurs, de slalomer pour une course. Toutes ces
architectures exploitent des systmes nergtiques entirement structurels. Elles nutilisent
aucune notion de logique. Elles sont trs efficaces pour grer des situations dynamiques et
appliquer des comportements ractifs.
Le soldat voit son comportement dcompos en 4 comportements : Fuir, Alerter,
Patrouiller, Attaquer. Voici les indices (informations perceptives) qui lui permettront
dvaluer lintrt de chacun :
Attaquer : Inverse (Danger Ennemi), Sant, Armement
Patrouiller : comportement par dfaut si aucun autre slectionn
Alerter : Proximit Alli, Proximit Ennemi
Fuir : Danger Ennemi, Inverse (Sant), Inverse (Armement)
Le systme utilise uniquement des perceptions et une seule fonction mathmatique trs
simple qui permet dinverser une valeur. Chaque facteur dintrt est important pour le
comportement. Si tous les facteurs sont exprims sur une chelle de 0 1, les facteurs se
multiplient entre eux. Calculer lintrt de tous les comportements revient donc ici 5
multiplications et 3 inverses.

- 93 -

II - Les solutions existantes


En ce qui concerne la planification nergtique, deux mthodes structurelles sont couramment
utilises. La premire se rapproche de la mthode conditionnelle. Des liaisons permettent de
relier les diffrentes tapes des plans. Ces liaisons jouent en quelque sorte le rle des
conditions. Lorsquune des tapes est active, les tapes suivantes sont stimules. Les plans
apparaissent donc comme des structures prtablies, laissant couler lnergie au travers de
leurs tapes. Cette nergie doit donc pouvoir rester dans le rseau dun cycle de dcision sur
lautre. Toutes ces structures doivent donc tre dynamiques. [Yamauchi94] [Goetz97]
[Schmidhuber89] analysent ces structures de plan un peu particulires, leur utilisation, leur
volution, et mme leur mergence. Cette mthode reste trs complexe mettre au point. La
convergence des rseaux vers des plans stables nest absolument pas garantie et dpend de
nombreux facteurs : structure, fonctionnement des neurones. Ces mcanismes sont donc
rservs des experts.
Voici une carte de Kohonen qui peut tre utilise comme rseau rcurrent
comportemental. Des mcanismes mathmatiques permettent de transmettre lnergie au
travers des liaisons noires sur le schma. Chaque neurone de cette carte correspond un
comportement du Soldat. Finalement, lun des comportements finit par accumuler toute
lnergie (convergence du rseau), et est slectionn.

[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 -

II - Les solutions existantes


les diffrents comportements et saccumule dans des comportements utilisables. Ces
comportements deviennent alors les hritiers de tous les comportements non utilisables.
Le Soldat, dj rencontr plusieurs fois, peut tre dot de plusieurs comportements :
Attaquer, Fuir, Se Dissimuler, Alerter, Patrouiller. Se Dissimuler ne sera alors pas
toujours un comportement adquat, notamment lorsque lennemi est trop proche. Son
nergie sera nanmoins transmise au comportement Fuir, qui favorisera ainsi ce
comportement. Lorsque Fuir sera slectionn, le soldat prendra de la distance, et Se
Dissimuler pourra alors tre slectionn.
Ces deux mthodes sintgrent elles aussi parfaitement dans le mcanisme ractif. Elles
utilisent les mmes procds de transfert dnergie. La planification est gre de manire
originale, mais savre efficace. Dans le cadre de la conception, il vaut mieux privilgier la
planification par hritage. Le processus dcisionnel est homogne. Il se dcompose en
quelques simples fonctions mathmatiques. Il est donc relativement rapide.

1.2.3. Les influences comportementales


[Blumberg94] souligne lintrt de ces influences. Dans une architecture base sur la
comptition, les comportements non slectionns doivent pouvoir influencer le comportement
slectionn. Chaque comportement est une entit simple. Une relation de pure comptition
permet dj dobtenir un comportement gnral assez volu. Mais en enrichissant ces
interactions, le systme acquiert de nouvelles dimensions. Ses possibilits sen trouvent
augmentes. Dans un premier il est essentiel dclaircir cette notion dinfluence. Puis deux
types de mthodes exposeront leurs solutions : les mthodes externes, les mthodes
nergtiques.

Les types dinfluence


Linfluence premire qui rgit les relations entre les comportements est la comptition. Cette
comptition reflte lide qu un instant donne, une seule ide occupe lesprit. Ce principe
est souvent appel mcanisme dattention [Scassellati98] [Balkenius93] [Balkenius99]
[Morn00] [Balkenius00] [Yamauchi96]. Cependant cette simple concurrence est une
approximation de la ralit. Les mcanismes dattention sont beaucoup plus complexes. Il
convient alors denrichir les interactions possibles, pour dpasser ces comportements gostes.

- 95 -

II - Les solutions existantes


Le soldat voit un Ennemi lourdement arm dbarquer face lui. Il dcide alors de Fuir.
Cependant une Armure se trouve un peu sur sa droite. En appliquant le comportement
Fuir, le soldat passe ct de lArmure. Sa prise ne lui aurait pourtant rien cot.
Linfluence peut tre tendue de manire assez simple pour permettre plusieurs
comportements de sexcuter en mme temps. Un problme de ressource se pose alors :
comment grer les conflits au niveau des actuateurs. Le dclenchement de comportements en
parallle ncessite donc un mcanisme de gestion de conflits. La plupart des systmes utilise
la notion dexclusivit. Elle permet de ne garder que le comportement le plus intressant en
cas de conflit.
Dans lexemple ci-dessus, ce type dinfluence permet de dclencher les comportements
Fuir et Ramasser (Armure). Seulement lexclusivit au niveau de la direction du soldat
permettra de nutiliser que le comportement Fuir. LArmure sera donc toujours
dlaisse.
Une influence encore plus pousse est ncessaire pour voir lapparition de certains
comportements. Il est important que les comportements puissent sinfluencer mutuellement.
Les ordres de certains doivent renforcer les ordres dautres ou au contraire les inhiber. Ce
mcanisme est par essence nergtique et se prte donc peu au formalisme de Boole.
Cependant plusieurs mcanismes externes peuvent tre adjoints.
Si le comportement Ramasser (Armure) pouvait influencer le comportement Fuir, il
redirigerait la fuite vers lArmure. Le soldat parviendra alors non seulement fuir, mais
en plus rcuprer un objet prcieux qui assurera sa survie.

Les mthodes externes


Lextension des systmes conditionnels pour la gestion parallle de plusieurs comportements
est relativement aise. Il suffit dajouter un mcanisme de gestion de conflits. [Boulic97], qui
tudie le problme du contrle moteur, tablit les principales relations qui permettent de les
rgler. Voici donc les catgories de conflits qui peuvent survenir entre deux comportements
activant le mme actuateur :

Standard : le comportement ne sexcute que si aucun conflit na lieu.

Exclusif : lorsque le comportement est activ, les autres comportements en conflit sont
abandonns (cela concerne tous les actuateurs).
- 96 -

II - Les solutions existantes

Pondr invit : le comportement permet lexcution dautres comportements en parallle,


en cas de conflit il cde la priorit.

Pondr mix : le comportement permet lexcution dautres comportements en parallle,


en cas de conflit les ordres sont moyenns.

Pondr forc : le comportement permet lexcution dautres comportements en parallle,


en cas de conflit il conserve la priorit.

Absorbant : tous les autres comportements doivent tre stopps, quil y ait un conflit ou
non.

En fait, les architectures utilisent souvent seulement la premire catgorie. Chaque


comportement utilis garde ainsi sa cohsion (tous ses actuateurs sont excuts selon ses
dsirs). Les autres catgories servent principalement pour les problmes danimations et sont
plus complexes grer car ils entranent parfois une perte de cohsion. Ces catgories sont
attribuer aux comportements. Seuls les comportements possdent la notion de cohsion
ncessaire lannulation des autres comportements. Cette mthode se base entirement sur le
talent du concepteur. Cette gestion de conflit est donc rigide et ne tient aucunement compte du
contexte.
Voici tout dabord quelques actuateurs du soldat :
Direction : dirige le soldat et lui permet de se tourner.
Vitesse : dplace le soldat dans sa direction et module sa vitesse de dplacement.
Direction Tir : dirige le bras qui tient larme.
Les comportements Fuir et Ramasser (Armure) entrent en conflit au niveau de
lactuateur Direction. Si Fuir est Pondr Invit, alors il cde la priorit au
comportement Ramasser (Armure) pour lactuateur Direction. Le soldat parvient donc
fuir tout en rcuprant lArmure. Un problme survient alors si lArmure se trouve en
direction de lEnnemi.
La gestion des mcanismes dinhibition et de renforcement est plus complexe intgrer dans
les systmes bass sur le formalisme de Boole. Elle fait donc appel un systme externe, le
plus souvent nergtique. Ces mthodes sont exposes ci-dessous (cf. Les mthodes
nergtiques, page 93).

Les mthodes nergtiques


- 97 -

II - Les solutions existantes


Les principes dinhibition et de renforcement fournissent un moyen dinfluence inter
comportementale efficace. Dans la partie prcdente (cf. Les mthodes externes, page 96),
linfluence ne porte que sur lintrt des comportements. Dans les systmes nergtiques,
capables de paramtrer les actuateurs de manire scalaire, linfluence peut bien sr porter sur
lintrt, mais aussi sur les paramtres. Ces deux mcanismes fonctionnent de manire
diffrente.
Lintrt, tout dabord, est une mesure relative. Elle na de sens quen comparaison des
autres mesures dintrt. Linhibition permet un comportement de dfavoriser un autre
comportement. Le renforcement permet de le favoriser. Ces relations permettent de faire
varier sur des bases simples les intrts des diffrents comportements. Chaque comportement
utilise son nergie propre pour faire varier lintrt des autres. Plusieurs variantes ont t
utilises :

[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 -

II - Les solutions existantes


et linhibition. Linfluence des comportements sur leurs paramtres respectifs peut prendre
deux formes :

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.

1.2.4. Les contraintes de ressources


Les ressources sont au cur des contraintes. La mmoire est trs lie au formalisme.
Cependant, les diffrences entre les formalismes ne sont pas flagrantes. Une recompilation des
symboles permet dobtenir un encombrement mmoire quivalent au formalisme structurel.
Le problme se situe donc au niveau du temps machine. Les diffrents mcanismes ne sont
pas du tout aussi gourmands. Les deux prochaines parties analysent les cots des deux grandes
classes darchitectures.

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 -

II - Les solutions existantes

Transformation des informations en faits : les informations scalaires sont transformes en


faits. Le nombre de tests ncessaire dpend du nombre densembles correspondant
chaque attribut.

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.

Il est difficile dacclrer le processus de discrtisation des informations scalaires. Lorsquun


attribut possde trop densembles (plus de 5), un simple algorithme de dichotomie permet de
gagner un peu de temps. Si le formalisme flou est utilis, tous les ensembles doivent tre
tests, pour pouvoir mesurer lappartenance de lattribut chacun deux. Ce calcul est
relativement simple :

3 tests : ils permettent de connatre lappartenance de la valeur aux diffrentes parties du


trapze flou.

1 soustraction et 1 multiplication : ncessaires si lattribut correspond aux pentes du


trapze, permet de calculer le taux dappartenance exact.
Parfois bien sr la catgorisation est plus complexe, elle dpend de plusieurs attributs et
demande des calculs compliqus. Lattribut Proximit de lEnnemi se divise en 3
ensembles :
Contact : lEnnemi touche presque le soldat. Le soldat peroit lEnnemi et peut le
frapper.
Visible : le soldat peut percevoir lEnnemi.
Eloign : le soldat ne peroit pas lEnnemi.
Le relief et les positions des personnages permettent de savoir si le Soldat peut voir les
autres. Si ce nest pas le cas, lEnnemi est dclar Eloign. Sinon, la distance mesure
permet de savoir si lEnnemi est au Contact ou simplement Visible. Cette dernire
catgorisation peut tenir compte dun nombre important de facteurs, champ de vision et
distance, porte de loue et discrtion de lEnnemi, etc.

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 -

II - Les solutions existantes

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.

Conditions similaires : au sein dune crature, plusieurs comportements partagent des


conditions identiques. Il est alors possible de les factoriser, et donc de ne les valuer
quune seule fois.

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.

En conclusion, le temps machine et la mmoire dpendent du nombre de conditions


diffrentes valuer, mais aussi du nombre de cratures. Ltape de transformation peut tre
trs coteuse. Sa complexit dpend essentiellement de la structuration des informations du
jeu, et de leur adquation avec le raisonnement de la crature.

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 -

II - Les solutions existantes


La structure est difficile optimiser, puisquelle dpend entirement du concepteur. Il est
cependant possible de factoriser des portions identiques de chemins. Les oprateurs
mathmatiques chargs de transformer lnergie des entres du systme peuvent alors tre
factoriss. Cela rduit considrablement leur complexit et factorise une partie du traitement.
Un chemin dnergie permet dobtenir linfluence de la Proximit Ennemi. Ce chemin
peut tre factoris et utilis pour les comportements Fuir et Attaquer. Bien sr, une
partie du traitement postrieur peut spcialiser cette influence pour chacun des
comportements.
[Schmidhuber90] [Beer00] [Goetz97] utilisent des rseaux de neurones dynamiques
rcurrents. La nature rcursive de ces rseaux impacte de manire consquente sur la longueur
des chemins. En effet ces rseaux instaurent des circuits, lnergie repasse donc plusieurs fois
dans certaines portions. Le fonctionnement se base alors sur la convergence de ces rseaux.
Lnergie finit par se localiser en un seul module.
Le Soldat possde un rseau de neurones rcurrent compos de 9 neurones
interconnects. Plusieurs entres totalement interconnectes, non reprsentes sur le
schma, alimentent le rseau en nergie :

Figure 25 : Carte nergtique de dcision, le chemin nergtique le plus long suit le


dgrad des liaisons.
Si le rseau nest pas rcursif, le chemin le plus long mesure (en dgrad de gris)
parcourt 10 liaisons. Si le rseau est rcursif, le chemin le plus long peut tre
virtuellement infini. En fait, cette longueur dpend directement de la rapidit de
convergence du rseau.
La complexit structurelle dpend directement de la complexit de la crature. Quant la
complexit des oprateurs, elle peut tre grandement amliore selon les informations gres
par le jeu. Des informations pertinentes dj prsentes vitent des traitements la crature.

- 102 -

II - Les solutions existantes

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.

2. Ladaptation au travers des techniques de contrle du


mouvement
La partie 1.2 Les cratures au travers des styles de jeux a mis en avant limportance de
possder des capacits dadaptation. Elles leur permettent ainsi de changer pour mieux
correspondre aux attentes des joueurs qui interagissent avec elles. Les domaines dapplication
des techniques dadaptation sont nombreux au sein des jeux vido. Lun deux concerne les
mouvements des cratures virtuelles.
Le mouvement est souvent considr comme un synonyme de vie. Les jeux vido sont avides
de toute technique permettant de rendre leurs cratures plus convaincantes. Les techniques
danimation sont en pleine rvolution. [NgThowHing95] recense cette volution et met
laccent sur lapparition de la dynamique (cf. Etat des lieux, page 56). Lintgration des lois
de la physique permet dobtenir des animations plus ralistes. Mais elle complexifie aussi le
problme. De la cinmatique, qui se contente dtudier les mouvements et donc les vitesses,
la dynamique, il faut maintenant sintresser aux forces.

- 103 -

II - Les solutions existantes


La cinmatique tudie les positions au travers du temps. Elle a donn naissance au
keyframing . Cette technique sest avre efficace, mais le ralisme est laiss
lapprciation de lanimateur. En effet, les masses ne sont pas gres. La dynamique permet
de palier ce problme. Mais cette nouvelle dimension (les masses) est complexe
reprsenter graphiquement, et ses consquences sur le mouvement sont difficiles prvoir.
Les concepteurs, habitus la cinmatique, doivent sadapter cette nouvelle technique. Des
outils performants ont donc t crs. Ils permettent de grer les forces et sinspirent des
systmes positions cl. Dans la premire partie, nous expliquons le problme pos, et sa
rsolution mathmatique. La seconde dtaille une autre approche, dans laquelle la conception
des animations est transforme. Enfin, la dernire partie dcrit les mcanismes dadaptation.
Nous tudierons comment ils facilitent le travail des concepteurs, et favorisent la robustesse
des animations dynamiques.

2.1. UN PROBLME MATHMATIQUE : LAPPROCHE PAR LE HAUT


Les techniques danimation traditionnelles fonctionnent base de positions cl. Chaque
position cl est plus ou moins loigne dans le temps par rapport la prcdente. Lensemble
de ces positions cl dcompose le mouvement global de la crature. Le systme doit alors
trouver seul toutes les positions intermdiaires ncessaire la fluidit gnrale du mouvement.
Le systme qui permet de trouver ces positions intermdiaires sappelle interpolation. Les
premiers interpolateurs ne graient que les contraintes cinmatiques. La puissance de calcul
des machines a trs vite permis de grer dautres contraintes, introduisant la dynamique dans
le processus de rsolution. Cette introduction permet de gagner en ralisme. La gestion des
masses et des forces rapproche linterpolateur de la ralit [Brogan98] [Hecker97].
Linterpolation est en fait un processus mathmatique assez complexe bas sur le principe de
rsolution des quations diffrentielles [Witkin95]. Cette partie dtaille la rsolution de ce
problme mathmatique. La premire partie dcrit les concepts de base ncessaires la
comprhension gnrale du problme. La seconde partie expose le principe des contraintes,
leur rle, leur impact sur le systme de rsolution.

- 104 -

II - Les solutions existantes

2.1.1. Les concepts de base


Le problme de la simulation dynamique se dcline dans cinq dimensions. Lespace regroupe
les trois premires, le temps la quatrime et les forces la dernire. En fait, la simulation
dynamique doit calculer les nouvelles positions en tenant compte :

des anciennes positions

des forces

du temps qui sest coul

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 -

II - Les solutions existantes


Degr de libert : en rgle gnrale, paramtre unique dont la valeur permet de dfinir une
dformation, une translation selon un axe ou une rotation selon un axe.

Articulation compose dun ou


plusieurs degrs de libert
Corps rigide

Figure 26 : Un modle de corps humain, ses corps rigides, ses articulations.


Deux formalisations du problme sont possibles. La premire consiste distinguer chaque
corps rigide indpendamment [Baraff95]. Chacun possde alors six degrs de libert : trois
translations et trois rotations. Les liaisons sont alors reprsentes par un ensemble de
contraintes, qui empchent par exemple deux corps rigides de se dissocier. La deuxime
formalisation permet de nexprimer que les degrs de libert rels de la gomtrie complte.
Cest le formalisme de Lagrange [Baraff96]. Un corps rigide est choisi comme corps racine, il
possde en gnral les six degrs de libert conventionnels. Les degrs de libert des corps
rigides directement lis au corps rigide racine sont alors dfinis en fonction des degrs de
libert autoriss par larticulation. Le processus est alors ritr. Tous les corps rigides sont
alors dfinis en fonction du corps rigide auquel ils sont lis, sauf le corps rigide racine.

- 106 -

II - Les solutions existantes

Corps rigide : 6 degrs


de libert

2 corps rigides relis par 1 degr de


libert : une rotation

Figure 27 : Degrs de libert, formalisme de Lagrange.

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 :

Globale ou localise : les forces globales sappliquent lensemble du corps rigide, et


donc son centre de gravit. Elles sont les plus simples calculer. Par opposition, les
forces localises sapplique un autre point du corps rigide. Un changement de repre est
alors ncessaire pour obtenir les forces appliques au centre de gravit.

Universelle ou gographique : les forces universelles sappliquent en tout point de


lespace de manire identique. Les forces gographiques ne sappliquent quen certains
endroits de lunivers. On parle alors de champ de force :

Unique : la force ne sapplique quen un seul point de lespace.

Homogne : sur la zone du champ la force sapplique de manire identique en tout


point du champ.

Radiale : la force dcrot au fur et mesure que la position scarte du centre de la


zone.
- 107 -

II - Les solutions existantes

Complexe : la force est complexe dterminer, mais dpend de la position du corps


rigide.

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 -

II - Les solutions existantes


ncessaires la synchronisation de tout mouvement un peu complexe [VanDePanne94]
[VanDePanne98] [Faloustos95].

La simulation dynamique
Il est temps de rcapituler le fonctionnement gnral des mcanismes de simulation
dynamique [Witkin95]. Il se divise en quatre tapes :

Calcul des forces externes et internes.

Calcul des acclrations des degrs de libert.

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

Figure 28 : Rcapitulatif du fonctionnement des simulations dynamiques.

2.1.2. Les contraintes


Il est primordial de respecter les lois de la mcanique tout au long du processus de simulation
dynamique. Cela permet dobtenir le ralisme escompt. Par exemple, la simulation doit
empcher linter pntration des corps rigides et engendrer une collision et donc un ou
plusieurs contacts. En fait ces lois viennent contraindre les liberts de mouvement des corps
rigides. Elles contraignent donc leurs degrs de libert.
Les contraintes permettent donc le respect des lois de la mcanique. Elles portent sur les
degrs de libert, leurs vitesses ou leurs acclrations [Witkin90]. Elles sont utilises
notamment pour :

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.

Empcher linter pntration des corps rigides.


- 109 -

II - Les solutions existantes

Grer les frictions aux points de contact.

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.

Un problme dquations diffrentielles ordinaires


Les articulations, les contacts servent de conducteurs aux forces des corps rigides. Ces corps
ne forment alors plus quun seul solide sur lequel sappliquent de nombreuses forces. Les
premires quations diffrentielles permettent de dcrire les articulations et les contacts, qui
sont en fait un type un peu spcial darticulation [Baraff95] [Baraff94].
Certaines contraintes sexpriment sous la forme dquations diffrentielles, dont les variables
sont les degrs de libert des corps rigides. Il est possible de dfinir des points dattache entre
les corps rigides, appels jointures, et donc certaines valeurs pour lesquels ces jointures seront
superposes. Les corps rigides paratront alors lis. Ces quations sont donc holonomiques :

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 -

II - Les solutions existantes


Soient

a , b

x ,
ax b 0 axb 0

si a x b 0

Cet artifice mathmatique permet dobtenir un systme dquations diffrentielles ordinaires,


quelles que soient les contraintes utilises. [Witkin90] dcrit plus en dtail les types de
contraintes possibles, et celles qui ne le sont pas.

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 -

II - Les solutions existantes


Ces mthodes se basent toutes sur la mme mthode gnrale de fonctionnement. Tout
dabord, elles introduisent une mesure de lerreur commise par le systme de rsolution. Cette
erreur correspond la plupart du temps aux apports ou aux pertes dnergie engendrs par le
processus de rsolution. Le processus de rsolution intgre alors les contraintes une une en
grant leurs impacts sur les contraintes dj intgres. Lorsquun problme survient, le
systme de rsolution relaxe la ou les contraintes qui gnrent le moins derreur.
Ce processus itratif savre trs efficace. Il a notamment t utilis dans Hitman [Hitman00]
[Jakobsen01]. [Faure99] [Baraff94] [Baraff91] [Baraff96] montrent que le nombre ditrations
ncessaire reste trs bas. Cette mthode savre donc particulirement efficace, aussi bien au
niveau de la gestion des systmes sur contraints ou cyclique, que du temps machine.

2.2. LES CONTRLEURS : LAPPROCHE PAR LE BAS


Lapproche prcdente consistait intgrer dans le systme de simulation dynamique des
contraintes permettant de dfinir la position cl atteindre. Les schmas de pense distribue
ont permis une nouvelle approche ce problme. Cette fois plus question de dfinir une
position darrive. La crature virtuelle intgre alors un certain nombre dentits
dcisionnelles, appeles contrleurs, qui vont dicter sa conduite en injectant des forces
internes dans le systme dynamique [VanDePanne94].
Contrleur : module responsable pleinement ou en partie dun mouvement. Il procde en
envoyant des ordres aux actuateurs.
Le problme est alors invers. Plutt que de dfinir des positions cl, cest--dire le rsultat
final, le concepteur va devoir partir den bas et concevoir des contrleurs susceptibles de
produire le mouvement quil dsire. Ces contrleurs deviennent alors responsables du
mouvement de la crature virtuelle. Ils introduisent des forces dans le systme pour le rguler.
De nombreux systmes ont utilis cette notion de contrleur [Mataric98] [Sims94]
[VanDePanne98] [Terzopoulos94]. De ces systmes mergent plusieurs types de contrleurs.
Ces types se distinguent entre deux selon deux axes bien distincts. La premire partie dcrit le
rle de la morphologie dans la gense de ces contrleurs. La seconde dtaille limportance des
informations utilises par ces derniers.

- 112 -

II - Les solutions existantes

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

morphologie. La conception est alors facilite par un mcanisme de recherche, qui va


dterminer la meilleure morphologie. Le concepteur na plus alors qu configurer ce
- 113 -

II - Les solutions existantes


mcanisme, pour obtenir ce quil souhaite. Ce mcanisme dvolution sera abord plus loin
(cf. Ladaptation par lvolution, page 122).

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.

[Auslander94] [VanDePanne92] [Maes90] [Grzeszczuk95] [VanDePanne94] [Brooks89]


[Tu94] utilisent des rseaux de composants simples. Ces rseaux permettent de gnrer les
ordres corrects, qui engendrent le mouvement. Souvent ces rseaux sont regroups en sous
rseaux, chacun sattelant une fonction particulire [Grzeszczuk95] [Brooks89] [Tu94].
Dautres fois ces rseaux voluent gntiquement [VanDePanne92]. Enfin, certains
rseaux apprennent gnrer les bons ordres par renforcement [Auslander94] [Maes90].

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).

2.2.2. Les informations


Le second caractre qui distingue les contrleurs entre eux est leur facult dintgrer dans leur
processus de contrle des informations provenant de lenvironnement ou de la crature
- 114 -

II - Les solutions existantes


virtuelle. Le rapprochement entre le contrle du mouvement et les mcanismes de slection
daction est assez simple. Le but est similaire, gnrer des ordres des actions, choisir les
bonnes actions. La complexit du contrle de mouvement rside dans le calcul des paramtres
fournir aux actuateurs.
Deux classes de contrleurs apparaissent alors. Les premiers nutilisent aucune information
pour procder au calcul de leurs ordres. Ils seront dcrits dans la premire partie. Les autres,
quant eux, se basent sur des perceptions de lenvironnement de la crature, ainsi que sur des
perceptions internes. Le rle de ces informations et leur impact sur le contrle seront dcrits
dans la seconde partie.

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.

Une squence : le mouvement se dcompose en une squence damplitudes. Cest la


squence qui permet de dfinir le mouvement dans son ensemble. Deux ordres sont
spars par une priode, que nous appellerons dphasage.

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 -

II - Les solutions existantes

Actuateur
Jambe
Droite

MARCHE

Actuateur
Hanche

Figure 29 : Contrleurs aveugles.


[Hodgins97] [Grzeszczuk94] montrent la capacit de ces contrleurs se combiner entre eux
pour obtenir des mouvements plus complexes. Cependant, ces contrleurs dpendent dun
mcanisme dadaptation coteux. Leur robustesse aux changements de lenvironnement est
faible, sans la mise en place dune nouvelle adaptation.

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]

[Terzopoulos94] [Brooks89]. Ces perceptions permettent aussi la ralisation de contrleurs


capables de gnrer des mouvements complexes, difficiles gnrer sans elles [Auslander94].
Calculer des ordres partir de perceptions, les envoyer divers actuateurs, les SANs
ressemblent trangement aux ASMs. Plusieurs points les diffrencient pourtant :

Importance de la continuit : la fluidit du mouvement dpend beaucoup de la continuit


des ordres. Cette continuit peut tre maintenue soit par les contrleurs, soit par les
actuateurs.

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 -

II - Les solutions existantes

Figure 30 : Contrleurs perceptifs.

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.

Comportement adaptatif : tirer profit des expriences passes permet la crature


dafficher un comportement plus raliste.

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 -

II - Les solutions existantes

2.3.1. Ladaptation par lexprience


Chaque action quentreprend la crature virtuelle, elle le fait dans lespoir dobtenir un
rsultat. La nature de ce rsultat est lie lun de ses buts. Ladaptation par lexprience se
base sur la notion de jugement. En donnant la crature la possibilit de juger les
consquences de ses propres actions, elle devient alors mme de corriger son comportement.
Ce jugement est symbolis dans le systme dadaptation par un signal dapprentissage. Il
reprsente le jugement de la crature et permet dexprimer lchec ou la russite
[Kaelbling96]. Ce signal mesure ainsi un degr de russite ou dchec. Le rle et le
fonctionnement de ces signaux sont dcrits dans la premire partie.
Cependant, le jugement nest pas tout, encore faut-il tre capable de dterminer les causes de
cet chec ou de cette russite. Ce problme fait lobjet de nombreux articles. [Kaelbling96]
prsente un rsum des diffrentes techniques utilises. La seconde partie dtaille les
mcanismes de causalit mis en place pour ladaptation par lexprience, ou plus simplement
lapprentissage par renforcement.
Une fois le signal reu, les causes dtermines, il est encore ncessaire deffectuer des
modifications. Ces modifications vont alors permettre le mcanisme dadaptation. Elles
doivent bien entendu tenir compte de lamplitude du signal. Ces mcanismes de modification,
ou plus simplement dapprentissage, sont dcrits dans la troisime partie.

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 -

II - Les solutions existantes


De tous ces articles, deux types de signaux mergent. Le premier mesure la russite et le
second lchec. Il est possible de les regrouper en un seul signal qui reprsente une
rcompense. Les valeurs ngatives correspondent alors un chec. La signification de ces
signaux est pourtant diffrente :

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 -

II - Les solutions existantes


[Kaelbling96] tablit la liste des mcanismes mis en place pour rsoudre ce problme, depuis
le QLearning jusquaux modles de Markov cachs. Quelques grandes ides mergent de
toutes ces expriences :

Modlisation :

bon

nombre

des

mcanismes

[Schmidhuber90]

[Bedau94]

[Schmidhuber90] procdent une modlisation de lenvironnement de la crature. Cette


modlisation, neurale ou stochastique, permet la crature danticiper les signaux
dapprentissage quelle va recevoir. Lorsque la modlisation est fiable, la crature est alors
capable de prvoir les consquences de ses actions. Elle peut alors intgrer ce facteur dans
son processus de raisonnement. Cependant, la modlisation en elle-mme pose le mme
problme dapprentissage. [Schmidhuber90] montre cependant quelle favorise la
convergence du processus dcisionnel.

Processus automatique : les autres mcanismes utilisent un processus automatique, qui


sapplique systmatiquement [Zhao96] [Yamauchi94] [Schmidhuber89]. Ces processus
sont tous bass sur lhistorique des actions de la crature. Cet historique peut tre plus ou
moins simple :

Simple persistance pour les rseaux dynamiques [Yamauchi94]

Liste des actions effectues [Schmidhuber89]

Liste des actions et des prcdentes modifications [Zhao96]

Les rcompenses ou punitions sappliquent alors lensemble des responsables des


actions mmorises. Mme si des erreurs peuvent avoir lieu, le systme dcisionnel
converge sur le long terme [Schmidhuber96].
Cest la diversit des situations qui permet la convergence de lensemble. Sur lensemble des
situations, seules les actions rellement responsables du signal dapprentissage se retrouvent
dans toutes. Le systme va donc privilgier laction responsable. Mais lorsque cette dernire
nest pas slectionne, il va sanctionner les actions slectionnes. Petit petit laction
responsable va merger. Ces articles soulignent limportance dun historique plus ou moins
simple des actions entreprises entre les signaux dapprentissage. Une autre ide intressante
consiste y incorporer aussi les modifications engendres par lapprentissage. Il devient alors
possible de les annuler, si les prochains signaux dapprentissage signifient une erreur plus
importante. Ce processus permet dacclrer lmergence des actions responsables [Zhao96].
[Kaelbling96] met en vidence lintrt du principe de dcomposition de lapprentissage ne
apprentissages locaux, plus spcialiss. La spcificit des signaux dapprentissage, ainsi que le
- 120 -

II - Les solutions existantes


petit nombre de modifications quils engendrent, permettent au systme de converger plus
vite, surtout sil est soutenu par quelques comportements dj viables. Il convient donc de
privilgier les apprentissages locaux un apprentissage global. De mme, il est intressant
de faire reposer une partie du processus dcisionnel sur un systme dj stable (ne requrant
plus de modification).

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.

A chaque catgorie de valeurs correspond une classe dapprentissage :

Apprentissage relatif : lapprentissage permet de favoriser ou dfavoriser un score,


relativement aux autres.

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.

Apprentissage exact : il permet de converger vers une valeur exacte.


Un autre facteur important concerne cette fois quand les modifications doivent avoir lieu. Une
fois de plus deux cas se prsentent :

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.

Apprentissage actif : il a lieu uniquement si le module correspond une action utilise.


- 121 -

II - Les solutions existantes

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.

Lapprentissage exact se rapporte lapprentissage actif. La modification effectue est alors


proportionnelle lamplitude du signal dapprentissage. La plupart du temps, le systme
utilise un taux dapprentissage qui pondre la modification. Ce taux correspond la
temprature utilise dans le recuit simul [Bergeret97].
Cette adaptation par renforcement a t utilise de nombreuses fois pour contrler le
mouvement de cratures plus ou moins complexes. Dans [Maes90], la coordination motrice
ncessaire tout mouvement est apprise par renforcement. De mme, [Slocum00] [Beer96]
utilise lapprentissage par renforcement pour ladaptation dun rseau de neurones rcurrent
permettant le contrle dorganismes virtuels simples.

2.3.2. Ladaptation par lvolution


Les principes de lvolution ont t introduits par Holland et Goldberg [Goldberg93]. Ils sont
le reflet informatique des lois volutionnistes dictes par Darwin. Ils reproduisent les
principes dindividu, de naissance et de slection naturelle. Avant de commencer, tablissons
quelques dfinitions indispensables :
Individu : candidat au problme, il reprsente une solution possible.
Slection : processus de conservation des meilleurs individus, cest--dire de ceux qui sont le
plus mme de rsoudre le problme.
Le mcanisme dvolution permet, dans sa globalit, de parcourir un espace de solutions, pour
converger vers de meilleures solutions. La convergence est assure par deux principes : la
fonction de slection, appele fitness, et les principes dvolution. Il est intressant de noter
que deux tendances ont merg. Dans les algorithmes gntiques [Goldberg93], lindividu
code directement la solution au problme. Dans la programmation gntique [Koza92],
lindividu code un programme, qui, une fois excuter, permet dobtenir la solution. Dans le
cadre du contrle de mouvement, les deux solutions sont possibles. Cependant, la
- 122 -

II - Les solutions existantes


programmation gntique permet dobtenir facilement des structures de contrles, des sortes
de programmes [Sims94].
La premire partie dcrit le principe de slection. Il explique le rle de la fonction fitness, son
impact sur la convergence et donc ladaptation. La seconde partie dtaille les principes
dvolution utiliss. Ces principes permettent de modifier les individus, et donc les
contrleurs.

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 :

[Ventrella94] [Ngo93] utilisent lapprciation du concepteur pour mesurer ladquation.


Ce processus est idal, le concepteur peut loisir orienter les recherches. Il possde
seulement un dfaut majeur. Le concepteur doit tre prsent tout au long du processus de
convergence, qui peut durer plusieurs centaines de cycles.

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 -

II - Les solutions existantes

Les principes dvolution


Lvolution permet de gnrer de nouveaux individus. Lidal serait que ces individus soient
plus proches de lindividu parfait. Pour ce faire, elle utilise un certain nombre doprateurs,
susceptibles damliorer les individus slectionns [Koza92]. Ces oprateurs vont modifier le
code gntique de ces individus.
Le code gntique permet de coder tous les individus. Ils partagent donc tous un code
similaire. Le code gntique est trs important. En tant que reprsentation directe ou indirecte
de la solution, il doit cependant pouvoir permettre de la coder. Il est donc important davoir
une ide du rsultat recherch. A lorigine [Goldberg93], il est compos dune squence de
bits. Chaque bit correspond un caractre de lindividu, cest--dire un gne. Depuis ce
codage a t complexifi selon les besoins. [Beer96] code des matrices de poids de rseaux de
neurones. [Ngo93] code des squences de contrle musculaire qui doivent aboutir une
position cl. [Polani00] [Moriarty98] code des structures de rseaux de neurones. Enfin,
[Sims94] code une morphologie complte, incluant des contrleurs localiss.
Ce codage gntique peut complexifier les oprateurs utiliss, mais leurs fonctionnements
respectent les mmes principes :

Mutation : un certain nombre de gnes changent de valeurs alatoirement. Le nombre est


fix par le taux de mutation, qui reste lapprciation du concepteur. La mutation permet
de rorienter les recherches vers dautres espaces, qui peuvent tre encore inexplors
[Goldberg93].

Croisement : deux individus sont slectionns alatoirement. Un emplacement de scission


est dtermin alatoirement dans le code gntique. Un nouvel individu est form partir
de la premire partie du code gntique du premier individu, et la seconde partie du
second individu. Le croisement permet de faire converger des solutions partielles vers une
solution plus adquate [Goldberg93].

- 124 -

II - Les solutions existantes

Figure 31 : Oprateurs gntiques de mutation et de croisement.


Aprs ces quelques prliminaires, il est temps de revenir au problme qui nous concerne.
[Ngo93] utilise la programmation gntique pour gnrer des contrleurs susceptibles
daboutir au mouvement souhait. [Reynolds94] utilise les algorithmes gntiques pour
permettre la convergence dun contrleur charg piloter un vers au travers de corridors. De
mme, [Cariani98] [Beer96] utilisent les algorithmes gntiques pour trouver les poids
(paramtres) de rseaux de neurones. [Polani00] [Moriarty98] utilisent la programmation
gntique ainsi que les algorithmes gntiques pour dune part apprendre les poids des
neurones, (chaque neurone ayant sa propre tche), et dautre part apprendre la meilleure
structure du rseau. Enfin, [Ventrella94] [Sims94] utilisent la programmation gntique pour
gnrer des morphologies incluant des contrleurs localiss. Elles sont utilises pour entrer en
comptition. Le premier utilise une fonction de fitness concepteur. Le second met directement
en comptition les individus. Les vainqueurs sont alors slectionns pour lvolution suivante.

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 -

II - Les solutions existantes

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.

Par contre, ces deux techniques diffrent quant la modification effectue :

Adaptation : le mcanisme dadaptation de lapprentissage par renforcement doit tre


proportionnel lamplitude du signal.

Evolution gntique : le mcanisme dvolution gntique est aveugle et stochastique. Il


privilgie un parcours convergeant de lespace des solutions, grce ses oprateurs.

Les contrleurs localiss dpendent abondamment de la morphologie. Ils voluent donc en


mme temps que cette dernire. Lapprentissage par volution gntique semble ds lors
mieux appropri. Les contrleurs fonctionnels quant eux ne sont lis la morphologie que
par leurs entres et leurs sorties. Les deux mthodes dapprentissage permettent leur
adaptation.

3. Les techniques de navigation


Les techniques de navigation permettent aux cratures virtuelles de se dplacer. Pour cela,
elles crent une carte virtuelle. Cette carte leur permet de modliser leur environnement.
Chaque crature construit sa propre carte, qui est le rsultat de ses explorations mais aussi de
ses besoins. Puis, lorsque lun de ses besoins se fait sentir, elle peut utiliser cette carte non
seulement pour retrouver un lieu propice son assouvissement, mais aussi pour trouver un
chemin y menant. La crature exploite alors sa modlisation.
Cette partie se divise donc en deux. La premire dcrit les principes de modlisation les plus
utiliss. Elle essaie de retirer des diffrentes expriences analyses les lments cls qui
permettent la modlisation. Comment intgrer cette modlisation au raisonnement, quel
formalisme utiliser.
La seconde partie, quant elle, met en vidence les principes de fonctionnement de ces
modlisations. Une fois de plus, elle essaie de tirer des expriences tudies les
fonctionnalits ncessaires la cration et lexploitation de ces modlisations.
- 126 -

II - Les solutions existantes


La navigation est un problme qui a t beaucoup tudi en robotique. Doter ces robots de
facults motrices autonomes est devenu lun des grands domaines de la recherche en
robotique. Cest pourquoi la plupart des rfrences trouves dans cette partie seront tires de
la robotique. Les solutions adaptes la navigation dun robot, le sont galement la
navigation dune crature virtuelle.

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 -

II - Les solutions existantes


Les amers reprsentent des points particuliers de lespace, que la crature dcide de
mmoriser. Selon les expriences, ils peuvent prendre plusieurs formes :

Neurone [Filliat99] [Honkela00] : chaque neurone reprsente un amer. Le neurone qui


possde le plus dnergie reprsente alors le point de lespace o se trouve la crature.

Nud dun graphe [Donnart95] [Yamauchi96] : chaque nud reprsente un amer. La


plupart du temps, le nud possde un systme de coordonnes qui permet de le
reconnatre.

Ensemble de conditions [Bessire99] : un ensemble de conditions (qui peuvent tre floues)


caractrise lamer. Elles sont enregistres au moment de la mmorisation. La crature
reconnat les amers en fonction de ces conditions.

Objet dune classe [Kuffner99] [Bcheiraz98] [Burke01] : les informations enregistres


pour chaque amer dpend de sa classe. Ce formalisme permet de dcrire les amers dune
manire trs prcise.

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 -

II - Les solutions existantes


Lintrt de ces amers est double :

Ils simplifient la description de chaque liaison. En augmentant le nombre de liaisons on


simplifie chacune des liaisons.

Ces amers gographiques se factorisent. Ainsi, un amer gographique chaque


croisement servira pour tous les chemins passant par ce croisement.

Figure 32 : Amers gographiques P factoriss.

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 :

Distance et direction [Yamauchi96] : chaque liaison donne la direction au prochain amer,


ainsi que la distance qui le spare de lamer courante.

Actions [Bcheiraz98] [Bessire99] : ce principe se rapproche du premier, mais il dtaille


lensemble des actions ncessaires pour rejoindre lamer.

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 :

Symtrie : dans la plupart des expriences [Filliat99] [Donnart95] [Yamauchi96], les


liaisons sont symtriques. Il se peut cependant que cette symtrie ne soit pas toujours de

- 129 -

II - Les solutions existantes


mise, soit parce quelle est impossible, soit parce que les informations de liaison sont
diffrentes.

Fiabilit [Morn00] [Balkenius00] : la fiabilit de la liaison mesure la validit du chemin,


sil peut tre ou non parcouru. Elle sert de prdicateur pour la prise de dcision. Elle est
aussi en rapport avec le principe de curiosit [Balkenius00], une liaison trs fiable est sans
surprise et donc ennuyeuse (totalement prdictible).

Les liaisons sont donc indispensables au fonctionnement de la navigation. Les informations


quelles incluent permettent la crature de prdire avec prcision la route qui lattend, et les
lments ncessaires son parcours.

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 :

Figure 33 : Richesse des informations et raisonnement.


- 130 -

II - Les solutions existantes


Les informations incluses dans les amers et les liaisons sont en rapport direct avec le
processus de raisonnement de la crature. Parfois, de simples informations gographiques
suffisent, dans un problme de navigation pure [Yamauchi96]. Dautres fois [Bessire99], des
informations plus compltes renseignent la crature sur ltat de lenvironnement, permettant
ainsi son processus dcisionnel de choisir le meilleur chemin en fonction de divers
paramtres.
Dans la figure supra, le dernier graphe permet au personnage (la crature virtuelle) de
savoir o il peut Se Dtendre, mais aussi o il peut Se Dtendre et Manger. Le chemin
qui le satisfait le plus est alors slectionn. Pour Se Dtendre et Manger, il sinstallera
dans le Sjour.

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 :

La reconnaissance [Touretzky94] : la reconnaissance permet de lier le rel la


modlisation, elle est donc indispensable.

- 131 -

II - Les solutions existantes

La planification [Burke01] : lutilisation des informations mmorises permet la


crature de planifier ses actions.

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 -

II - Les solutions existantes

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.

3.2.1. Le rle de la modlisation


Lorsque la crature virtuelle cre un modle de son environnement, elle mmorise des
lments importants pour elle. Chaque modlisation devient alors personnelle. Deux
cratures aux motivations diffrentes, confrontes au mme environnement, nen tireront pas
le mme modle. Et mme si elles partageaient leurs motivations, leurs situations diffrant sur
- 133 -

II - Les solutions existantes


certains points (position, orientation etc.) aboutiraient une fois de plus des modles
diffrents. Cest le principe de lagent situ [Guillot00].
En terme de navigation, chaque modle de lenvironnement permet la crature de prvoir ce
quelle va trouver tout au long de ses parcours. Grce ses prdictions, elle peut choisir une
destination qui satisfasse au mieux ses besoins, et trouver le meilleur chemin qui y mne.
Cette exploitation du modle sappelle planification dynamique et sera lobjet de la premire
partie.
Lexploitation des modles est trs utile, encore faut-il les construire. Cette construction
seffectue lors de lexploration de lenvironnement. Lexploration pousse la crature virtuelle
se diriger vers des endroits inconnus, dans lespoir dy dcouvrir de nouvelles sources
dassouvissement de ses besoins. La seconde partie traite donc de lexploration, ainsi que du
problme dquilibre entre exploitation et exploration.

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 -

II - Les solutions existantes


Notre personnage, dsireux de Se Dtendre, fait appel son modle de lenvironnement.
Celui-ci contient notamment plusieurs modles associs la dtente :
Le Bureau qui propose un ordinateur
Le Sjour et son tlviseur
La Chambre et son lit
La Salle dEau et la baignoire
Chacune de ces options est traite par le mcanisme de slection daction, qui va
dterminer quelle est la meilleure pour notre personnage, comme si toutes ces pices
taient visibles.
Intgre dans le mcanisme de slection daction, la planification dynamique permet non
seulement dassouvir un but, en dterminant une destination et un chemin pour y parvenir,
mais elle doit permettre den assouvir le plus possible (cf. Mcanismes de choix, exploitations
multiples, exploration, page 67). Ainsi, le chemin doit maximiser lassouvissement des
besoins de la crature virtuelle.
Notre personnage se trouve dans le Bureau. Il dsire avant tout Se Dtendre, mais il a
aussi envie de Manger. De tous les modles de pices, le seul qui propose les deux est le
Sjour, il sera donc slectionn, car il permet dassouvir deux besoins.

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 -

II - Les solutions existantes


Notre personnage entre dans la Maison pour la premire fois. Il dcouvre le Sjour. Il y
trouve le moyen de Manger et de Se Dtendre. Ds lors un dilemme se pose, doit-il
explorer plus avant la Maison, ou se contenter de rester dans le Sjour qui lui permet
dj dassouvir deux besoins.
La curiosit est parfois employe comme coefficient, permettant de balancer lexploration et
la planification [Schmidhuber91] [Donnart95]. Elle mesure alors la proportion inexplore de
lenvironnement et favorise lexploration. [Schmidhuber91] se sert de la curiosit comme un
besoin de rendre fiable la modlisation. La crature virtuelle va alors, pour assouvir ce besoin,
explorer les possibilits incertaines de son modle.
Lorsquil arrive dans le Sjour, notre personnage peroit deux autres Portes : P1 et P2.
Il na explor pour linstant quun quart de la Maison, et ne ressent pour linstant aucun
besoin trop pressant. Il dcide donc de prendre P1 ou P2, qui correspondent un
attrayant degr de curiosit (1 0,25 = 0,75).

3.2.2. Les principes clefs


Le fonctionnement gnral de la modlisation se dcompose en un certain nombre de
principes cl. Ces principes sont le rsultat de lanalyse des diverses expriences portant sur la
navigation et la modlisation. Chaque partie dcrit donc lun de ces principes, ses fondements,
comment il est mis en place.
Nous avons dcoup le fonctionnement de la modlisation en cinq principes cl. La
reconnaissance permet la crature de reconnatre un amer ou une liaison. La cration permet
de les crer. La prdiction correspond lutilisation du modle. La mise jour permet la
crature de rvaluer son modle, une fois confront la ralit. Enfin, loubli permet de
dtruire certains amers ou certaines liaisons.

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 :

Coordonnes [Touretzky94] [Yamauchi96] : un systme de coordonnes mis en place par


la crature, lui permet de comparer les emplacements des amers. Deux amers se trouvant
aux mmes coordonnes sont en fait le mme amer.
- 136 -

II - Les solutions existantes

Comparaison des informations mmorises [Balkenius99] [Burke01] : en comparant les


informations mmorises et les informations perues, la crature peut mesurer la
ressemblance de ses perceptions avec les amers mmoriss. Si cette ressemblance est
suffisante, la crature reconnat lamer. Seule certaines perceptions peuvent tre prises en
compte pour cette reconnaissance. Cette mthode inclut donc la premire (si lon
slectionne seulement les coordonnes).

Prdiction [Filliat99] : en se rfrant sa modlisation, la crature sait o elle se trouve et


peut prvoir quels amers elle risque de rencontrer. Cette mthode permet de maintenir une
liste des amers possibles avec lesquels les perceptions doivent tre compares.

Les deux dernires mthodes sont complmentaires. La prdiction permet de dterminer


rapidement un ensemble damers possibles et la comparaison permet de savoir si lun dentre
eux correspond aux perceptions actuelles. Ce systme de comparaison est trs souvent li un
seuil de similarit, au-del duquel lamer est considr comme reconnu.
Notre personnage a dj dcouvert le tlviseur en plus du seuil dentre. En parcourant
le salon, il dcouvre ensuite le canap, qui ne correspond aucun amer. Il dcide alors
den crer un nouveau. Puis il retrouve le seuil dentre. Bien que cet amer existe dj,
le chemin canap seuil dentre et nouveau, la liaison correspondante est cre.
En ce qui concerne la reconnaissance des liaisons, le procd est similaire. Si deux liaisons
relient les mmes amers et possdent les mmes informations associes (actions et
paramtres), elles reprsentent un seul et mme chemin. Par contre, si les informations ou un
amer diffrent, la crature vient de trouver une nouvelle liaison. Cest la reconnaissance
parfaite. Le principe de seuillage de lerreur peut nouveau servir et permet dobtenir une
reconnaissance floue.
De nouveau sur le seuil dentre il se dirige droit sur le tlviseur. Lorsquil parvient au
tlviseur, les informations retenues sont :
Orientation 68
Avance 2,24
Orientation 90
Bien que la liaison seuil dentre tlviseur existe dj, une nouvelle est cre, notre
personnage vient de trouver un autre chemin (plus directe).

- 137 -

II - Les solutions existantes

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 :

Distance [Yamauchi96] : lorsquune certaine distance a t parcourue, la crature cre un


nouvel amer. Une liaison est cre, correspondant la direction entre le prcdent amer
cr et le nouveau.

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

Etudions maintenant lutilit de ces deux amers :


A1 : tape intermdiaire qui ne correspond qu un loignement de lamer prcdent.
Il ne peut servir de croisement (pour la factorisation) et napporte pas dinformation
pertinente. Il est donc inutile.

- 138 -

II - Les solutions existantes


A2 : il apporte une information de changement de direction. Il peu alors servir de
carrefour entre le canap, la table manger, le tlviseur et le seuil dentre. Lamer
est donc susceptible dtre conserve.
Le troisime principe, quant lui, essaie de dfinir lintrt des amers, grce un processus
dattention [Balkenius99]. Ce principe se rvle beaucoup plus pertinent, la crature ne
retenant alors que les amers susceptibles de lintresser. Seulement ce principe ne prend pas
en compte les amers gographiques. La crature est donc dans lincapacit de factoriser ses
chemins (cf. Les amers, page 127).
Pour la navigation, la cration des liaisons dpend de deux facteurs :

Gestion de lamer courant : la crature garde en mmoire le dernier amer reconnu ou


cr.

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 -

II - Les solutions existantes


Le principe de prdiction permet la crature virtuelle danticiper ses mouvements. Elle peut
ainsi construire un plan de dplacement. La prdiction correspond lexploitation de la
modlisation. Dans la plupart des expriences, cette prdiction se rsume un parcours de
graphe (la carte) pour retrouver le chemin le plus court vers une destination fixe par un autre
systme [Honkela00] [Touretzky94]. Cependant, [Filliat99] [Bessire99] introduisent la
notion dobjet mmoris. Ces objets sont alors perus par la crature, comme sils taient
visibles.
Objet mmoris : un objet mmoris est un objet dont la crature pense quil existe. Son
existence dans lenvironnement nest cependant pas garantie.
Notre personnage est en train dexplorer la Salle dEau. Lorsquil regarde vers
lorientation 180, il sait quil y trouvera le Sjour, un canap, un tlviseur etc. Mme si
ces derniers ne sont pas visibles depuis la Salle dEau. Le canap et le tlviseur
deviennent des objets mmoriss.
La fiabilit dune prdiction mesure le degr de certitude de rencontrer lamer associ cette
prdiction. Elle dpend de plusieurs facteurs :

Fiabilit de la reconnaissance de lamer courant [Filliat99] : la crature a-t-elle un point de


repre.

Fiabilit de la liaison [Yamauchi96] : certaines liaisons (chemins) ne sont pas tout le


temps praticables. La fiabilit mesure le ratio chemin pratiqu sur chemin essay.

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 -

II - Les solutions existantes


contentement. La fiabilit de la prdiction permet la crature de pondrer ces motions
[Filliat99]. Il est donc primordial de la mettre en uvre, de manire pouvoir lintgrer avec
le reste de larchitecture.
La fiabilit de sa dernire prdiction (se trouver devant le tlviseur) ayant dcru, notre
personnage nest donc pas vraiment du lorsquil se retrouve ct du tlviseur.
Pouvant le percevoir, il peut maintenant ajuster sa trajectoire.

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 -

II - Les solutions existantes


Notre personnage a mmoris deux liaisons pour relier le seuil dentre au tlviseur.
Fusionner les deux liaisons en les moyennant aboutirait un chemin intermdiaire,
reprsent en gris sur le schma ci-contre. Ce chemin peut ne pas tre valable si un
obstacle lobstrue. Cet obstacle pourrait se trouver nimporte o dans la zone inexplore,
reprsente en gris hachur sur le schma.
La mise jour joue un second rle. Elle permet de maintenir les diffrents scores de fiabilit
des informations, aussi bien au niveau des amers que des liaisons. La fiabilit des
informations des amers permet de pondrer le principe de prdiction [Schmidhuber91].
Chaque information associe possde alors sa propre fiabilit. Lorsquune prdiction est faite,
sa fiabilit est le produit des fiabilits des informations prdites.
Soit fpa la fiabilit de la prdiction damer,
Soit fpi la fiabilit de la prdiction dune information de lamer,
Soit N le nombre dinformations prdites pour lamer,

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 -

II - Les solutions existantes


Soit fl la fiabilit de la liaison,
Soit n le nombre dessais dj effectus,
Soit e lerreur mesure,

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.

Loubli est le principe rgulateur [Agogino99] qui permet la


A

crature virtuelle de dtruire les informations les moins


importantes. Lespace ainsi gagn lui permet de mmoriser de
nouveaux amers ou de nouvelles liaisons. Loubli consiste

donc choisir quel amer ou quelle liaison dtruire pour librer


de la ressource.
Dans de nombreuses expriences [Bcheiraz98] [Hochreiter97] [Bessire99], la mmoire de
la crature virtuelle est simplement limite un certain nombre dlments. Une fois ce
nombre atteint, la crature doit choisir quel lment dtruire pour en intgrer un nouveau. Ce
choix est motiv par un certain nombre dlments :

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 -

II - Les solutions existantes


dpendre de facteurs extrieurs et entraner la destruction de certains amers ou liaisons
pourtant essentiels.
La liaison qui relie le canap au tlviseur est trs frquemment utilise par notre
personnage. La supprimer obligerait ce dernier retrouver un autre chemin, et serait
donc inutile.

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 -

II - Les solutions existantes


Le fonctionnement des ces capacits de modlisation se base sur un ensemble de principes qui
permettent de grer et dintgrer ces modles dans le mcanisme de slection daction :

Cration : permet de crer les amers et les liaisons.

Reconnaissance : permet de reconnatre les amers et les liaisons. La reconnaissance des


amers est un procd continu qui doit maintenir et mettre jour la position de la crature
virtuelle.

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 :

Modlisation comportementale : permet de modliser le comportement des cratures


virtuelles (soi-mme ou une autre crature).

Modlisation vnementielle : permet de modliser des vnements plus ou moins


complexes. La crature peut alors raisonner sur les acteurs de lvnement, ses
consquences.

Modlisation conceptuelle : permet de produire des graphes de concepts, utilisables pour


des raisonnements smiotiques, tels que ceux utiliss pour produire un embryon de
langage naturel.

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 -

II - Les solutions existantes

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.

Ladaptation au travers du contrle de mouvement : Le mcanisme dadaptation apporte


la crature des capacits de jugement, ncessaires son adaptation.

La modlisation au travers de la navigation : La modlisation permet la crature de se


reprsenter son environnement, et ainsi de planifier dynamiquement ses actions, en
anticipant leurs rsultats.

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.

Formalisme rapide et expressif : lutilisation dune structure fonctionnelle permet


dutiliser un principe de fonctionnement mathmatique rapide et simple (cf. Les
mcanismes de slection, page 86). Il permet une influence inter comportementale et
facilite le traitement de donnes scalaires.

Intgration : le mcanisme dadaptation et le mcanisme de modlisation doivent


parfaitement sintgrer avec le mcanisme de slection daction (cf. Ladaptation, page
117, et Intgration, page 131).

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 -

III - Une architecture de conception adapte

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.

III.UNE ARCHITECTURE DE CONCEPTION ADAPTE


Dun ct, il sagit de crer une architecture permettant de concevoir des modles dcisionnels
capables la fois de slectionner les actions, mais aussi de sadapter. Cette architecture doit
de plus rpondre aux contraintes des jeux vido exposes, aussi bien au niveau du temps
machine que des ressources mmoire. De lautre, il sagit de crer un outil, utilisable par les
concepteurs de jeux, sans pour autant ncessiter de connaissances scientifiques importantes.
Ce double objectif restera au centre des considrations de ce chapitre.
Larchitecture est au cur du dialogue entre le concepteur et loutil. Elle est aussi responsable
du fonctionnement dcisionnel des cratures virtuelles, puisquelle pose les fondements qui
serviront la cration des modles dcisionnels. Dans ce chapitre, nous dtaillerons le
formalisme quelle met en place, ainsi que son fonctionnement. Chaque point est le rsultat
dun choix. Chaque choix rpond aux contraintes et aux exigences vues dans le chapitre
premier, page 1. De plus, chaque point sappuie sur les conclusions tires de lanalyse des
solutions existantes, tudies au chapitre second, page 70.
La premire partie de ce chapitre dtaillera le formalisme utilis. Elle expliquera pourquoi ce
formalisme est la fois structurel et symbolique. La seconde partie dtaillera le
- 147 -

III - Une architecture de conception adapte


fonctionnement du mcanisme de slection daction. La troisime partie aborde la question de
ladaptation. Enfin, la quatrime tudiera de manire approfondie la gestion de la
modlisation au sein de larchitecture.
Tout au long de ce chapitre, les diffrents symboles abords seront illustrs par une figure les
reprsentant. Cette figure se trouvera juste en dessous du titre de la partie consacre au
symbole.

1. Une conception structurelle et symbolique


La conception est lun des deux objectifs principaux. La partie 1.1 Le formalisme et la
conception dtaille les options dj tudies. Il souligne limportance dutiliser des
symboles, aisment comprhensibles par les concepteurs. Il dcrit aussi la richesse expressive
des architectures structurelles. Plusieurs architectures [Maes94] [Loyall91] [Blumberg94] se
sont dj proposes de mixer les deux. Deux tendances se dgagent, dune part un formalisme
boolen li une structure parfois peu apparente [Maes94] [Loyall91], dautre part un
formalisme fonctionnel li une structure trs prsente [Blumberg94].
Du point de vue de la conception, la premire tendance est principalement symbolique, et
implique la discrtisation de lunivers et la cration dune somme considrable de faits. Cette
approche sied donc mal des environnements scalaires tels que ceux trouvs dans les jeux
vido. Pour les mmes raisons, il est difficile dintgrer des paramtres aux actions. Le
formalisme de Boole est donc viter, ce qui semble carter la premire tendance (cf.
Conclusion, page 103).
La seconde tendance fait appel un formalisme fonctionnel et une conception structurelle. Il
est important dviter lcueil de leffet bote noire (cf. La structure, page 77), qui rend la
conception peu aise. Les symboles fonctionnels utiliss doivent donc tre clairs et leur
nombre succinct. La conception structurelle permet en outre une conception plus graphique.
Assembler la structure revient alors tracer un graphe.
Larchitecture se base donc sur un formalisme fonctionnel simple, qui runit les principales
notions dj abordes (cf. Le formalisme fonctionnel, page 75). La premire partie dcrit ces
symboles et leur fonctionnalit. Elle se base aussi sur une structure assez simple, qui permet
au concepteur de rapidement transposer ses besoins. La seconde partie dcrit en dtail ce qui
compose cette structure, et pourquoi elle est adapte aux jeux vido.
- 148 -

III - Une architecture de conception adapte


Tout au long de cette partie, les symboles fonctionnels seront crits en gras, ce qui permet de
les reconnatre aisment. Si un terme dsignant un symbole fonctionnel est crit normalement,
ce terme reprend alors sa smantique originale.

1.1. LES SYMBOLES FONCTIONNELS


Larchitecture fait appel 3 symboles fonctionnels principaux, tous issus plus ou moins
directement du chapitre prcdent (cf. Le formalisme fonctionnel, page 75). Ces symboles
permettent de dcrire le parcours des informations tout au long du processus dcisionnel. Ce
parcours se dcompose naturellement en 3 tapes cl :

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.

Processus dcisionnel : la crature utilise les informations sa disposition pour pouvoir


effectuer ses choix. Elle traite les informations perues grce son modle dcisionnel.

Actuateurs : finalement, le processus dcisionnel aboutit une dcision. Il fournit des


ordres aux diffrents actuateurs. Ces actuateurs vont alors modifier certaines informations
du jeu.

Le processus dcisionnel est dcompos en centres dintrt. Ils sont au cur de


larchitecture et seront dcrits en premier. Les senseurs, qui permettent dobtenir des
informations sur lenvironnement mais aussi sur la crature elle-mme, seront alors abords.
Enfin, nous exposerons les actuateurs, laboutissement du processus dcisionnel.

1.1.1. Les Centres dIntrt


Centre dintrt

Du point de vue de la conception, lapproche ascendante permet de dcomposer le problme


dcisionnel en sous problmes plus simples [Bedau92]. Chaque problme simple peut alors
tre rsolu par un module unique. Ces modules sont les centres dintrt.
Les centres dintrt regroupent plusieurs notions importantes. Ils reprsentent les buts, mais
aussi les besoins de la crature. Chaque centre dintrt est responsable dun seul but ou

- 149 -

III - Une architecture de conception adapte


besoin. Plusieurs dentre eux cohabitent donc. Ils sont gostes : ils ne tiennent pas compte des
autres. Ces centres dintrt sont lorigine des dcisions de la crature virtuelle.
Centre dintrt : unit dcisionnelle, ne se rapportant qu un seul aspect (but ou besoin) du
processus gnral de dcision.
Ces centres dintrt sont tout dabord responsables des choix effectus par la crature.
Chaque choix est mis en place par un systme permettant linfluence inter comportementale :
lexcitation et linhibition nergtique (cf. Les mthodes nergtiques, page 93). Ce principe
simple est dcrit dans la premire partie. Il est soutenu par deux symboles fonctionnels : la
motivation et lopportunit. Ces nouveaux symboles sont dcrits dans la seconde partie.

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 -

III - Une architecture de conception adapte

Intrt : motivation et opportunit


M Centre dintrt
O
I

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.

1.1.2. Les Senseurs


Senseur

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 -

III - Une architecture de conception adapte

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 :

Boolen : deux valeurs possibles vrai ou faux, 0 ou 1.

Rel : domaine pseudo6 continu born.

Entier : domaine discret born.

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

Nous obtenons ainsi six domaines universels :


6

Il ny a pas de domaine continu en informatique, d aux limitations de prcision des

processeurs.
- 152 -

III - Une architecture de conception adapte

Binaire : les valeurs possibles sont 0 ou 1.

Tertiaire : les valeurs possibles sont -1, 0 ou 1.

Positif continu : les valeurs sont comprises entre 0 et 1 inclus. 0 soppose 1.

Sign continu : les valeurs sont comprises entre -1 et 1. -1 soppose 1.

Positif cyclique : les valeurs sont comprises entre 0 et 1. 0 et 1 sont identiques et


sopposent 0,5.

Sign cyclique : les valeurs sont comprises entre -1 et 1. -1 et 1 sont identiques et


sopposent 0.

Les domaines cycliques binaires (0 identique 1) et tertiaires (revient un binaire -1 identique


1, sopposent 0) nont pas de signification. Les domaines universels permettent dexprimer
de relles proprits des domaines. Ils possdent des bornes simples et communes. Ils
permettent dexprimer toutes les donnes dans une mme chelle de valeurs.
Voici lexemple dun senseur dont le domaine est Sign continu et cyclique :
?

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 :

Persistante : la donne persiste durant toute la dure du processus de raisonnement, elle


est rinitialise chaque dbut de cycle.

Statique : la donne persiste dun cycle de raisonnement lautre.


Statique

Cette persistance joue essentiellement un rle au niveau de la rinitialisation des donnes.


Elle approxime de manire trs grossire cette notion de dure de validit. Cependant, elle
permet dintroduire la notion dintgration.
- 153 -

III - Une architecture de conception adapte

1.1.3. Les Actuateurs


Actuateur

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 -

III - Une architecture de conception adapte


moduler, en grant linfluence quont les ordres entre eux (et donc les centres dintrt). Ce
processus est dcrit plus en dtail dans Influence mutuelle .

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 -

III - Une architecture de conception adapte


Actuateur Statique

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 -

III - Une architecture de conception adapte

1.2.1. Les arbres de calcul


Pour pouvoir effectuer un choix, la crature doit mesurer lintrt des diffrentes options qui
soffrent elle, et trouver les intensits associes. Ces mesures seffectuent par le biais
dinformations provenant du jeu, quelle peroit grce ses senseurs. Malheureusement ces
informations ne mesurent pas toujours directement la bonne valeur. Elle doit parfois effectuer
des traitements pour lobtenir. Les arbres de calcul sont la solution.
Les arbres de calcul permettent de modifier les flux dentre pour calculer les intensits ou
lintrt. Ils se composent de plusieurs composantes appeles blocs. Ces blocs permettent soit
daller chercher des informations dans le jeu, ce sont les senseurs, soit de modifier des
informations en provenance dautres blocs. La premire partie approfondit cette dfinition. La
seconde partie traite de la persistance au sein des arbres de calcul. La troisime partie
explique la gestion des domaines de valeur lors de la propagation du flux.

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 -

III - Une architecture de conception adapte


Les oprateurs possdent ainsi deux oprations. La premire commutative et binaire permet
de combiner deux valeurs. Elle est applique sur les deux premires entres, puis sur le
rsultat et la troisime entre et ainsi de suite. Elle est appele opration de combinaison. La
seconde est une opration en gnral unaire, applique sur le rsultat final, aprs les
combinaisons. Elle est appele opration de modification. Certains blocs ne possdent que
lopration de modification. Ce sont les oprateurs unaires, qui ne peuvent avoir quune
seule entre. Dautres ne possde que lopration de combinaison, le rsultat final est alors
le rsultat des combinaisons successives. Les senseurs ne possdent aucune des deux
oprations. Ils sont constitus dune interface avec le jeu, leur permettant daller y puiser une
information.

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 -

III - Une architecture de conception adapte


domaine dfini. Un processus de recadrage est donc devenu ncessaire. Il suit les rgles
suivantes (dans cet ordre) :

Si la sortie est positive :

La valeur du domaine la plus proche, cette notion de distance tient compte du fait que
le domaine peut tre cyclique.

Si la sortie nest pas continue :

0 si la valeur est 0

Sinon la valeur la plus proche (-1 ou 1)

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 -

III - Une architecture de conception adapte


Les oprateurs peuvent, quant eux, simuler des oprations non commutatives. La constante
fait office de second oprande lors de lopration de modification (qui nest alors plus
unaire). Deviennent alors ralisables les oprateurs de seuillage, de soustraction, etc.

1.2.2. Les objets et leur gestion


Les jeux vido sont btis autour dobjets prdfinis. Les perceptions des cratures se rsument
donc la plupart du temps une liste dobjets quelle peut percevoir (cf. La gestion des objets,
page 84). La notion de perception a donc t tendue pour permettre la perception de ces
objets. Dun point de vue gnral, les senseurs permettent la crature dobtenir des
informations concernant son environnement dune part, son tat dautre part. Il est facile
dtendre cette notion aux objets. Plusieurs senseurs vont permettre dobtenir des
informations concernant chaque objet. Ces senseurs sont alors regroups en un niveau de
perception.
La premire partie approfondit cette notion de niveau de perception. La seconde partie dcrit
limpact des niveaux de perception sur le reste de larchitecture : lintroduction dun
nouveau degr de persistance.

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 -

III - Une architecture de conception adapte


combat. Le second dcrit les individus grce 2 informations : la capacit de combat et
lallgeance. Voici donc le schma qui permet de transcrire les arbres de calcul
dopportunit et de motivation pour les actions motrices du Soldat :
Inverse
Sant

Soin

Comba 1
t
Comba 2
t

Se Soigner

Direction

Tuer Ennemis
Tirer sur

Fuir

Allgeance 2

Vitesse

Nouvelle persistance : Volatile


Les niveaux de perception possdent une singularit importante pour larchitecture. Chacun
de leurs senseurs reoit en effet plusieurs informations par cycle de raisonnement. En fait,
chaque senseur reoit une information par objet peru, alors que les autres senseurs nen
reoivent quune seule.
Objet source : dsigne un objet peru par un niveau de perception. Lobjet devient alors la
source des ordres le concernant.
Un nouveau degr de persistance a donc t introduit dans larchitecture : Volatile. Il qualifie
une information qui nest valable que le temps du traitement dun objet. Comme son nom
lindique, cest le degr de persistance le plus faible.
Seuls les senseurs appartenant un niveau de perception et les bocs qui leur sont lis
peuvent tre volatiles. Il devient alors possible de les intgrer, grce un oprateur
dintgration, pour obtenir une information persistante. De mme, la drivation dun bloc
persistant, produit une information volatile.

1.2.3. Les couches


Les niveaux de perception crent des ensembles verticaux. Les senseurs appartenant un
niveau de perception, les centres dintrt associs, les actuateurs associs ces centres,
- 161 -

III - Une architecture de conception adapte


forment des ensembles verticaux. Cependant, ces ensembles peuvent utiliser des informations
provenant dautres senseurs (pour la motivation notamment). Ils ne forment donc pas des
ensembles totalement autonomes.
Couche : unit dcisionnelle verticale. Les couches sont dtermines selon les dpendances
logiques.
Certains actuateurs permettent de modifier des blocs. Cela cre un lien logique entre les
centres dintrt lis ces actuateurs et ceux lis aux blocs modifis. La premire partie
explique quoi servent ces actuateurs modifiants, leur signification. La seconde partie
approfondit la notion de dpendance logique et dcrit ses consquences structurelles sur
larchitecture.

Les actuateurs modifiants

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 -

III - Une architecture de conception adapte

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.

Les dpendances logiques


Ces actuateurs modifiants crent certaines particularits au sein de larchitecture. En effet
les centres dintrt lis ces actuateurs sont lis logiquement ceux lis au bloc modifi.
Ainsi pour que la modification soit prise en compte, il est indispensable que les premiers
soient excuts avant les derniers. Ce lien est donc appel lien de dpendance.
Lensemble des blocs lis aux centres dintrt de lactuateur modifiant forme alors une
couche. Lensemble des blocs lis aux centres dintrt utilisant le bloc modifi forme une
seconde couche. Une hirarchie sinstaure alors entre ces deux couches, lune tant
dpendante de lautre. Cette hirarchie permet de structurer verticalement larchitecture.
Le comportement Fuir est relatif la peur du Soldat. Seulement, la direction de fuite
dpend dun nombre important de paramtres comme par exemple la position des
Ennemis. Il est utile dutiliser une couche valuant la direction dans laquelle le Soldat
doit Fuir.

- 163 -

III - Une architecture de conception adapte


Le centre dintrt Fuir utilise le senseur constant Direction Fuite pour calculer la
premire intensit de lactuateur Direction. Ce senseur est modifi par lactuateur
modifiant Changer Fuite. Le centre dintrt Fuir est donc dpendant du centre dintrt
Penser Fuite.

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 :

La motivation et lopportunit permettent la slection des actuateurs et sont lies aux


centres dintrt

Les intensits permettent de paramtrer ces actuateurs

Larchitecture sinspire des systmes nergtiques. Ses fonctionnalits calculatoires se basent


sur les blocs. Chaque bloc est une unit de calcul simple. Connects les uns aux autres, ils
forment des arbres de calcul. Ils sont de deux types :

Les arbres dintrts permettent de calculer lopportunit et la motivation des centres


dintrt

Les arbres dintensit permettent de calculer les intensits des actuateurs

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.

2. Une rsolution numrique


Lors de la conception, les symboles fonctionnels sont structurs pour permettre au systme de
ne travailler qunergtiquement. Le mcanisme de slection se base donc sur une rsolution
entirement numrique sans rcurrence. Cette mthode numrique permet de respecter les
contraintes de temps machine (cf. La transmission dnergie, page 101).

- 164 -

III - Une architecture de conception adapte


Cette partie dtaille donc le fonctionnement du mcanisme de slection daction de
larchitecture. Ce mcanisme se base sur la notion darbre de calcul (cf. Les arbres, page
157) et donc sur un ensemble de blocs (cf. Les blocs, page 157). La premire partie dcrit la
liste de ces blocs et leur fonctionnalit. La seconde partie explique le fonctionnement interne
des centres dintrt. La troisime expose le fonctionnement inter centres dintrt, et donc
les mcanismes dinfluences inter comportementales. Enfin, la quatrime partie dtaille deux
aspects particuliers du fonctionnement de larchitecture : les combinaisons dobjets, le niveau
de dtail comportemental.

2.1. LE DTAIL DES BLOCS


Les blocs sont au cur de larchitecture. Ils permettent de grer les donnes du jeu et de les
transformer en informations utiles pour le raisonnement de la crature. Ces informations utiles
sont de trois natures possibles :

Motivation : mesure de lintrt interne de la crature pour un centre dintrt.

Opportunit : mesure de lintrt dune opportunit extrieure, par rapport un centre


dintrt.

Intensit : value un paramtre pour un actuateur.

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.

2.1.1. Les senseurs

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 :

Persistance : fixe la dure de validit de linformation (cf. Persistance, page 153).

Niveau de perception : fixe lappartenance un niveau de perception. La persistance est


alors Volatile (cf. Nouvelle persistance : Volatile, page 161).
- 165 -

III - Une architecture de conception adapte


Parfois, certaines informations ne sont pas disponibles dans le jeu. Il est important que le
systme puisse les reprer pour pouvoir les grer correctement. Les senseurs correspondants
vhiculent alors une valeur spciale correspondant une indfinition.
Les senseurs ont aussi la charge dune autre tche. Les donnes provenant du jeu doivent tre
ramenes des domaines universels, pour conserver lhomognit du systme (cf. Domaines
de valeurs, page 152). Cette transformation ne peut tre effectue quen connaissant la
signification de la donne. Cette tche est donc laisse la discrtion des concepteurs, mais
elle est intgre dans le senseur.
Les senseurs, comme tous les blocs, possdent un domaine de sortie. Ce domaine est
important puisquil dfinit le domaine dorigine de linformation. Cependant, il peut tre
chang par les oprateurs, qui modifient cette information et parfois aussi son domaine.
Enfin, les senseurs possdent une rfrence laisse lapprciation des concepteurs, qui leur
permet dinclure des informations du jeu spcifiques ce senseur. Cette rfrence est appele
donne du senseur.
Donne du senseur : rfrence sur des informations du jeu spcifique au senseur.

2.1.2. Les oprateurs


Les blocs qui modifient linformation sont appels oprateurs. Par rapport aux senseurs, ils
intgrent la notion dentres. Ces oprateurs sont donc classs en fonction du nombre de
leurs entres. Nous distinguerons trois catgories. Les oprateurs unaires transforment
linformation de leur unique entre. Les oprateurs n-aires combinent leurs entres, puis
certains appliquent une opration de modification (cf. Les blocs, page 157). Enfin, certains
blocs utilisent un paramtre de fonctionnement appel constante (cf. Les constantes, page
159). La dernire partie se consacre au traitement de lindfinition par les arbres de calcul.

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 -

III - Une architecture de conception adapte

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.

Drivateur : la sortie vaut la diffrence entre lancienne entre et la nouvelle.

Intgrateur : la sortie vaut la sommation des diffrentes valeurs reues en entre.

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 :

OU : la sortie vaut la somme des entres.

ET : la sortie vaut le produit des entres.

Moyenne : la sortie vaut la moyenne des entres.

Minimum : la sortie vaut la valeur dentre minimale.

Maximum : la sortie vaut la valeur dentre maximale.

Une fois encore ces oprations sont simples, dautres peuvent tre cres.

Oprateurs avec constante


Oprateur

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 :

Seuil : la constante dsigne le seuil. Si lentre est suprieure ce seuil, la sortie


correspond lentre. Sinon la sortie est nulle.

- 167 -

III - Une architecture de conception adapte

Distance : la constante dsigne la rfrence. La sortie mesure la diffrence entre lentre et


cette valeur rfrence. Le type de sortie est utilis pour le calcul de cette diffrence. Si le
type de sortie est positif, le bloc effectue une valeur absolue de sa sortie.

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 :

Absorption : lindfinition est absorbe si loprateur possde plusieurs entres, et quau


moins une de ses entres est dfinie. Ceci permet de prendre quand mme des dcisions,
mme en cas dinformations incompltes. Le systme ne se bloque pas.

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.

2.1.3. Compltude et extensibilit


Mathmatiquement, lexpressivit des blocs prsents est importante. Elle a suffi raliser les
trois expriences de cette thse. Cependant, il est difficile de parler de compltude. Le
traitement des donnes provenant du jeu peut parfois devenir trs complexe. Ce traitement
peut bien sr tre effectu par le jeu lui-mme, les senseurs nutilisant que le rsultat.
Ce point permet de soulever une question importante : quels traitements doivent tre effectus
par larchitecture ? Larchitecture utilise ses propres filtres pour slectionner les arbres de
calcul valuer. Ainsi, pendant un cycle de raisonnement, tous les arbres ne sont pas
excuts. Laisser les traitements larchitecture permet de ne pas les effectuer sils ne sont
- 168 -

III - Une architecture de conception adapte


pas ncessaires. Si ces traitements taient effectus par le jeu, ils le seraient systmatiquement,
que linformation soit utile au processus dcisionnel ou non.
Larchitecture permet aux concepteurs de crer leurs propres blocs. Ces blocs doivent
respecter les caractristiques cites plus haut (cf. Les blocs, page 157). Les traitements quils
peuvent effectuer sont laisss lapprciation du concepteur. Larchitecture offre des
possibilits importantes :

Une opration de combinaison commutative

Une opration de modification

Restructuration globale du fonctionnement

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.

2.2. LE FONCTIONNEMENT INTERNE DES CENTRES DINTRT


Les centres dintrt sont lis aux actuateurs auxquels ils donnent des ordres (cf. Les
Centres dIntrt, page 149). Ces centres dintrt sont responsables du calcul de ces ordres.
Ces calculs sont effectus grce aux arbres de calcul. Ces arbres puisent leurs informations
dans le jeu grce aux senseurs, leurs feuilles (cf. Les arbres de calcul, page 157).
Chaque centre dintrt regroupe donc plusieurs arbres de calcul. La premire partie dtaille
les particularits de ces arbres. Ils permettent de calculer les ordres. La seconde partie dcrit
la structure de ces ordres, ainsi que limpact quils ont sur le systme.

2.2.1. Les arbres de calcul


Les arbres de calcul permettent deffectuer les calculs ncessaires au fonctionnement du
processus dcisionnel. Ces besoins en calcul sont caractriss et permettent de distinguer trois
types darbres. La premire partie dcrit donc les arbres permettant le calcul de la
motivation. La seconde partie dcrit les particularits des arbres calculant lopportunit. La
troisime partie dcrit les arbres calculant les intensits. La quatrime partie dcrit un arbre
- 169 -

III - Une architecture de conception adapte


particulier, la satit. Enfin, la cinquime partie aborde le principe de factorisation, utilis
pour conomiser le prcieux temps machine.

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 -

III - Une architecture de conception adapte


limins. Les ordres dans cet espace de stockage sont en comptition pour un mme
actuateur. Cette limination entrane cependant des consquences. Les ordres sinfluencent
entre eux (cf. Influence mutuelle, page 174), chaque ordre limin ne pourra donc plus
influencer les autres ordres. Pour compenser cet effet, lordre limin fusionne selon les
mmes principes que pour les actuateurs (cf. Influence par une spatialisation des ordres, page
175).

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 :

La crature ne dsire plus poursuivre lordre.

Les circonstances ne permettent plus de poursuivre lordre.

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 -

III - Une architecture de conception adapte


externes. Ainsi, lorsque larbre de satit renvoie 1, lordre nest plus dsir et peut tre
dtruit, sinon, il est conserv.

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

Larbre de combinaison de lAllgeance et du Combat est factoris. Son rsultat est


rutilis pour le calcul de lopportunit de Tuer Ennemis et pour le calcul de
lopportunit Alerter Alli.

2.2.2. Les ordres


Les ordres sont le cur du fonctionnement du mcanisme de slection daction. Les centres
dintrt sont responsables de leur calcul. Ils sont le lien entre les senseurs et les actuateurs.
Leur structure est complte au fur et mesure du processus dcisionnel. La premire partie
- 172 -

III - Une architecture de conception adapte


dcrit cette structure. Les ordres sont aussi au centre du processus dinfluence entre les
centres dintrt. Ce processus sera donc dtaill dans la seconde partie. Un mcanisme
particulier permet de grer les ordres ngatifs, correspondant une inhibition. Il sera expliqu
dans la troisime partie. Enfin, le fonctionnement particulier des ordres statiques sera expliqu
dans la quatrime partie.

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 :

Intrt : combinaison de la motivation et de lopportunit (cf. Intrt : motivation et


opportunit, page 151). Ce score est au centre du mcanisme de slection. En cas
dabsence darbre de motivation ou dopportunit, la valeur 1 est utilise. Ainsi,
lintrt des ordres sans motivation ni opportunit est 1. Lintrt des ordres sans
opportunit est la motivation. Lintrt des ordres sans motivation est lopportunit.

Intensits : chaque intensit correspond un paramtre transmettre lactuateur (cf.


Intensits, page 155). Si aucun arbre nest connect, une valeur spcifique est transmise :
indfinie (cf. Le traitement de lindfinition, page 168).

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 -

III - Une architecture de conception adapte

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.

Automate : centre dintrt ne possdant ni motivation ni opportunit.

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).

Influence mutuelle nergtique


Linfluence mutuelle des centres dintrt joue un rle important dans le mcanisme de
slection daction (cf. Les influences comportementales, page 95). Elle permet, dans une
moindre mesure, un dialogue entre les centres dintrt. Ce dialogue permet daboutir des
dcisions combines, prenant en compte tous les facteurs de la situation, et pas seulement
ceux du centre dintrt vainqueur de la slection (cf. Les lments de validation, page 55).
Chaque dcision dun centre dintrt est instancie sous forme dun ordre. Ces ordres
parviennent alors aux actuateurs, qui sont responsables de leur excution. Chaque actuateur
connat donc lensemble des dcisions prises pour les ressources quil reprsente. Il peut donc
mettre en place un systme local dinfluence mutuelle (en rapport avec une seule ressource).
Un systme plus complexe de communication entre les centres dintrts aboutit un cot
lev en temps machine. Cest le cas notamment des systmes rcurrents, convergeant vers la
solution de compromis. Ces systmes ont montr leur adquation avec un grand nombre de
problmes lis au mcanisme de slection daction. Le principe de convergence rcurrente
aboutit une rvaluation importante du systme et donc un cot en temps machine bien
suprieur (cf. La transmission dnergie, page 101). Linstauration dun langage symbolique
plus complexe, comme KQML par exemple [Finin94], met en place des processus de
traitement de symboles annexes. Ces processus de traitement posent eux-mmes un problme
dcisionnel.
- 174 -

III - Une architecture de conception adapte


Cette architecture veut rester simple, et permettre aux concepteurs de crer leurs cratures
virtuelles sans trop de contraintes, et sans faire appel des notions trop complexes. Ainsi,
aussi bien pour la simplicit de conception et lhomognit de larchitecture, que pour le
temps machine ncessaire, un mcanisme dinhibition et dexcitation permet de reproduire ce
processus dinfluence mutuelle.

Influence par une spatialisation des ordres


Parfois, les actuateurs ne possdent aucun paramtre, et correspondent des ordres simples
ne comportant quun intrt. Linfluence mutuelle est alors assez simple mesurer. Plusieurs
centres dintrt dsirant effectuer la mme action, vont alors cumuler leur intrt pour cette
action. Lintrt de lactuateur sera alors la somme des intrts des ordres reus.
Lorsque les actuateurs possdent un ou plusieurs paramtres ou intensits, le processus
dinfluence se complexifie alors. Un premier moyen simple consisterait cumuler les intrts
des ordres possdant les mmes valeurs dintensits. Seulement le cas est plutt rare, surtout
pour un nombre dintensits important. Le systme distingue alors lintensit principale des
autres. Ainsi, deux ordres possdant une mme intensit principale sont supposs
suffisamment proches pour que le systme combine leur intrt. Lintensit principale
permet ainsi de reprsenter les ordres sur une dimension commune.
L encore, pour une intensit principale continue, il se peut que les ordres soit trs proches
mais pas identiques. Linfluence devient alors assez rigide, ne sappliquant que dans certains
cas trs prcis. Le principe mis en place pour larchitecture sinspire des trapzes de la logique
floue et permet de dfinir des zones dinfluence pour chaque ordre. Chaque trapze est centr
sur lintensit principale. Il se dfinit grce deux valeurs comprises entre 0 et 1 :

base : dfinit la largeur de la base du trapze. 1 correspond la largeur du domaine de


dfinition de lintensit principale. 0 correspond lunique valeur de lintensit
principale, cest la valeur par dfaut.

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 -

III - Une architecture de conception adapte


compte du caractre cyclique du domaine de dfinition. Ainsi, pour un domaine cyclique et
avec une base de 1, quelque soit lintensit principale, la zone dinfluence recouvre tout le
domaine.

Figure 34 : Exemple d'influence mutuelle, intensit principale non cyclique.


Ces trapzes, associs chaque ordre, permettent de mesurer le coefficient de proximit de
ces ordres. Ce coefficient permet alors de pondrer le cumul de lintrt de ces ordres. Ce
mcanisme permet donc daffiner le processus dinfluence mutuelle.
La base et le noyau sont deux arbres de calcul comme les autres, dont le domaine de sortie
doit tre continu positif. Elles fournissent au systme dcisionnel des informations
supplmentaires concernant lintensit principale. Pour un actuateur directionnel, par
exemple, la base permet de mesurer la largeur de scurit dun objet en vue, le noyau sa
largeur exacte.

Les ordres ngatifs


Les ordres ngatifs reprsentent en fait une inhibition (cf. Excitation, inhibition, page 150). Ils
sont appels ainsi, car leur intrt est ngatif. Ils proviennent de centres dintrts
inhibiteurs. Linfluence de ces ordres fonctionne de la mme manire que pour les autres
ordres. Cependant, le cumul diminue alors lintrt des autres ordres, aboutissant un
phnomne dinhibition.

- 176 -

III - Une architecture de conception adapte


Linhibition ne sert qu empcher certains ordres dtre slectionns. Elle ne sapparente pas
au principe de rpulsion de certaines architectures, qui consiste introduire des ordres aux
intensits inverses. Ce principe a notamment t utilis pour automatiser les dplacements.
Lenvironnement est parcouru de champs attracteurs et de champs rpulseurs. Les premiers
attirent la crature vers leur centre, les seconds len loigne. Les champs rpulseurs entranent
donc un mouvement de la crature. Le principe de spatialisation des ordres permet
larchitecture de gnrer elle-mme ces ordres inverses si besoin est. Quant linhibition, elle
nest utilise que pour diminuer lintrt des ordres prsents.
Pour les mmes raisons que prcdemment (cf. Opportunit, page 170), les actuateurs
procdent aux aussi au filtrage des ordres reus. Pour des raisons doptimisation du temps
machine, lapplication des ordres ngatifs est retarde au plus tard. Le filtrage des ordres
seffectue donc sans connatre les effets de ces ordres ngatifs. Le filtrage prend alors en
considration un facteur supplmentaire : la spatialisation.
Chaque ordre ngatif aura sa propre zone dinfluence. Eliminer les ordres selon leur intrt
peut ainsi savrer une mauvaise stratgie, si elle privilgie une zone de lespace de lintensit
principale. Si cette zone est au cur de la zone dinfluence des ordres ngatifs, tous les
ordres retenus deviendront invalides. Le filtrage seffectue donc en privilgiant loccupation
de lespace. Le systme dsigne les deux ordres les plus proches, et effectue une fusion selon
le principe dinfluence mutuelle (cf. Influence par une spatialisation des ordres, page 175).
Finalement, avant lexcution dun ordre, le systme calcule les influences mutuelles,
applique les ordres ngatifs et slectionne le plus intressant. Enfin, il lexcute.

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 possdent la mme source : ils concernent donc le mme objet.

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.

Ils appartiennent au mme actuateur : la cible de lordre est le mme actuateur.


- 177 -

III - Une architecture de conception adapte


Si un nouvel ordre savre similaire un ordre dj prsent, il le met jour, et prend donc sa
place, sans aucune influence possible entre les deux ordres. Sinon, cest un ordre indpendant.
Le deuxime problme concerne la destruction des ordres conservs, qui risquent de
monopoliser les ressources de la crature. Larbre de satit est consult au dbut de chaque
cycle pour mesurer la validit des ordres conservs (cf. Satit, page 171). Si le rsultat est 1,
lordre est considr inutile et est donc dtruit. Ce principe simple pose cependant une petite
restriction quant aux sources des ordres. Les arbres de satit tiennent parfois compte de
paramtres volatiles, lis la source de lordre. Cette dernire doit donc rester valide tout au
long de lexistence de lordre.

2.3. LE FONCTIONNEMENT INTER CENTRES DINTRT


Le fonctionnement des centres dintrt est maintenant clair. Cependant larchitecture gre
aussi tous les mcanismes qui rgulent les relations entre eux. Ces relations tournent autour de
deux axes principaux. Dun ct, larchitecture essaie doptimiser le temps qui lui est allou
en triant les centres dintrt. Ainsi, les plus prometteurs sont traits en premier (cf. Intrt :
motivation et opportunit, page 151). Dun autre, le concepteur peut crer des dpendances
qui viennent influencer le fonctionnement gnral. Ces dpendances sont lies la notion de
couche (cf. Les couches, page 161). Elles doivent parfois intervenir dans le tri des centres
dintrt.
La premire partie dtaille limpact des couches et donc des dpendances sur le
fonctionnement de larchitecture. La seconde dcrit en dtail le principe de fonctionnement du
tri des centres dintrt. Ce fonctionnement est bas sur la notion dactivation, comment elle
se propage, comment elle permet la slection.

2.3.1. Les influences


Les dpendances et les liens qui se crent entre les centres dintrt permettent dexprimer
des influences particulires. Ces liens sont riches de sens pour les concepteurs. Larchitecture
propose deux mthodes pour permettre un centre dintrt den influencer un autre. La
premire permet de modifier un bloc via un actuateur. Elle sera dcrite dans la premire
partie. La seconde permet de crer un objet virtuel insrer dans un niveau de perception.
Elle sera dtaille dans la deuxime partie.
- 178 -

III - Une architecture de conception adapte

Modification dune donne non volatile


Certains blocs utilisent pour fonctionner une constante. Les senseurs deviennent alors des
sortes dattributs internes (cf. Les actuateurs modifiants, page 162). Les oprateurs peuvent,
quant eux, effectuer des oprations non commutatives (cf. Oprateurs avec constante, page
167). Grce aux actuateurs modifiants, il est possible de changer la valeur de la constante de
ces blocs. Seule restriction, ce bloc ne doit pas tre volatile. La modification dun bloc
volatile est aborde infra.
La modification dun bloc entrane une rvaluation des arbres utilisant ce bloc, et donc des
ordres qui en dcoulent. Le processus dinfluence mutuelle des actuateurs est assez coteux,
il est donc important de le retarder au plus tard, pour tenir compte des dernires mises jour
des blocs. Les ordres sont donc stocks momentanment dans les centres dintrt, en
attendant lenvoi vers les actuateurs. Ainsi, toute modification dun bloc non volatile peut
tre mise jour directement au sein du centre dintrt.
Il devient alors possible de modifier larbre de motivation du centre dintrt. Les attributs
internes peuvent alors correspondre des motions, values par certaines couches de
larchitecture, et utilises par dautres. Une autre utilisation de ce mcanisme permet de
donner des ordres une couche infrieure et ainsi de crer des niveaux de dtail
comportementaux (cf. Les niveaux de dtails comportementaux, page 185).

Cration dun objet virtuel


La modification des blocs volatiles est un peu particulire. Ces blocs appartiennent un
niveau de perception, et correspondent donc des objets de lunivers. La modification de ces
blocs entrane donc la rvaluation de lensemble des objets du niveau de perception
correspondant. Ce processus, jug trop coteux, est vit en restreignant les modifications.
Seuls les senseurs volatiles peuvent tre modifis. Tout comme pour les autres blocs, cette
modification seffectue grce un actuateur modifiant. Ce dernier permet en fait de modifier
lensemble des senseurs dun niveau de perception. Ces actuateurs possdent autant
dintensits que le niveau de perception possde de senseurs. Larchitecture peroit cette
modification comme lintroduction dun nouvel objet. Cet objet est bien entendu virtuel, cr
par une couche suprieure.

- 179 -

III - Une architecture de conception adapte


Lapparition dun nouvel objet virtuel est difficile prvoir. Elle peut survenir aprs
lexcution des ordres. Il est donc essentiel que larchitecture puisse revenir sur ses dcisions
pendant le cycle de raisonnement. Les actions des actuateurs ne doivent donc pas tre
irrmdiables. En gnral, elles modifient des donnes du jeu, qui ne seront prises en compte
quaprs la fin du cycle de raisonnement. Pendant toute la dure du cycle, larchitecture est
susceptible de revenir sur ses dcisions.

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.

Activation : une information statique


La motivation de chaque centre dintrt mesure trs exactement lintrt quy porte la
crature virtuelle. Cest donc une mesure trs adapte. Cependant, un autre problme se pose.
Cette mesure est valable si chaque cycle de raisonnement est vu sparment. Or, les cycles se
succdent, et peuvent tre interrompus tout moment. Ces interruptions troublent le processus
dcisionnel. Ainsi, certains centre dintrt possdant une motivation moins importante
peuvent ne jamais tre utiliss. Pourtant, sils sont prsents, ils doivent servir.
Lactivation permet de balancer ce problme. Ce score est en fait lintgration des diffrentes
motivations du centre dintrt au travers des cycles de raisonnement. Lactivation est donc
un cumul des motivations.

- 180 -

III - Une architecture de conception adapte


Soit m la motivation du centre dintrt,
Soit A lactivation du centre dintrt,
A m
A 0 si centre d' intrt utilis

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.

Propagation selon les dpendances


Les activations fixent lordre de traitement des centres dintrt. Certains liens viennent
modifier cette activation pour influer sur cet ordre, refltant ainsi les dpendances dues aux
couches (cf. Les couches, page 161). Ces dpendances sont lies la prsence dautomates.
Ces centres dintrt ne possdent ni opportunit ni motivation. Ils sont en gnral lis
des actuateurs volatiles. Ces centres ne possdent donc pas dactivation. Deux cas de figure
sont alors possibles :

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 -

III - Une architecture de conception adapte


limmobilit. Le systme doit privilgier les couches infrieures, et traiter les couches
suprieures au fur et mesure. Le raisonnement devient alors incrmental, plus la crature
dispose de temps machine, plus sa dcision paratra mrement rflchie.

Slection des centres dintrt


La notion dactivation permet de trier les centres dintrt. Elle ne ncessite que lvaluation
des arbres de motivation. Une fois tri, ces centres sont traits un par un. Si le processus
dispose dassez de temps machine, tous les centres sont traits. Par contre, si ce temps nest
pas suffisant, il est important que la crature affiche toujours un comportement acceptable (cf.
Premption, page 45). Le processus dcisionnel est donc incrmental vis--vis des
dpendances logiques (voir supra).
Le systme trie les centres dintrt selon leur activation. La propagation dactivation
permet de garantir le respect des dpendances logiques automatiques. Chaque centre trait
envoie alors ses ordres aux actuateurs auxquels il est connect. Le processus dcisionnel doit
tre interruptible (cf. Premption, page 45) par le jeu tout moment. De plus le processus de
slection du meilleur ordre au sein des actuateurs est quelque peu coteux en temps machine
(cf. Les ordres ngatifs, page 176). Il parat donc prfrable quil soit excut le moins de fois
possible. Dun autre ct, il est ncessaire de lexcuter avant linterruption du processus,
sinon aucune action nest entreprise. Larchitecture se base alors sur un temps machine
prvisionnel.
Ce temps machine prvisionnel peut provenir de deux sources. Le jeu peut envoyer au
systme le temps machine quil compte lui allouer. Ou alors, le systme effectue une moyenne
du temps machine quil a utilis lors de ses prcdents cycles de raisonnement (temps suppos
infini pour le premier cycle). Lors du tri des centres dintrt, le systme utilise ce temps
prvisionnel pour simuler son cycle de raisonnement et slectionner les centres dintrts qui
seront traits. Lorsquun actuateur a reu tous les ordres des centres dintrt slectionns,
il dclenche laction correspondant au meilleur ordre. Si le systme dispose dun temps
infrieur au temps prvisionnel, il traite les actuateurs avant de sinterrompre. Si le temps est
suprieur, le systme traite les centres dintrts possdant lactivation la plus leve. Les
actuateurs traitent alors directement les nouveaux ordres reus (cf. Les ordres, page 172).
Le processus dcisionnel doit cependant prendre en compte une autre contrainte : les niveaux
de perception. La transformation des donnes des objets du jeu par les senseurs est parfois
- 182 -

III - Une architecture de conception adapte


une opration coteuse en temps machine. Il est donc important de ne pas excuter cette phase
plusieurs fois. Ces informations sont volatiles et ne persistent donc pas dans larchitecture. Si
un objet doit tre nouveau trait, il est ncessaire de les recalculer. Plusieurs politiques sont
alors possibles :

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).

La premire mthode possde le dsavantage de prsenter deux fonctionnements aux


consquences diffrentes. Le processus perd alors son caractre incrmental. La seconde, bien
quun peu plus coteuse, permet de conserver ce caractre incrmental et a donc t
privilgie.

2.4. CAS PARTICULIERS RELATIFS AU JEU


Le domaine du jeu vido est trs particulier, comme cela a t dcrit tout au long de Le
domaine du jeu vido . Certaines fonctionnalits sont souvent rencontres dans le jeu et
doivent pouvoir tre mises en uvre dans larchitecture.
La premire concerne le fonctionnement mme de larchitecture. Il est souvent possible dans
nombre de jeux de combiner plusieurs objets pour en obtenir un autre. Les niveaux de
perception ne permettent pas de grer ces combinaisons. Cependant, la premire partie
explique comment traiter ce cas particulier.
La seconde concerne une fois de plus lconomie de temps machine. La deuxime partie dcrit
comment grer les niveaux de dtail comportementaux. Une crature na pas toujours besoin
de se comporter de manire aussi dtaille.

2.4.1. La combinaison dobjets de lenvironnement


Accrocher une corde un barreau pour svader, ou encore utiliser une cl pour ouvrir une
serrure, la combinaison des objets du jeu est bien souvent lorigine dvnements
- 183 -

III - Une architecture de conception adapte


scnaristiques. Pour pouvoir effectuer ces actions, les cratures virtuelles doivent tre mme
dapprhender ce processus de combinaison.
Les exemples ci-dessus ne traitent que de combinaisons binaires, comprenant deux objets.
Parfois, des combinaisons plus complexes sont utilises. La premire partie dcrit comment
traiter ces combinaisons multiples, et les ramener des combinaisons binaires.
La seconde partie dtaille comment traiter les combinaisons binaires au sein de larchitecture.
Elle explique comment contourner le problme dexplosion combinatoire li aux
combinaisons.

La loi des paires


Une combinaison de n objets peut tre facilement ramene plusieurs combinaisons binaires.
En fait le processus consiste crer des tapes de combinaisons successives. La combinaison
du premier objet avec le second donne naissance un nouvel objet, correspondant au rsultat
de la combinaison. Ce premier objet virtuel peut alors tre combin avec le troisime objet.
Ce processus rcurrent permet ainsi, grce la cration dobjets intermdiaires, deffectuer
des combinaisons aussi complexes que le dsirent les concepteurs.

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 -

III - Une architecture de conception adapte


Pour que ces centres fonctionnent correctement, il est ncessaire de connecter leur
motivation un senseur spcial, qui rvle la prsence et lutilit de lobjet attach. Ainsi, le
systme nutilisera pas ce centre de combinaison si lobjet attach nest pas prsent.

2.4.2. Les niveaux de dtails comportementaux


Le niveau de dtail comportemental est un principe qui permet dconomiser du temps
machine. Il se rapproche du niveau de dtail de simulation utilis par [Carlson97]. Le dtail
comportemental correspond en fait la prcision du comportement que la crature affiche. Un
exemple permet dexpliquer ce concept trs simplement. Prenons un individu habitant dans
une ville. A un niveau macro conomique, comme celui utilis dans Sim City [SimCity95],
cet individu correspond quelques attributs, pris en compte par des formules mathmatiques
de simulation qui valuent son comportement (cf. Techniques de simulation, page 18). A un
niveau humain, cet individu possde ses besoins et ses motivations. Il va au travail, puis rentre
chez lui. Parfois, il passe faire les courses. Le dtail de ses mouvements importe peu, seule sa
localisation et ses actions gnrales comptent. Enfin, un niveau dinteraction (le joueur est
en contact), les mouvements deviennent importants. Les animations dtailles du visage et des
mains permettent cet individu de sexprimer et dagir. Ces trois exemples correspondent
trois niveaux de dtail. Les niveaux les plus dtaills sappuient sur les niveaux plus gnraux,
desquels ils reoivent leurs instructions. Les niveaux les plus gnraux sont souvent les plus
simples mettre en uvre et les plus rapides lexcution. Au sein dun mme jeu et pour
une mme crature, utiliser plusieurs de ces niveaux est parfois apprciable, et permet
dconomiser ainsi beaucoup de temps machine.
Ces niveaux correspondent en gnral des couches diffrentes. Les couches suprieures
donnant des ordres aux couches infrieures via un actuateur modifiant. Chaque actuateur
modifiant visant donner des instructions une couche infrieure correspond un niveau de
dtail. Il possde une action capable de rsumer plus ou moins grossirement le
fonctionnement de la couche infrieure quil a sous son contrle. Lorsque cela est ncessaire,
et la discrtion du jeu, la crature utilise le niveau de dtail requis. Les couches non utilises
sont alors inactives.

- 185 -

III - Une architecture de conception adapte

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 mcanisme de slection des centres dintrt critiques, bas sur lactivation.

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 :

Comportement opportuniste grce lopportunit et la motivation

Comportement stable grce la persistance de certains blocs ou actuateurs.

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

Niveau de dtail comportemental

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).

3. Lapprentissage par renforcement


Larchitecture doit prsenter des capacits dadaptation (cf. La stratgie, page 14). La
premire est mise en uvre par le biais dun systme dapprentissage par renforcement
gnralis. Ce systme fait lobjet des explications de cette partie. Ladaptation au sein de
- 186 -

III - Une architecture de conception adapte


larchitecture doit cependant pouvoir tre entirement contrle, et sintgrer totalement avec
le reste (cf. Une autonomie restreinte, page 48). Le principe dapprentissage se base donc sur
deux notions complmentaires : dun ct les surveillants, qui valuent les situations et
essaient de quantifier les checs ou les russites, de lautre des blocs dapprentissage
capables de sadapter.
La premire partie explique comment fonctionnent les surveillants. Elle sattardera sur les
principes gnraux de lapprentissage et comment ils ont t mis en place dans larchitecture.
La seconde partie dcrit les blocs dapprentissage, le fonctionnement gnral, mais aussi les
trois blocs dj crs pour les exemples de cette thse.

3.1. LES SURVEILLANTS


Surveillant

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.

3.1.1. Quantifier lchec ou la russite


La quantification de lchec ou de la russite revient en fait calculer le signal
dapprentissage. Ce calcul correspond au seul arbre intensit que possde lactuateur
surveillant. Cet actuateur est en fait responsable denvoyer le signal dapprentissage aux
blocs dapprentissage.
La motivation et lopportunit des centres dapprentissage correspondent la frquence
dapprentissage, mais aussi limportance pour le systme de prendre le temps dapprendre.
- 187 -

III - Une architecture de conception adapte


Lopportunit permet aussi de signaler la prsence dun signal dapprentissage dans
lenvironnement. La premire partie dcrit le principe de lapprentissage diffr, comment il
sinscrit dans larchitecture.
La quantification de lchec ou de la russite est laisse au soin de larbre dintensit.
Larchitecture permet cependant de distinguer plusieurs types de signaux de renforcements,
qui correspondent aux diffrents domaines universels. Le premier facteur important est
laspect continu du signal. La seconde partie dtaille les effets de cette continuit sur
lapprentissage. De ces diffrents domaines, deux classes de signaux mergent : les signaux
dchec ou de russite, les signaux dchec dichotomique. La troisime partie explique le
fonctionnement des signaux dchec et de russite. La quatrime dtaille les signaux
dichotomiques.
Enfin, le signal dapprentissage value une situation donne. Il caractrise donc plutt un
arbre de calcul quun bloc. Pourtant, ce signal sera finalement envoy un ou plusieurs
blocs dapprentissage. La cinquime partie dcrit comment grer cette relation parfois
ambigu, qui peut prter confusion.

Les signaux diffrs


Dans certains cas, les signaux dapprentissage parviennent immdiatement aprs laction quil
convient de rcompenser ou de pnaliser. Lapprentissage est alors immdiat. De plus,
laction responsable du signal est facile dterminer. Les centres dintrt lorigine de
lordre sont eux aussi faciles retrouver. Les blocs dapprentissage appartenant aux arbres
utiliss reoivent alors le signal.
Malheureusement, ce cas est trs rare dans les jeux vido. Les actions entreprises par les
cratures naffichent des rsultats que plus tard. Le signal dapprentissage peut alors tre
calcul en fonction de ce que la crature remarque. Mais les actions responsables de ce signal
sont difficiles dterminer (cf. Renforcements et causalit, page 119). Le signal
dapprentissage a donc pour but de permettre la convergence du systme dcisionnel. Cette
convergence implique une mmorisation de lutilisation des diffrents blocs. Cette
mmorisation dpend de larbre auquel ils appartiennent et sera explique plus loin (cf.
Apprendre, page 190).

La continuit
- 188 -

III - Une architecture de conception adapte


Les signaux peuvent tre ou non continus. La continuit permet de mesurer plus exactement le
signal. Elle permet de graduer la russite ou lchec. Le systme dapprentissage mis en place
au cur des blocs dapprentissage utilise cette information supplmentaire. Ainsi, un signal
plus important valuera une russite ou un chec plus important, et donc une modification du
bloc dapprentissage plus importante. Les signaux binaires ou tertiaires sont moins prcis. Le
systme dapprentissage reoit moins dinformations et la convergence est donc plus longue.

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 :

Signal nul : un signal dapprentissage dintensit 0 naboutit aucun apprentissage. Il


napporte aucune information au systme.

Positif : les deux intensits sont comprises entre 0 et 1. Elles fournissent une information
non signe et norientent la convergence quen fonction du contexte.

Amplitude : lamplitude du changement effectuer doit tre proportionnelle (chec) ou


inversement proportionnelle (russite) lamplitude du signal dapprentissage.

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 :

Signal nul : un signal nul napporte aucune information.


Pour plus de dtails quant la fiabilit voir La fiabilit, page 195.
- 189 -

III - Une architecture de conception adapte

Amplitude : lamplitude du signal permet de mesurer lamplitude du changement


effectuer.

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.

Un signal pour un bloc


Le signal dapprentissage est adress des blocs dapprentissage. Malheureusement, ces
blocs font partie dun arbre de calcul. Il est alors important de distinguer la sortie du bloc
dapprentissage de la sortie de larbre. Le signal dapprentissage ne doit donc pas mesurer
lerreur de la sortie de larbre, mais celle du bloc dapprentissage. Cela peut avoir une
incidence importante, surtout si des blocs viennent changer son signe par exemple. Une
valeur trop importante en sortie darbre de calcul, signifie alors une valeur trop faible en
sortie du bloc dapprentissage. Le signal doit donc se rapporter aux blocs et non aux arbres,
mme si naturellement, cest le rsultat dun arbre quil sanctionne.

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.

Les arbres relatifs


- 190 -

III - Une architecture de conception adapte


Les arbres relatifs mesurent des valeurs dont limpact est relatif et dpend des autres arbres
relatifs. En terme dapprentissage, cela signifie que ces valeurs ne doivent pas converger
indpendamment vers une solution idale, mais que toutes doivent converger vers un
ensemble de solutions ordonnances correctement.
Cette classe englobe en fait les arbres de motivation et dopportunit. Leur rle est de
permettre la slection dun centre dintrt plutt quun autre. Leurs valeurs sont donc en
comptition. De plus, le domaine est forcment positif. Le but de lapprentissage est alors
den privilgier un centre dintrt plutt quun autre. La quantification utilise peut tre :

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.

Un premier problme apparat ds lors, le systme semble ne jamais se stabiliser. Ce problme


est rgl par la notion de fiabilit, qui sera aborde plus loin (cf. La fiabilit, page 195). La
fiabilit permet de mesurer ladquation du bloc dapprentissage avec les situations
rencontres. Lapprentissage est donc pondr par cette fiabilit. Ainsi, un bloc fiable
napprendra plus, bien quil reoive toujours des signaux dapprentissage. Par opposition, un
bloc peu fiable subira de plus importantes modifications.
De plus, le systme dapprentissage utilis devient alors agressif. Il est utilis, que le bloc
dapprentissage ait servi lordre slectionn ou non. En effet, il est possible que lchec soit
d un centre dintrt pas assez motiv, qui naura donn aucun ordre. Augmenter la valeur
de ses blocs dapprentissage permettra peut-tre sa slection lors dune prochaine situation
similaire. Donc, chaque signal reu, tous les blocs dapprentissage appartenant des
arbres relatifs apprennent systmatiquement. Deux cas se prsentent :

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 -

III - Une architecture de conception adapte

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.

Les arbres exacts


Les arbres exacts permettent de calculer des valeurs exactes. Ces valeurs sont utilises par les
arbres dintensit, de base et de noyau. Cette fois, le systme dapprentissage doit permettre
de converger vers une valeur exacte. Cette valeur idale dpend bien videmment du contexte.
Mais elle reste identique contexte gal.
Dans un cadre gnral, les domaines des intensits peuvent tre diffrents (cf. Domaines de
valeurs, page 152). Le rle de lapprentissage est donc damener le bloc produire la sortie
idale, cest--dire traiter correctement le contexte. Tous les signaux peuvent tre utiliss :

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.

Une fois encore le principe de fiabilit permet de maintenir la stabilit de lapprentissage


(voir supra). Bien sr, le signal dichotomique fournissant plus dinformation, la convergence
du systme est beaucoup plus rapide. Elle dpend alors de la prcision du signal.
Ces arbres ninfluencent lenvironnement que si leurs sorties sont utilises par un ordre qui a
t excut. Les signaux dapprentissage reus ne concernent alors que ces cas prcis, et non
pas toutes les utilisations comme cest le cas pour les arbres relatifs. La mmoire de ces blocs
ne retient alors que les valeurs utilises par un ordre excut.

- 192 -

III - Une architecture de conception adapte

Les dpendances et la fiabilit


La fiabilit est calcule par chaque bloc dapprentissage. Ce calcul ne prend donc en compte
que des paramtres propres ces blocs, en gnral les signaux dapprentissage reus. Or, les
dpendances cres dans larchitecture ont une influence majeure sur cette fiabilit :

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
|

&

Dist sont alors appels les blocs dpendants de Seuil.

Seuil

Coef

Figure 35 : Dpendances entre blocs d'apprentissage dans un mme arbre.

Signaux gnraux et transmission aux couches : les actuateurs modifiants permettent


denvoyer des instructions aux couches infrieures. Ces instructions sont le rsultats
darbres de calcul qui peuvent inclurent des blocs dapprentissage. De plus, les arbres
qui vont traiter ces instructions, qui appartiennent donc la couche infrieure, peuvent eux
aussi contenir dautres blocs dapprentissage. Ces derniers sont alors dpendants vis vis
du signal dapprentissage des premiers blocs. En effet, si les instructions taient
mauvaises, les blocs des arbres infrieurs ne pouvaient produire un rsultat correct. Tant
que les blocs suprieurs ne sont pas suffisamment fiables, les blocs infrieurs varient peu.
Ainsi, dans le schma infra, le bloc dapprentissage Coef, dpend du bloc
dapprentissage Seuil.

- 193 -

III - Une architecture de conception adapte

Figure 36 : Dpendances entre blocs d'apprentissage de plusieurs couches dpendantes.


Dans les deux cas, le problme est le mme. Dun ct la fiabilit dun bloc dpend des blocs
antcdents. De lautre, le signal dapprentissage sanctionne la sortie du bloc final et donc
plus particulirement le bloc final. Le problme ressemble au problme daccrditation dj
vu (cf. Les signaux diffrs, page 188). Il ny a pas de solution idale, sinon propager le signal
dans tous les blocs dapprentissage. En fait, lidal est une fois de plus de spcialiser
lapprentissage, cest--dire denvoyer un signal dapprentissage distinct pour chacun des
blocs.

3.2. LES BLOCS DAPPRENTISSAGE


Apprentissage

Les concepteurs du jeu doivent rester matres de ladaptation du systme. La localisation de


lapprentissage certaines zones du systme est donc indispensable. Cette localisation
seffectue naturellement par lintroduction de blocs capables de sadapter. Les surveillants
valuent le contexte et fournissent ces blocs des signaux dapprentissage qui permettent
daiguiller leur adaptation. Le concepteur contrle ainsi toutes les phases du mcanisme.
De plus, ce mcanisme sintgre parfaitement avec le reste de larchitecture. Il fait appel des
blocs, et des actuateurs particuliers. Cet assemblage parat alors naturel lors de la conception
des cratures virtuelles. Il permet aussi de rendre adaptatif le mcanisme dadaptation. Rien
nempche le concepteur dintroduire dans les arbres connects aux surveillants, des blocs
dapprentissage, eux-mmes surveills.
Cette partie sattarde plus particulirement sur les blocs dapprentissage et leur
fonctionnement. La premire partie dcrit le fonctionnement gnral, commun tous les blocs

- 194 -

III - Une architecture de conception adapte


dapprentissage. Une seconde partie passera en revue les blocs dapprentissage dj conus.
Ces blocs correspondent en gnral aux besoins des expriences prsentes dans cette thse.

3.2.1. Fonctionnement gnral


Les blocs dapprentissage sont avant tout des blocs comme les autres. Ils peuvent possder
des entres, une opration de combinaison, une opration de modification. Utiliss dans
larchitecture, ils se comportent comme tous les autres blocs, fournissant eux aussi une valeur
de sortie unique.
Leur particularit rside dans leur facult dadaptation. Chacun de ces blocs a pour rle
dapproximer une fonction, qui, partir ses entres, fournit la sortie idale. Cette fonction est
appele fonction idale. Ladaptation permet ces blocs de changer certains paramtres
internes, appels paramtres dapprentissage, pour que son rsultat se rapproche de celui de
la fonction idale.
Cette adaptation peut seffectuer lorsquils reoivent et traitent un signal dapprentissage mis
par un surveillant. Cette partie a donc pour but de dtailler le fonctionnement du traitement
de ce signal. Ce fonctionnement se partage en deux tapes distinctes : la fiabilit et la
mthode dapprentissage. La premire partie dcrit donc lutilit et le calcul de la fiabilit. La
seconde explique le mcanisme dadaptation en lui-mme.

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 :

Echec ou dichotomie : la valeur absolue du signal mesure directement lerreur.

Russite : le complmentaire 1 de lamplitude du signal mesure lerreur.

- 195 -

III - Une architecture de conception adapte


Lerreur cumule de lensemble des signaux mesure lerreur globale commise par le bloc
dapprentissage. Cette notion soppose exactement la notion de fiabilit. La formule de
calcul de la fiabilit est donc :
Soit e lerreur mesure,
Soit n le nombre de signaux reus,

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 '

Quand n, le nombre de signaux, devient important, la partie gauche de lquation mesure la


modification de fiabilit, et la partie droite tend vers 0. Ladaptation est donc importante au
dpart, puis devient vite inefficace, lorsque n augmente. Un second mcanisme a donc t
adjoint. Il vite que ce nombre ne devienne trop important, pour permettre de nouvelles
adaptations. En fait, lide consiste ne compter que les signaux significatifs, cest--dire
entranant une modification consquente de la fiabilit. Les autres signaux sont considrs
comme insignifiants, ils ne modifient donc pas n. Ainsi lorsque | f f | est assez petit
(infrieur ou gal 0,2 en pratique), n cesse daugmenter. Pour n fix, le changement de
fiabilit maximal est n-1. Le seuil dtermine donc la modification maximale encore possible
alors que n est maximal. 0,2 permet dobtenir un bon rendement en terme de modification
maximale aprs un historique important.

Les paramtres dapprentissage


Pour sadapter le bloc dapprentissage doit changer son traitement. En fait, chaque bloc
dapprentissage

possde

des

paramtres
- 196 -

dapprentissage.

Ces

paramtres

III - Une architecture de conception adapte


dapprentissage sont utiliss lors de son fonctionnement, par lopration de combinaison et
ou lopration de modification. Le bloc sadapte donc en modifiant ses paramtres
dapprentissage.
Le rle de ces blocs dapprentissage est dapproximer la fonction idale. Leur traitement est
lui-mme une fonction, qui prend en compte les paramtres dapprentissage. Cette fonction
devient alors la fonction paramtrique dapproximation. A priori, toutes les fonctions
paramtriques peuvent tre choisie. Quelques restrictions simposent cependant :

Domaines de dfinition : les domaines de dfinition de la fonction doivent tre


compatibles avec le type des entres et le type de sortie.

Rapide calculer : les restrictions de temps machine bannissent lutilisation de fonctions


mathmatiques trop complexes calculer.

Lapproximation la plus simple consiste nutiliser quun seul paramtre dapprentissage.


Elle inclut notamment la fonction dapproximation linaire. En augmentant le nombre de ces
paramtres dapprentissage, il est possible de crer un bloc dapprentissage permettant une
approximation pluri linaire. Enfin, un grand nombre de fonctions paramtriques peuvent tre
utilises.

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.

Amplitude du signal : elle permet de mesurer lerreur et donc lamplitude de la


modification effectuer. Plus le bloc dapprentissage se trompe, plus il doit changer son
paramtre dapprentissage.

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 -

III - Une architecture de conception adapte

Fiabilit : elle vient pondrer lamplitude du changement. Plus le bloc dapprentissage


est fiable, moins il change.

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 :

Rfrence dapprentissage : cest la valeur rfrence du paramtre dapprentissage


modifier. Elle est calcule partir de la valeur de sortie utilise. Elle sert de localisation
lexploration du voisinage.

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.

Soit e lerreur associe au signal,


Soit f la fiabilit du bloc dapprentissage,
Echelle e 1 f
Le signal dapprentissage joue donc un rle trs important, surtout lorsque le bloc
dapprentissage nest pas encore fiable. Pourtant, ce signal correspond trs rarement
directement la modification appliquer au paramtre dapprentissage. Il peut ne donner
que trs peu de renseignements (sil est de type binaire par exemple). Le systme
dapprentissage choisi doit donc permettre une adaptation correcte, quelques soient les
conditions (types de signaux, corrlation du signal et du paramtre dapprentissage). Cest
pour ces raisons que larchitecture utilise un systme stochastique.
Le principe consiste alors utiliser une loi de distribution pour gnrer la nouvelle valeur de
sortie. Le tirage alatoire de cette nouvelle valeur seffectue en utilisant les paramtres de
rfrence dapprentissage (localisation) et dchelle (en rapport avec lcart type) pour
orienter les recherches. Plusieurs distributions sont envisageables [McLaughlin99].
Cependant, la distribution doit permettre une exploration soit dun seul des voisinages, soit
des deux, sans pour autant retrouver la rfrence dapprentissage. De plus, la formule
permettant de gnrer les nombres alatoires doit tre simple. Son valuation ne doit pas
coter trop de temps machine.
La distribution utilise dans larchitecture est la distribution de Fisk. Elle peut tre facilement
double (distribution double de Fisk) pour permettre lexploration simultane des deux
- 198 -

III - Une architecture de conception adapte


voisinages de la rfrence dapprentissage. Le paramtre de forme (3ime paramtre de la
distribution) a t fix 3. Ceci permet dune part de simplifier le tirage alatoire, et dautre
part fournit une forme tout fait convenable (exclusion de la moyenne, privilgier le
voisinage proche, convergence de la variance). La forme de la distribution obtenue est :

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

Figure 37 : Courbe de la distribution de Fisk, localisation 0, chelle 0,1 et forme 3.


Le tirage alatoire seffectue selon la formule :
Soit a la localisation dapprentissage,
Soit b lchelle dapprentissage,
Soit var la variable alatoire,
var a b

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 -

III - Une architecture de conception adapte

Les entres du bloc


Certains blocs dapprentissage possdent plusieurs entres. Ils mettent donc en uvre une
opration de combinaison. Trois cas de figure sont alors envisageables :

Lopration de modification utilise les paramtres dapprentissage : le bloc


dapprentissage effectue dabord les combinaisons. Il ne voit de la fonction idale quun
aperu, rsultat de ces combinaisons. La fonction dapproximation devient alors la
fonction de modification. Le fonctionnement ne diffre alors pas de celui vu
prcdemment.

Lopration de combinaison utilise les paramtres dapprentissage : chaque entre


possde alors au moins un paramtre dapprentissage. Lapproximation se fait donc
sparment sur chaque entre. Ce cas revient utiliser plusieurs blocs dapprentissage,
recevant tous les mmes signaux dapprentissage.

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.

La fonction idale possde autant de variables que le bloc dapprentissage a dentres. Le


nombre des paramtres dapprentissage devient alors critique. Il dpend de quelques
facteurs, qui sont parfois difficile dterminer :

Corrlation de la fonction idale et de la fonction dapproximation : parfois les fonctions


ont des courbes proches, un seul paramtre dapprentissage peut suffire les faire
correspondre.

Nombre de variables : en pratique, le nombre de variables est souvent en rapport avec le


nombre des paramtres dapprentissage.

3.2.2. Les blocs dapprentissage


Les blocs dapprentissage prsents ci-dessous ne possdent tous quune seule fonction
dapproximation. Les deux premiers ne possdent quune seule entre. Le troisime en
possde plusieurs. Les deux premiers mettent en place une fonction dapproximation base sur
- 200 -

III - Une architecture de conception adapte


leur fonction de modification. Quant au troisime, lapprentissage se base sur la fonction de
combinaison. La premire partie dcrit le bloc dapprentissage pondration, la seconde le
bloc dapprentissage pluri linaire, et la troisime le bloc dapprentissage neural.

Le bloc dapprentissage pondration


Le bloc dapprentissage pondration est le plus simple. Il ne possde quun seul paramtre
dapprentissage. Ce bloc possde deux modes de fonctionnement selon quil possde ou non
une entre :

Mode pondration : si le bloc possde une entre, il pondre alors son entre par son
paramtre dapprentissage (produit).

Mode gnration : si le bloc ne possde pas dentre, il renvoie simplement son


paramtre dapprentissage, comme si son entre tait 1.

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 :

Il utilise la moyenne des valeurs dentre rfrences

La rfrence dapprentissage est obtenue en multipliant cette moyenne par le paramtre


dapprentissage actuel

Lchelle sobtient classiquement en fonction de la fiabilit et du signal

Le nouveau paramtre dapprentissage est obtenu en divisant la valeur apprise par la


moyenne des valeurs dentre rfrences.

- 201 -

III - Une architecture de conception adapte


Soit i la moyenne des valeurs dentre rfrences,
Soit w la valeur du paramtre dapprentissage,
Soit e lerreur associe au signal,
Soit f la fiabilit du bloc dapprentissage,
Soit w la nouvelle valeur du paramtre dapprentissage,
Soit a la localisation,
Soit b lchelle,

f i, i 0
a b Fisk

a w i
b e 1
w'

Le bloc dapprentissage pluri linaire


Lide est de dcomposer la fonction idale en un ensemble de segments, appels segments
dapprentissage. Chaque segment dapprentissage approxime une portion continue de la
fonction idale. Il possde ses propres paramtres dapprentissage : pente et ordonne
lorigine. Ce bloc dapprentissage regroupe ainsi plusieurs paramtres dapprentissage :
les pentes et les ordonnes lorigine des segments dapprentissage.
Soit a la pente,
Soit b lordonne lorigine,
y axb
Chaque segment dapprentissage fonctionne de manire autonome. Il possde ses propres
paramtres dapprentissage, sa propre fiabilit. Une premire politique consiste rendre
ces segments de taille gale. Mais cela limite considrablement le pouvoir dapproximation.
Chaque segment dapprentissage possde donc ses limites de dfinition. De mme, il
enregistre sa propre moyenne des valeurs dentre utilises (cf. Lapprentissage stochastique,
page 197). Avant chaque traitement du bloc, ce dernier dtermine quel segment
dapprentissage est concern en fonction de la valeur dentre utilise.
Lorsquun signal dapprentissage parvient un segment dapprentissage, celui-ci calcule la
valeur de sortie idale comme prcdemment. La valeur dentre mmorise correspond en
fait la moyenne des valeurs dentre utilises. Il nest en effet pas concevable de mmoriser
- 202 -

III - Une architecture de conception adapte


toutes les valeurs : des signaux dapprentissage trop longtemps diffrs peuvent aboutir un
nombre de valeurs trs important. Un nouveau point dapprentissage est cr. Le bloc
dapprentissage effectue alors une scission du segment dapprentissage concern au point
dentre utilis. Il cre ainsi deux segments dapprentissage partir dun seul. Le schma
rsume le fonctionnement de cette scission :

Figure 38 : Scission d'un segment pour en former deux nouveaux.


Les paramtres dapprentissage sont alors calculs comme suit :
Soient x1 et y1 les coordonnes du premier point dapprentissage,
Soient x2 et y2 les coordonnes du second point dapprentissage,
Soit a la pente de lquation linaire,
Soit b lordonne lorigine de lquation linaire,
y 2 y1
si deux points d' apprentiss age
x 2 x1
a 0 sinon
a

b x1 a y1 si un point d' apprentiss age


b 0 sinon

Augmenter le nombre des segments dapprentissage et donc des paramtres


dapprentissage permet une meilleure approximation de la fonction idale. Par contre, cela
alourdit le bloc dapprentissage. Il ncessite plus de mmoire pour stocker ses paramtres
dapprentissage, et demande plus de temps machine pour fonctionner. Un compromis doit
donc tre trouv. Ce compromis doit laisser juste le nombre de segments dapprentissage
- 203 -

III - Une architecture de conception adapte


ncessaire pour une approximation suffisamment fine de la fonction idale. Ce compromis
permet de fixer le nombre maximal de segments dapprentissage.
Lorsque ce nombre est dpass, le bloc dapprentissage effectue alors une fusion de deux de
ses segments dapprentissage adjacents. La fusion consiste choisir lun des points
dlimitant deux segments dapprentissage et lliminer. Les deux segments adjacents
recalculent alors leur paramtre dapprentissage en consquence. La fusion correspond
une perte dinformation pour le bloc. Il va donc minimiser cette perte. Cette perte est lie
plusieurs facteurs :

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.

Elle se calcule selon la formule :


Soit f la fiabilit du bloc,
Soit l la diffrence entre les abscisses,
Soit h la diffrence entre les ordonnes,

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 -

III - Une architecture de conception adapte

Figure 39 : Elimination du point P2 par fusion de deux segments dapprentissage.

Le bloc dapprentissage neural


Le dernier bloc dapprentissage tre prsent ici, permet de simuler le comportement des
neurones, tels quils sont conus et utiliss dans les rseaux de neurones informatiques
[Observatoire91]. Il illustre parfaitement le fonctionnement dun bloc dapprentissage dans
lequel la fonction de combinaison utilise les paramtres dapprentissage.
Son utilisation dans larchitecture se dcompose en deux fonctions. La premire, la fonction
de combinaison, utilise les paramtres dapprentissage pour pondrer les entres du bloc :
un paramtre dapprentissage par entre. Elle les combine en effectuant une somme. La
seconde, la fonction de modification, permet de seuiller la sortie. Par dfaut, cette sortie est
automatiquement modifie en fonction du type de sortie. Cependant il est prfrable dutiliser
une sigmode, comme le souligne Philipp S. Goetz [Goetz97]. La fonction de modification
est donc une sigmode.
Soit fmod la fonction de modification du rsultat,
Soit fcomb la fonction de combinaison des entres,
Soit k la raideur de la sigmode,
e kx 1
e kx 1
f comb x entrei wi
f mod x

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 -

III - Une architecture de conception adapte


est la moyenne des valeurs utilises depuis le dernier signal dapprentissage. Lchelle se
calcule comme prcdemment.
Le rsultat de lapprentissage est alors une nouvelle valeur pour le paramtre
dapprentissage. Deux grandes diffrences de fonctionnement distinguent le bloc
dapprentissage neural, dun neurone classique :

Lutilisation de la fiabilit : les rseaux de neurones utilisent un facteur dapprentissage


similaire, hrit des mthodes de recuit simul (alors appel temprature). La fiabilit
permet de remplacer ce paramtre avantageusement. Sa valeur dpend en effet des signaux
dapprentissage reus, et nest donc pas arbitraire.

Un apprentissage stochastique : il est possible de rendre le bloc dapprentissage neural


non stochastique. Cependant la convergence peut alors se heurter la pauvret de certains
signaux dapprentissage (cf. Quantifier lchec ou la russite, page 187). Les rseaux de
neurones conventionnels utilisent en effet un signal dapprentissage continu mesurant
lchec.

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 :

Il utilise des concepts simples mettre en uvre au sein de larchitecture. Il nintroduit


pas de changements radicaux.

Il supporte des signaux dapprentissage pauvres en informations. Cela affecte sa


convergence mais ne lempche pas, grce au procd stochastique.

- 206 -

III - Une architecture de conception adapte

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 :

Lamer : il reprsente un point cl, un endroit que la crature doit mmoriser.

La liaison : elle permet de lier les amers entre eux. Elle exprime les relations qui existent
entre ces amers.

- 207 -

III - Une architecture de conception adapte


Ces principes cl mis en place pour la navigation doivent tre tendus. Ils pourront alors
sappliquer un ensemble plus important de problmes de modlisation.
La premire partie dcrit en dtail le souvenir. Ce principe est rapprocher de celui de
lamer. Elle expose comment il permet de modliser une partie de lenvironnement. Enfin,
elle met en vidence son rle, ainsi que la forme quil revt au sein de larchitecture.
La seconde partie dcrit les liaisons. Elle dtaille tout dabord la forme quelles prennent au
sein de larchitecture. Enfin, elle explique comment elles permettent de modliser des
relations entre les souvenirs et donne ainsi un aperu du processus de fonctionnement global
de lexploitation.
La troisime partie dcrit les blocs gnriques. Elle met en place les principes qui vont
permettre dexprimer des arbres de calculs bass sur des informations qui nexistent pas
encore. Elle dtaille tout dabord lutilit de tels blocs. Puis, elle explique le fonctionnement
de ces blocs particuliers.
La quatrime et dernire partie traite du problme de la gnralisation. Elle expose en quoi ce
formalisme de modlisation reste gnral. Elle aborde tout dabord quelques problmes de
modlisation classiques, auxquels une crature de jeu vido pourrait tre confronte. Elle
essaie enfin de cerner les possibilits laisses par ce formalisme, en dterminant ses limites.

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 -

III - Une architecture de conception adapte


dun ensemble de perceptions. Cela permet de pouvoir utiliser aisment les informations dans
le processus dcisionnel.
Ensemble de perceptions : la notion se rapproche du niveau de perception. En fait, chaque
catgorie de souvenirs est dfinie par lensemble des informations quils regroupent. Chacune
dentre elle dfinit alors un niveau de perception. Ainsi, au sein dun mme niveau de
perception, tous les souvenirs possdent la mme forme. Chaque niveau de perception li
des souvenirs forme alors une strate de souvenirs.
Strate de souvenirs : ensemble des souvenirs qui possdent la mme forme, cest--dire
contiennent des informations similaires.
En fait, par perception, il faut entendre arbre de calcul. En effet, il est important de pouvoir
mmoriser des informations indirectes. Cest--dire des informations qui ne sont pas
directement issues de senseurs. Ces informations peuvent ainsi tre aussi complexes que
dsires. Elles peuvent utiliser des processus tels que lintgration ou lapprentissage.

Un centre dintrt particulier


Souvenir

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 -

III - Une architecture de conception adapte


Enfin, les souvenirs servent despace de stockage pour des informations. Les donnes qui
constituent un souvenir, sont appeles informations du souvenir. Ces informations refltent
ltat dune partie de lenvironnement lors de leur dernire mise jour. Elles permettent de
dcrire le souvenir. Ces informations sont vitales pour le fonctionnement de la modlisation.
Elles vont permettre de dfinir tous les arbres de calculs ncessaires au processus de
modlisation ainsi qu lexploitation des modles. En plus des informations, le souvenir
stocke une rfrence sur lobjet source qui est lorigine du souvenir. Cette rfrence est
appele source originale du souvenir.
Source originale de souvenir : rfrence lobjet source qui est lorigine de la cration du
souvenir.

4.1.2. Les liaisons


Les liaisons permettent dexprimer les relations qui existent entre les souvenirs. Elles
expriment en fait les influences quont les souvenirs les uns sur les autres. Les souvenirs
seuls ne reprsentent quun ensemble dinformations, une sorte de base de donnes, dont les
enregistrements seraient formats par les informations du souvenir. Les liaisons expriment
quant elles les moyens dexploiter ces souvenirs, et donc les informations quils contiennent
(cf. Exploitation et planification, page 134).
Liaison : actuateur permettant dinfluencer un souvenir.
La premire partie expliquera dans un premier temps pourquoi et comment les liaisons sont
des actuateurs. La seconde partie abordera le principe dinfluence des informations de
souvenir mis en place pour lexploitation. Elle dcrit comment fonctionnent ces influences,
caractrises par les liaisons.

Des actuateurs particuliers

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 -

III - Une architecture de conception adapte


donc lorigine de modifications dans les informations, et reprsentent par ce biais des
actions. Les liaisons sont donc des actuateurs.
Les liaisons lient deux souvenirs entre eux. Elles se heurtent donc au problme combinatoire
expos en 2.4.1 La combinaison dobjets de lenvironnement . La mme solution est
applique pour les liaisons. Chaque actuateur liaison ou liaison possde un souvenir cible,
quelle va influencer. Tous les souvenirs dsireux dinfluencer ce souvenir cible, vont
envoyer des ordres la liaison.
Chaque liaison reprsente alors un vecteur dinfluence vers un souvenir cible. Ces influences
peuvent prendre plusieurs formes. Elles vont permettre de simuler les relations qui lient les
souvenirs entre eux en modifiant les informations des souvenirs cibles.

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 :

Remplacement : lintensit de la liaison dtermine la nouvelle information du souvenir


cible.

Ajout : lintensit de la liaison est ajoute linformation du souvenir cible.

Pourcentage additif : lintensit de la liaison dtermine le pourcentage de linformation


du souvenir cible ajouter linformation du souvenir cible.

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 -

III - Une architecture de conception adapte


objets, que la crature ne peroit que grce ses souvenirs. Ces objets un peu particuliers sont
alors appels objets virtuels.
Objet virtuel : objet cr de toute pice par une strate de souvenirs. La crature le peroit
comme sil tait rel.

4.1.3. Des blocs gnriques


Gnrique

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.

Le souvenir actif et la source


Tous les blocs gnriques puisent au moins une de leurs donnes dans un souvenir. Les
strates de souvenirs peuvent contenir un nombre important et variable de souvenirs. Il est
donc impossible de spcifier la conception quel souvenir se rattache tel ou tel bloc
gnrique. Par contre, tous les souvenirs dune mme strate possdent les mmes
informations. Il est donc possible de se rfrer un ensemble de souvenirs en spcifiant la
strate auxquels ils correspondent. Tous les blocs gnriques possdent donc une rfrence de
strate.
- 212 -

III - Une architecture de conception adapte


Bien que cette rfrence de strate permette de dlimiter parmi quels souvenirs choisir, elle ne
permet pas de prciser exactement le souvenir. Cest lors du processus dutilisation de la
mmoire que sera lu un souvenir actif. Ce souvenir actif fonctionne un peu comme une
source (cf. Les objets et leur gestion, page 160) : toute la mmoire sera excute pour chaque
souvenir actif, les blocs gnriques des arbres de calcul puisant alors leurs donnes dans le
souvenir actif actuel. Le processus dlection du souvenir actif sera dcrit plus loin 4.2.1
Cration, reconnaissance et mise jour .
Ce principe de souvenir actif vient se superposer au principe de source (cf. Les objets et leur
gestion, page 160). Chaque strate possdant un niveau de perception, elle gre ses propres
sources. Les sources sont alors les sources originales des autres souvenirs. Ce qui permet
dobtenir lensemble des combinaisons possibles entre tous les souvenirs. Le problme du
temps machine qui en dcoule sera abord plus bas : Squences de modifications et
dpendances logiques , page 224.

Lindex de linformation de souvenir


Les blocs gnriques disposent donc pour retrouver linformation qui leur ait ncessaire :

Du souvenir actif : qui spcifie le souvenir qui se sert de larbre de calcul

Dune source originale de souvenir : qui spcifie la source lorigine du souvenir et


sert dobjet source

Malheureusement, le bloc gnrique doit savoir prcisment quelle information du


souvenir actif il doit faire rfrence. Pour ce faire, larchitecture utilise un systme
dindexation. Lordre des intensits lors de la cration du souvenir sert dindex de rfrence
(cf. Lactuateur Mmoriser, page 220). Ainsi, lorsquun bloc gnrique veut accder lune
des informations il se sert de son index.
Enfin, les blocs gnriques possdent une donne de senseur un peu particulire. En effet,
cette donne est remplie automatiquement par le systme et dsigne la source originale du
souvenir actif. Grce ce mcanisme, il devient alors possible de comparer les deux sources,
celle du souvenir actif, et celle du souvenir source.

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 -

III - Une architecture de conception adapte


et adapts aux situations rencontres. Cette partie se propose donc dtudier ladquation du
formalisme de modlisation avec les besoins des concepteurs.
La premire partie tudie la modlisation spatiale. Elle est lorigine de la navigation des
cratures et leur permet de planifier leur route. Dans la plupart des jeux, la modlisation
spatiale de lenvironnement est effectue par les concepteurs. Un algorithme de parcours de
graphe tel que A* [HarPeled99] [Stentz95] est utilis pour tablir les parcours. La premire
partie expose en quoi une modlisation personnelle peut tre efficace, et comment le
formalisme sadapte cette tche.
Parmi les cratures qui peuplent les jeux vido, beaucoup jouent contre le joueur, ou plus
gnralement contre dautres cratures. Pour pouvoir adapter sa stratgie, il est trs utile la
crature de construire un modle de son ou ses adversaires. Elle peut alors anticiper leurs
ractions et planifier une meilleure stratgie. La seconde partie tudie donc comment raliser
des modles comportementaux.
Enfin, la dernire partie aborde quelques situations encore peu exploites, telles que la
conversation et la modlisation vnementielle. Elle met en valeur le caractre gnrique de la
modlisation, et souligne son adquation avec la plupart des situations.

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 -

III - Une architecture de conception adapte


et prendre la meilleure dcision (en accord avec son modle). Le processus de modlisation
est alors compltement intgr dans le systme de slection daction (cf. Intgration, page
131). Les amers deviennent des objets virtuels que la crature peroit.

Figure 40 : Exemple de modlisation spatiale, fonctionnement du transfert de l'influence


concernant l'armement.
Ce principe de modlisation fait lobjet dune des expriences ralises dans cette thse. Le
chapitre VI Exprience 3 : la navigation expose les dtails de ralisation dun tel procd.
Le principe gnral reste cependant celui expos ci-dessus.

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.

Lanticipation de la rponse de ladversaire : chaque situation value correspond une


rponse (une action) de ladversaire. Cette rponse aboutie alors une nouvelle situation.
La rponse et ses effets deviennent alors une liaison, dont la cible est la nouvelle
- 215 -

III - Une architecture de conception adapte


situation. La situation lorigine (le souvenir) est connecte cette liaison. Les intensits
de cette connexion mesurent linfluence de la rponse sur la situation.
La rcurrence du processus permet alors danticiper les rponses des adversaires aussi loin que
dsir. Bien sr, les situations mmorises ne correspondent pas toujours aux nouvelles
situations rencontres. Mme si les arbres dintensits sont l pour tenir compte des
nouveaux paramtres, la prdiction finale est de moins en moins sre au fur et mesure de la
rcursivit. Nanmoins, cette fiabilit peut tre prise en compte par le systme (cf. Le centre
dintrt Souvenir, page 218).

Figure 41 : Exemple de modlisation comportementale, modle comportemental d'un


soldat.
Les dtails dimplantation de la modlisation comportementale feront srement lobjet de
futurs travaux. Elle reste en effet un point important notamment pour les jeux de stratgie.
Mais il parat dj concevable de raliser cette modlisation.

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 -

III - Une architecture de conception adapte


Les arbres de calculs, qui sont lorigine des influences entre les nuds, fournissent un
mcanisme aussi dvelopp que dsir. Ils permettent de crer des liens complexes dont les
effets intgrent de nombreux paramtres.
Enfin, les blocs gnriques permettent daccder aux informations dsires, bien quelles ne
soient pas encore prsentes au moment de la conception. Certains de ces blocs fournissent des
informations concernant dautres composantes, comme la fiabilit des informations de
souvenir (cf. Le centre dintrt Souvenir, page 218). Ce caractre rflexif permet de prendre
en compte le modle dj cr lors du processus de modlisation.
Dautres modlisations importent pour les jeux vido. Tout dabord la modlisation
dvnements permet de rendre les personnages des jeux plus substantiels. Ils semblent alors
au courant des vnements survenus pendant le droulement du jeu. En intgrant ces
informations dans leur raisonnement, ils sont alors capables de comportements scnaristiques
trs intressants (comme venger la mort de leur fils par exemple).
Les modles linguistiques sont un champ trs vaste de la modlisation. Ils permettraient aux
cratures de comprendre et de participer aux dialogues. Mme si de nombreuses
simplifications sont possibles pour les jeux vido, il reste encore beaucoup de travail pour
parvenir une interaction acceptable. Le champ des possibilits se limite en effet aux
dialogues prtablis, ou pires aux squences non interactives. Bien que quelques efforts ont
parfois marqu lhistoire des jeux vido (Capitain Blood [CaptainBlood88] ou Monkey Island
[Monkey90]), les dialogues restent la plupart du temps dune interactivit frustrante pour le
joueur.
Ces deux cas de modlisation restent encore peu explors dans le cadre des jeux vido. Ils
reprsentent nanmoins des vecteurs de progrs considrables, tant au niveau scnaristique
quau niveau de linteractivit. Ils feront sans nul doute lobjet de travaux futurs.

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 -

III - Une architecture de conception adapte


Le fonctionnement du processus global se divise en trois principes cls. Le premier gre la
cration et la mise jour des souvenirs et des liaisons. Il est dtaill dans la premire partie.
Elle expose galement les diffrents composants impliqus dans ces processus.
Le second principe se concentre sur lexploitation du modle. La seconde partie tudie donc la
propagation des influences et plus particulirement le fonctionnement des liaisons et des
objets virtuels. Elle aborde galement le problme du temps machine, comment il est gr
par le systme et permet une exploitation en temps rel.
Enfin, le troisime principe concerne lespace mmoire requis et plus particulirement la
gestion de loubli. La troisime partie explique donc comment le systme est capable de grer
des ressources limites, aussi bien au niveau du nombre de souvenirs, que du nombre de
liaisons.

4.2.1. Cration, reconnaissance et mise jour


La cration, la reconnaissance et la mise jour sont trois principes intrinsquement lis. Le
principe de reconnaissance est lorigine du procd. Il permet de savoir si un souvenir dj
existant correspond aux nouvelles perceptions reues. Si cest le cas, le systme procde une
mise jour, sinon le systme procde la cration dun nouveau souvenir.
Ce processus utilise en fait trois composantes de larchitecture, qui sont au cur de la
modlisation. La premire nest autre que le souvenir. Il gre les donnes et constituent le
centre des modles. La premire partie dcrit sa constitution est son fonctionnement.
La seconde est lorigine de tout. Elle peut tre considre comme le gestionnaire dune
strate de souvenirs. Il sagit de lactuateur mmoriser, qui permet la cration mais aussi la
gestion des souvenirs. La seconde partie dcrit son fonctionnement.
Enfin, la troisime composante est rattache aux liaisons. Tout comme lactuateur
mmoriser, elle sert elle aussi de gestionnaire, mais pour les liaisons. La troisime partie
dcrit lactuateur lier, qui permet la cration des liaisons et leur gestion en gnral.

Le centre dintrt Souvenir


Souvenir

- 218 -

III - Une architecture de conception adapte


Les souvenirs sont assimilables des centres dintrt, mis part quelques particularits. Ils
sont des les dtenteurs des informations mmoriss (cf. Le Souvenir, page 208). Ils ne
possdent pas de motivation propre (cf. Un centre dintrt particulier, page 209). Leur rle
est central dans le processus de modlisation plusieurs titres.
Tout dabord, chaque souvenir doit tre capable dvaluer sil ressemble un nouveau
souvenir. Cest le processus de reconnaissance. Cette reconnaissance seffectue grce un
arbre de calcul : larbre de reconnaissance. Il permet de mesurer le taux de similitude entre
le nouveau souvenir prsent et le souvenir lui-mme. Cet arbre de reconnaissance fait bien
entendu appel des blocs gnriques. Si larbre de reconnaissance nest pas dfini, le
systme effectue une reconnaissance parfaite, en comparant les sources originales des deux
souvenirs.
Arbre de reconnaissance : arbre de calcul permettant de mesurer le taux de reconnaissance
du souvenir prsent.
Parfois, un souvenir se reconnat suffisamment. Il dcide alors de mettre jour ses
informations en fonction des nouvelles informations reues. Chaque information garde, au
fur et mesure des mises jour, un historique simplifi des modifications apportes. En fait,
chaque information conserve la moyenne de lensemble des modifications apportes. Chaque
modification peut tre vue comme une sorte derreur de mmorisation, puisquil a fallu
modifier linformation. Le rsum devient alors lerreur globale. De cette erreur,
linformation extraie sa fiabilit, cest--dire le taux de russite de prdiction de
linformation mmorise.
Fiabilit dinformation : taux de russite de la prdiction de linformation.
La fiabilit dune information se calcule donc selon la formule :
Soit e une modification normalise,
Soit n le nombre de modifications effectues,

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 -

III - Une architecture de conception adapte


la cration des liaisons et sert dopportunit aux ordres envoys lactuateur lier
correspondant (cf. Les actuateurs de strate : lactuateur Lier, page 221).

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 :

Le meilleur uniquement : seul le souvenir possdant le plus haut score de reconnaissance


strictement positif est considr comme tant reconnu.

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 -

III - Une architecture de conception adapte


Tous les souvenirs reconnus sont alors mis jour. Leurs informations sont ramenes aux
valeurs des informations du nouveau souvenir. La fiabilit de ces informations est alors
mise jour selon la formule dj vue plus haut (cf. Le centre dintrt Souvenir, page 218). Ce
processus est assez radical. En effet, tous les souvenirs reconnus vont alors se retrouver avec
les mmes informations. De plus, leurs fiabilits vont sen trouver diminues ( moins dune
reconnaissance parfaite). La configuration tous les strictement positifs est donc manier avec
prcaution. Les arbres de reconnaissance faisant office de filtre, il est essentiel de les
concevoir avec le plus grand soin, sous peine dinstabilit des informations de souvenir.
Lors de la cration relle dun souvenir, lactuateur mmoriser doit aussi crer lensemble
des connexions qui le rattacheront aux actuateurs de la strate. Ceci permet notamment de
connecter le souvenir aux actuateurs lier, et ainsi de lui permettre de crer des liaisons avec
dautres souvenirs.

Les actuateurs de strate : lactuateur Lier


Actuateur de Strate
Strate n

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 -

III - Une architecture de conception adapte


sources de ces ordres. Ainsi, un souvenir actif peut gnrer pour chaque actuateur de strate,
autant dordres quil y a de souvenirs dans sa strate. Enfin, ces actuateurs reoivent
automatiquement une donne dactuateur particulire. Elle correspond au souvenir source
de lordre.
Les actuateurs lier sont donc des actuateurs de strate. Ils possdent cependant quelques
particularits. Tout dabord ils peuvent tre configurs pour fonctionner symtriquement ou
non. En mode non symtrique, la liaison est cre depuis le souvenir actif vers le souvenir
source de lordre. En mode symtrique, une seconde liaison est cre, du souvenir source au
souvenir actif.
Larbre de calcul dopportunit permet de mesurer lintrt de crer une nouvelle liaison.
Les arbres de calcul de base, de noyau et des intensits de lactuateur lier sont
automatiquement transmis la liaison cre, et permettent ainsi de mesurer ses influences. Un
arbre de calcul supplmentaire peut tre fourni lactuateur lier. Il correspond larbre
dopportunit des futures liaisons.
Les actuateurs lier sont des mta actuateurs, ils permettent de gnrer de nouveaux
actuateurs. Ils sont responsables des connexions effectuer et fournissent donc lensemble
des arbres de calcul ncessaires au fonctionnement de ces nouveaux actuateurs. Tous les
centres dintrt connects aux actuateurs gnrs partageront donc les mmes arbres de
calcul.

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 -

III - Une architecture de conception adapte

Les actuateurs Liaisons

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 -

III - Une architecture de conception adapte

Chargement des senseurs et objets virtuels


Pour permettre lexploitation des souvenirs et des liaisons, il est indispensable de sintgrer
parfaitement avec le mcanisme de slection daction. Or, ce mcanisme de slection daction
se base, pour effectuer sa slection, sur un ensemble de perceptions. Par simple modification
de ces perceptions, il devient alors possible dinfluer sur le choix des actions.
Ainsi, la liaison du souvenir actif, plutt que de le modifier, va influer sur un certain nombre
de senseurs. Elle va ainsi engendrer un comportement qui tiendra compte de lensemble des
souvenirs de la crature. Le modle est donc exploit de manire totalement intgre avec le
reste de larchitecture.
Deux cas sont alors possibles. La liaison peut simplement modifier les senseurs. Il sagit
alors dun chargement des senseurs. Ce chargement correspond en fait linfluence des
souvenirs sur la ralit perue. Le terme de chargement permet dexprimer lapport du
modle la valeur perue.
Parfois, la liaison du souvenir actif ajoute un nouvel objet lun des niveaux de perception
de la crature. Cet objet fictif, issu dun modle de la crature est appel objet virtuel. Ces
objets sont les chos des souvenirs mmoriss. Ils reprsentent les pierres qui guideront la
crature vers sa destination, encore imperceptible.

Squences de modifications et dpendances logiques


Les processus dutilisation des actuateurs de strate et de transfert des influences au travers
des liaisons sont rcursifs. Leur cot en temps machine devient trs vite prohibitif lorsque le
nombre des souvenirs augmente. Il est donc apparu essentiel de leur appliquer un traitement
particulier. Ce traitement saxe autour de trois principes.
Le filtrage des souvenirs reconnus permet de limiter le processus dutilisation des
actuateurs de strate, ainsi que celui du transfert des influences. En cas de configuration de
reconnaissance sur le meilleur uniquement (cf. Lactuateur Mmoriser, page 220), la liste se
limite alors un seul souvenir.
Les deux processus conservent un caractre incrmental. Il devient alors possible de les
poursuivre tout au long des cycles de raisonnement de la crature. La modlisation est souvent
un processus qui stire dans le temps, son taux de rafrachissement est donc relativement
faible. Il devient alors possible de le poursuivre au fil des cycles. Il est important de noter que
- 224 -

III - Une architecture de conception adapte


le processus incrmental de la modlisation est indpendant de celui de la slection daction.
Ainsi, il est possible de rinitialiser le processus de slection daction tout en prolongeant
ceux de la modlisation.
En ce qui concerne le processus du transfert dinfluence, il est intressant de noter que le
systme tire partie du temps qui lui est accord. La profondeur de la rcursivit sera alors
calcule en consquence. Ainsi, le systme sera capable de fournir une rponse, mme si cette
dernire ne tient pas compte de tous les souvenirs.
Enfin, le processus dinfluence est un processus assez statique. Les informations lies un
souvenir ne changent pas souvent (lors dune mise jour). La plupart du temps, le processus
de propagation dinfluence nest pas remis en cause. Il nest donc calcul quune seule fois.
En fait, linfluence dun souvenir sur un autre ne varie que lors de deux vnements :

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.

Changement de souvenir actif : la propagation de linfluence converge vers le souvenir


actif. Lorsque ce dernier change, une partie de cette propagation doit tre recalcule.

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.

Il nest donc pas ncessaire de reprendre entirement le processus de transfert dinfluence. La


mise jour de linfluence tire alors partie de la continuit des situations rencontres. En cas de
rupture, cest--dire si le nouveau souvenir actif est loign de lancien (du point de vue des
liaisons), le transfert sera bien videmment plus long recalculer. Son caractre incrmental
permet alors de procder petit petit.

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 -

III - Une architecture de conception adapte


limite. Or, le processus de cration ne cesse dajouter souvenirs et liaisons. Il doit donc tre
compens par un autre processus : loubli.
Le processus doubli permet la crature de se dbarrasser de ses souvenirs et liaisons. Le
problme consiste alors dterminer quels souvenirs ou liaisons liminer. En fait, ce
problme revient trouver les souvenirs et liaisons les moins utiles la crature. La premire
partie dcrit donc comment calculer lutilit dun souvenir. La seconde partie dtaille le
calcul de lutilit dune liaison. Enfin, la troisime partie dcrit lactuateur oublier, qui
permet aux souvenirs de demander leur destruction. Cet actuateur permet ainsi aux
concepteurs de personnaliser le fonctionnement de leur processus doubli.

Les Souvenirs
Chaque souvenir cr par la crature est plus ou moins important. Son utilit dpend
principalement de deux facteurs importants :

Intrt du souvenir : lintrt du souvenir se mesure par rapport aux motivations de la


crature. Cette notion doit tre prise en compte la cration du souvenir. Si un souvenir a
t cr, cest quil tait intressant pour la crature. Le souvenir enregistre donc
lopportunit de lordre qui est lorigine de sa cration. Cette opportunit mesure
lintrt du souvenir.

Fiabilit du souvenir : si un souvenir nest pas fiable, cest--dire si ses informations ne


sont pas fiables, lutilit du souvenir sen trouve amoindrie. La fiabilit dun souvenir se
mesure alors par la somme des fiabilits de ses informations, multiplie par le nombre de
remise jour de ce souvenir. La crature connat en effet plus un souvenir quelle a mis
jour plusieurs fois. Elle peut donc plus compter sur ses informations.

Soit f la fiabilit dune information du souvenir,


Soit n le nombre de mises jour effectues,
fiabilitsouvenir

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 -

III - Une architecture de conception adapte


Soit f la fiabilit dune information du souvenir,
Soit o lintrt du souvenir,
Soit n le nombre de mises jour effectues,
utilitsouvenir

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.

Fiabilit de la liaison : lopportunit de cration dune liaison entre deux souvenirs


permet de mesurer la fiabilit de la liaison. Plus lopportunit est importante, plus la
liaison doit tre fiable. Si, plus tard, une nouvelle opportunit est calcule pour cette
mme liaison, elle vient modifier sa fiabilit, selon la formule :

Soit u lutilit du souvenir cible,


Soit o lune des opportunits de cration de la liaison,
utilitliaison

Cette mesure de lutilit ne tient compte quindirectement du souvenir source. En fait,


larbre dopportunit en tient compte. Ainsi, il est possible dintgrer la fiabilit du
souvenir source dans larbre dopportunit. Lutilit de la liaison sera alors directement
dpendante de lutilit du souvenir source.
Le processus de destruction de liaison est alors relativement simple. La liaison la moins utile
est slectionne par le systme qui procde sa destruction. Si le souvenir cible dune liaison
est dtruit, la liaison est immdiatement dtruite elle aussi.

Lactuateur oublier
- 227 -

III - Une architecture de conception adapte


Oublier
Strate n

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 -

III - Une architecture de conception adapte


Le principe de modlisation reste un domaine extrmement vari. Le cadre de cette thse na
malheureusement permis que den effleurer certains aspects basiques. La dernire exprience
prsente les rsultats obtenus pour un problme de navigation (cf. Exprience 3 : la
navigation, page 271). Mais beaucoup de travail reste encore effectuer, pour explorer toutes
les possibilits et mesurer ladquation du processus de modlisation de larchitecture, voir
ladapter.

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 -

IV - Exprience 1 : le mcanisme de slection dactions

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.

IV.EXPRIENCE 1 : LE MCANISME DE SLECTION DACTIONS


La premire des expriences illustre le modle de slection daction mis en place dans
larchitecture. Plusieurs cratures vont pouvoir voluer dans un univers 3D en temps rel. Le
but est alors de les voir interagir avec dautres cratures, dont certaines peuvent tre
contrles par un utilisateur. La prsente exprience se concentre sur les aspects
comportementaux simples et donc le mcanisme de slection daction.
Lexprience se droule dans une arne rectangulaire. Plusieurs cratures gres par
larchitecture pourront sy mouvoir. Une crature contrle par un utilisateur pourra interagir
avec elles. Les cratures ne possdent quun seul besoin : se nourrir. De plus, elles ne sont pas
agressives. Tout est excut en temps rel et ne doit provoquer aucun ralentissement du jeu.
Cette exprience permet de valider le modle comportemental mis en place par larchitecture.
Les lments de validation seront donc les lments dj vus plus haut (cf. Les lments de
validation, page 55) :

Respect des contraintes lies aux ressources mmoire et temps machine

Stabilit comportementale

Opportunisme et planification simplifie (la vraie planification dynamique ne sera aborde


que dans la troisime exprience, voir VI Exprience 3 : la navigation)

Gestion de comportements parallles, parfois en contradiction, parfois coopratifs

Gestion de la perception des objets du jeu

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 -

IV - Exprience 1 : le mcanisme de slection dactions


cratures utilises par lexprience. Sy trouvent notamment les schmas dtaills de leur
processus dcisionnel. La troisime dcrit la premire des expriences menes dans cet
environnement. Elle met en place une seule crature confronte un utilisateur peru comme
un prdateur. La quatrime partie met en place la seconde exprience lie cet
environnement. Cette fois plusieurs cratures se dplacent en nue, et sont confrontes un
utilisateur peru comme un prdateur. Enfin, la cinquime et dernire partie synthtise les
rsultats des deux expriences et essaie de conclure sur la validit du modle comportemental
de larchitecture, et les futurs travaux entreprendre pour complter cette validation.

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 serveur : la programmation de la crature doit tre faite en QuakeC, la crature


accde indistinctement toutes les informations du jeu, le filtre perceptif doit donc tre
programm.

Ct client : la programmation est libre, le filtre perceptif est excut par la couche rseau.
- 231 -

IV - Exprience 1 : le mcanisme de slection dactions


Pour profiter du filtre perceptif et rester indpendants du jeu, la crature a donc t
programme comme un joueur connect au serveur. Cest donc une crature cliente. Elle
possde une interface capable de lui traduire les messages envoys par le serveur. Certains de
ces messages dclenchent alors la mise jour de ses perceptions. Linterface lui permet aussi
denvoyer des ordres au serveur et ainsi de se mouvoir.
Les expriences utilisent une couche de communication dj programme par Jim Rorie et
John Simmerman intitule QuakeBot Client Server ou QuakeBotCS. Ce code permet de
communiquer avec le serveur Quake dans les deux sens (recevoir les informations du jeu et
envoyer les actions de la crature).

Figure 42 : Schmatisation du protocole de communication de Quake [Quake96].

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.

Figure 43 : Prise de vue de l'arne depuis lun de ses angles.


Trois caisses de munitions ont t disposes dun ct de larne. Celle du centre est perue
comme un apport de nourriture par les cratures. Les deux autres leur sont inutiles.

- 232 -

IV - Exprience 1 : le mcanisme de slection dactions

Caisse inutile

Nourriture

Caisse inutile

Figure 44 : Arne, vue du dessus.

2. Les cratures virtuelles


Aprs avoir plant le dcor, il est temps de passer aux acteurs. Lensemble des cratures
virtuelles diriges par lordinateur partage une base comportementale commune. Cette partie
dcrit donc le processus dcisionnel mis en place pour engendrer les comportements de ces
cratures, mais aussi les raisons des choix effectus.
Elle se divise en trois parties. La premire dcrit les actuateurs des cratures virtuelles. Ils sont
en fait imposs par le protocole de Quake [Quake96] et reprsentent donc une base
incontournable. La seconde partie explore les centres dintrt des cratures. Ces centres
dintrt reprsentent la base du raisonnement et lensemble des motivations des cratures. La
troisime partie dtaille lensemble des senseurs. Ils apportent les informations ncessaires au
raisonnement. Enfin, la quatrime et dernire partie dcrit le processus dcisionnel
proprement parler, en exposant lensemble du schma dcisionnel.

2.1. LES ACTUATEURS


Le protocole de communication de Quake [Quake96] nautorise quun certain nombre
dactions possibles. En voici une liste dtaille :

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.

Angle de rotation : dtermine la direction de la crature. Permet de tourner la crature sur


elle-mme et donc de la diriger.

Vitesse : dtermine la vitesse de dplacement dans la direction de la crature. La valeur est


borne par le serveur.
- 233 -

IV - Exprience 1 : le mcanisme de slection dactions

Vitesse latrale : dtermine la vitesse de dplacement latrale de la crature dans une


direction perpendiculaire sa direction actuelle. La valeur est borne par le serveur.

Vitesse verticale : dtermine la vitesse verticale de la crature, ou plus simplement, sa


vitesse dlvation. Ce mouvement nest possible que dans certaines circonstances, sinon
il na aucun effet.

Saut : demande la crature de dbuter un saut.

Faire feu : demande la crature de faire feu.

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 :

Direction : une seule intensit, intensit principale avec un domaine tertiaire, -1


correspond -15, 0 correspond 0, et 1 correspond 15.

Vitesse : une seule intensit, intensit principale avec un domaine tertiaire, -1 correspond
la marche arrire, 0 correspond larrt, 1 correspond la marche.

2.2. LES CENTRES DINTRT


Les centres dintrt reprsentent les motivations propres de la crature. Ils vont donc
permettre dorienter son comportement. Les centres dintrt dpendent donc directement des
expriences. Cependant, les cratures de ces expriences en partagent un certain nombre
dentre eux.

- 234 -

IV - Exprience 1 : le mcanisme de slection dactions


Le premier concerne le besoin de se nourrir. Ce centre dintrt pousse la crature se diriger
vers certaines caisses de munitions quelle peroit comme de la nourriture. Il sappellera
Nutrition.
Le second concerne lvitement. Il empche la crature de heurter des choses indsirables. Il
sappellera Evitement. Voici la liste des lments quelle cherche viter :

Murs : ne pas rentrer dans les murs.

Cratures : ne pas rentrer dans les autres cratures.

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.

2.3. LES SENSEURS


Les senseurs fournissent les informations ncessaires aux diffrents centres dintrt. Cette
partie va donc les passer en revue et dterminer pour chacun les informations ncessaires au
calcul des ordres. Tous les centres dintrt sont relis aux deux actuateurs. Mais auparavant,
il est essentiel de poser quelques bases concernant notamment les niveaux de perception.

2.3.1. Niveaux de perception


Les cratures nutilisent que deux niveaux de perception. Le premier niveau correspond au
niveau par dfaut. Il comprend lensemble des senseurs internes la crature. Ils la
renseignent sur son tat. Cet tat comprend notamment un attribut de Faim.
Le second niveau permet danalyser les objets de lenvironnement, que ce soit dautres
cratures, des caisses ou encore les murs. Ce niveau se dcompose en quatre senseurs :

Direction : permet de dterminer la direction du centre de lobjet.

Proximit : permet de dterminer la proximit du centre de lobjet, elle se mesure selon la


formule :

- 235 -

IV - Exprience 1 : le mcanisme de slection dactions


Soit d la distance entre le centre de lobjet et le centre de la crature,
Soit DMAX, la distance maximale de larne (diagonale),

p 1

d
DMAX

Apport nutritif : mesure lapport nutritif de lobjet.

Danger : mesure le danger reprsent par lobjet.

Evitement : dtermine si lobjet doit tre vit.

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 -

IV - Exprience 1 : le mcanisme de slection dactions

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.

Le produit de ces deux facteurs permet dobtenir lopportunit nutritive de lobjet.


Lintensit principale de lactuateur Direction se calcule naturellement partir du senseur
Direction li lobjet. Lintensit principale de lactuateur Vitesse dpend de la distance
parcourir et de la direction emprunter. Pour ramener lintensit aux 3 valeurs possibles, un
petit artifice mathmatique est nanmoins ncessaire. Un nouveau bloc a donc t
spcialement cr. Il permet de dterminer partir de la Proximit et de la Direction la Vitesse
adquate. Il procde comme suit :
Soit p la Proximit de lobjet,
Soit d la Direction de lobjet,
si p 0
sinon

v 0
si d - 0,5 ou d 0,5 v 1

sinon
v 1

Voici maintenant le schma complet du centre dintrt Nutrition :

Figure 46 : Schma du centre d'intrt Nutrition.

- 237 -

IV - Exprience 1 : le mcanisme de slection dactions

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.

Figure 47 : Schma du centre d'intrt Fuite.

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 -

IV - Exprience 1 : le mcanisme de slection dactions

Les murs : quatre objets correspondant aux quatre murs de larne.

Les cratures : pour ne pas rentrer dans les autres cratures.

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

Figure 48 : Schma du centre dintrt Evitement.

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 -

IV - Exprience 1 : le mcanisme de slection dactions


Un seul ordre de ce type sera gnr par cycle de raisonnement. Ils appartiennent donc tous
deux au niveau de perception 0, le niveau par dfaut.

0,05
Exploration

Direction

DirectionA
l
VitesseAl

Vitesse

Figure 49 : Schma du centre d'intrt Exploration.

2.4. LE SCHMA GLOBAL


Cette partie rcapitule lensemble des composants utiliss pour le comportement des cratures
virtuelles. Voici tout dabord les niveaux de perception et senseurs associs :

Niveau de Perception 0 : Faim (senseur statique), 0,05 (senseur constant), VitesseAl


(senseur alatoire), DirectionAl (senseur alatoire).

Niveau de Perception 1 : Direction, Proximit, Apport, Danger, Evitement.

Ces senseurs sont utiliss par quatre centres dintrt, rpartis eux aussi selon le niveau de
perception auquel ils sont rattachs :

Niveau de Perception 0 : Exploration, Nutrition.

Niveau de Perception 1 : Evitement, Fuite, Nutrition.

Voici enfin le schma comportemental global des cratures virtuelles. Le processus


dcisionnel nutilise que trs peu de blocs oprateurs et la plupart des arbres de calcul sont
donc trs simples.

- 240 -

IV - Exprience 1 : le mcanisme de slection dactions

Danger

Apport

Evitement

Direction

Fuite
se

tes

Proximit

Nutrition

&

Vi

Direction

&

Faim

Inv

Vitesse

&

Evitement

0,05
Exploration
DirectionA
l
VitesseAl

Figure 50 : Schma comportemental global.

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.

3.1. CONDITIONS EXPRIMENTALES


Cette exprience utilise deux cratures virtuelles. La premire, le prdateur, est dirige par un
joueur humain. La seconde, la proie, est dirige par le modle comportemental tabli ci-dessus
(cf. Le schma global, page 240). Il est important de noter que la proie peroit le prdateur
comme un rel prdateur, potentiellement dangereux.

- 241 -

IV - Exprience 1 : le mcanisme de slection dactions


Le prdateur apparat en premier dans le coin infrieur droit. Il est symbolis par un cercle
muni dun signe plus. La proie apparat alors dans le cadran suprieur gauche, entre la
premire caisse inutile et la caisse de nourriture. Elle est symbolise par un cercle muni dune
croix. Le prdateur est libre de ses mouvements.

Caisse inutile

Nourriture

Caisse inutile

Figure 51 : Arne, positions de dpart de la premire exprience.

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 -

IV - Exprience 1 : le mcanisme de slection dactions

Le comportement de Fuite est correctement mis en uvre. La proie vite le prdateur et


part loppos de larne.

Les comportements de Fuite et dEvitement collaborent parfaitement. La proie ne


senferme pas dans un angle de larne, elle ne percute aucun des quatre murs.

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 -

IV - Exprience 1 : le mcanisme de slection dactions

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 -

IV - Exprience 1 : le mcanisme de slection dactions

4.1. CONDITIONS EXPRIMENTALES


Cette exprience met en place trois proies et un seul prdateur. Le prdateur est nouveau
dirig par un tre humain, alors que les proies sont diriges par lordinateur. Les positions de
dpart sont indiques sur le schma infra, comme prcdemment.

Caisse inutile

Nourriture

Caisse inutile

Figure 54 : Arne, positions de dpart de la seconde exprience.


Le schma comportemental des cratures a t quelque peu complexifi. Deux centres
dintrt supplmentaires permettent aux cratures de se dplacer en nue. Lobjectif est
double. Tout dabord, il renforce le nombre des centres dintrt possiblement conflictuels et
donc approfondit les rsultats de lexprience prcdente. Ensuite, il dmontre la faisabilit de
comportements de groupe simples, sans communication entre les cratures. Les principes mis
en place par ces centres dintrt supplmentaires proviennent de [Reynolds99]. Dans cet
article, quatre rgles permettent de produire un comportement de nue :

Se diriger vers le centre du groupe

Garder un vecteur vitesse correspondant celui du groupe

Eviter les autres

Fuir les prdateurs

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 -

IV - Exprience 1 : le mcanisme de slection dactions

Proximit

ResterGroup

Danger

Apport

Evitement

Direction

Vitesse

se

Direction

tes

Vi

Groupe

Figure 55 : Schma du centre d'intrt ResterGroup.


Le second centre dintrt, appel ConserverNue, permet aux cratures dun mme groupe de
conserver un vecteur vitesse similaire, et ainsi, de se dplacer en nue. Le principe est simple,
calquer sa vitesse et sa direction sur celle de ses congnres. Ce centre dintrt utilise donc
deux nouveaux senseurs qui lui permettent de connatre la direction et la vitesse des objets.
Ces senseurs sont respectivement appels DirPropre et VitPropre.
Groupe

Direction

Proximit

ConserverNue

Direction

Vitesse
Danger

Apport

Evitement

DirPropre

VitPropre

Figure 56 : Schma du centre d'intrt ConserverNue.

- 246 -

IV - Exprience 1 : le mcanisme de slection dactions

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.

Figure 57 : Arne, exprience de nue, regroupement des proies.


Lajout des deux centres dintrt supplmentaires naltre en rien les rsultats dj observs
lors de la premire exprience :

Gestion en parallle des comportements coopratifs ou conflictuels

Stabilit comportementale globale

Opportunisme

Gestion des objets de lenvironnement

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 -

IV - Exprience 1 : le mcanisme de slection dactions


Il est intressant de noter lutilisation un peu particulire de linfluence comportementale dans
ce contexte. Les rgles mises en place par [Reynolds99] impliquent le calcule du centre du
groupe et de la moyenne des vecteurs vitesse. Or, ces calculs ne sont jamais effectus dans
cette exprience. Le processus est ici quelque peu diffrent. Chaque membre du groupe va
influencer les autres membres en les attirant lui (centre dintrt ResterGroup) et leur
imposant sa Vitesse et sa Direction (centre dintrt ConserverNue). Cest grce au principe
dinfluence inter comportementale que les proies affichent un comportement adquat de nue.
Plusieurs diffrences persistent tout de mme :

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.

Le choix du membre rfrence dpend de facteurs externes, cest--dire de linfluence des


autres centres dintrt. De plus, ce choix ne prend en compte que les membres du groupe
visibles par la proie.

Il aurait t trs simple de simuler exactement le comportement mis en place par


[Reynolds99]. Il suffisait dajouter deux senseurs correspondant la moyenne des vitesses et
des directions du groupe. Les senseurs Groupe, VitPropre et DirPropre devenant alors inutiles.
Mais, pour mieux apprhender les effets possibles de linfluence inter comportementale, il est
apparu prfrable dutiliser cette mthode, plus ractive. Dans le sens o elle ne fait appel
aucun calcul global.
Un autre point concerne cette fois les mcanismes de slection. Larne tant relativement
restreinte, les comportements de Nutrition et de Fuite avaient tendance prendre constamment
le dessus sur les autres comportements. La distance de vue des proies a donc t rduite. Les
proies ne remarquent ainsi les prdateurs et la nourriture que lorsquelles en sont proches. Le
reste du temps elles se concentrent sur les autres centres dintrt. De mme, les importances
des centres dintrt ResterGroup et ConserverNue doivent tre similaires. Si ResterGroup
devient trop influent, les proies restent groupes dans la mme zone gographique.
Inversement, si ConserverNue devient trop influent, les proies se dplacent paralllement,
sans jamais se rapprocher.

- 248 -

IV - Exprience 1 : le mcanisme de slection dactions

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.

Les modles des cratures doivent pouvoir tre conus facilement.

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 -

IV - Exprience 1 : le mcanisme de slection dactions

Les senseurs peuvent propager des valeurs relles.

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).

Persistance des comportements (persistance et satit).

Opportunisme.

Les centres dintrt peuvent privilgier les comportements consommateurs.

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 :

Les comportements de consommation tant instantans, la satit na donc pas t utilise.

Lensemble des blocs na pas pu tre utilis. Notamment, le bloc intgrateur dont le
fonctionnement utilise un processus complexe.

Aucune dpendance logique ne vient troubler lordre du processus dcisionnel.

La gestion du temps machine et notamment le caractre incrmental du processus


dcisionnel na fait lobjet daucun test.

Il parat ds lors vident que de nombreuses autres exprimentations savrent ncessaires


pour valider compltement le fonctionnement de larchitecture. Certaines seront incluses dans
les prochaines expriences, dautres feront srement lobjet dexprimentations venir. La
prochaine exprience se consacre aux processus adaptatif de larchitecture. Elle explore les
mandres du contrle moteur dun hexapode.

- 250 -

V - Exprience 2 : le contrle moteur


Le premier chapitre a prsent les attentes et les contraintes des concepteurs de jeu vido. Il a
mis en place un systme de validation par lexprience. Trois expriences dont lintrt est
la fois cognitif [Bourgine93] et ludique, permettront de valider larchitecture. Le second
chapitre a analys les solutions dj proposes et a pos les bases de larchitecture. Le
troisime chapitre introduit le formalisme et le fonctionnement de larchitecture. Le quatrime
chapitre a permis de valider le fonctionnement du premier niveau de cognition : le mcanisme
de slection daction. Ce cinquime chapitre dcrit une exprience de contrle moteur. Elle
permettra de valider le second niveau de cognition : ladaptation. Le sixime chapitre
permettra de valider le troisime niveau de cognition : la modlisation, grce une exprience
dexploration et de navigation. Enfin, le septime chapitre conclura sur le travail effectu, et
synthtisera les axes des futurs travaux.

V. EXPRIENCE 2 : LE CONTRLE MOTEUR


Cette seconde exprience montre les capacits dadaptation de larchitecture. Elle met en
uvre une crature en 3D qui doit apprendre se mouvoir correctement. Cette crature
possde un tronc muni de six pattes. Chacune des pattes se compose de deux sections. Elle est
donc dnomme Hexapode. Cette fois, lobjectif est de dmontrer le bon fonctionnement des
capacits dadaptation mises en places dans larchitecture. Bien sr, cette exprience montre
aussi ladquation de cette architecture avec la rsolution du problme de contrle moteur.
Lexprience se droule dans un monde en 3D, sans relief, assez vaste et vide. Ce monde est
nanmoins muni dun ensemble de lois reproduisant avec assez de ralisme les lois de la
mcanique classique. La crature va donc devoir apprendre se mouvoir dans ce simple
monde, et ainsi sadapter aux ractions mcaniques de ses actions.
Plus prcisment, 3.2.4 Elments de validation pose un certain nombre de points de
validation observer. Ces points se divisent en deux catgories :

La capacit de grer un nombre important dactuateurs et de les synchroniser, en fonction


de paramtres internes et externes.

Apprentissage de certains paramtres de la simulation, dont les valeurs sont difficiles


dterminer. Cet apprentissage seffectue grce aux principes dadaptation dj dcrits (cf.
Lapprentissage par renforcement, page 186).

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 -

V - Exprience 2 : le contrle moteur


seconde partie dtaille le modle utilis pour le cerveau de lHexapode. Elle liste les
actuateurs, les centres dintrt et les senseurs mis en place pour diriger son mouvement. La
troisime partie expose lexprience proprement parler. Elle dvoile les rsultats obtenus et
expose une premire analyse. Enfin, la quatrime et dernire partie apporte ces rsultats une
analyse plus globale. Elle met en rapport ces rsultats avec dautres et essaie de conclure sur la
validit du systme dadaptation de larchitecture. Pour finir, elle dcrit les problmes laisss
en suspend et les travaux futurs entreprendre.

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.

1.1. UN ENVIRONNEMENT 3D : OPENGL


OpenGL [OpenGL] est une librairie qui permet dafficher en temps un contenu graphique en
3D. Cette librairie est trs clbre, et permet de tirer profit de la plupart des cartes graphiques.
Elle est donc trs performante et tout fait adquate pour le temps rel. De plus, cette librairie
a t porte sur la plupart des systmes dexploitation. Le code de lexprience est ainsi
compatible avec la plupart des plateformes.
Laffichage seul nest malheureusement pas suffisant. Toutes les informations gomtriques
sont en effet ncessaires au moteur dynamique. Il est donc essentiel de crer une passerelle
entre OpenGL [OpenGL] et ODE [ODE], le moteur dynamique. Cette passerelle a t ralise
par Russell L. Smith. Cest une librairie nomme DrawStuff Library, Copyright (C) 2001
[ODE]. Cette passerelle permet :

Dappliquer graphiquement les rsultats du moteur dynamique

De dterminer les collisions et leurs consquences mcaniques


- 252 -

V - Exprience 2 : le contrle moteur


Lutilisation de ces deux librairies na que trs peu limit lexprience. Elle a permis un
dveloppement trs rapide et efficace. En fait, seules les formes des objets sont limites. Mais
pour les besoins de lexprience, ceci nest pas vraiment un problme. LHexapode se
compose donc dun paralllpipde rectangle allong pour son corps. Chacune de ses six
pattes se composent de deux tubes.

Figure 58 : Capture de l'environnement et de l'Hexapode.

1.2. UN ENVIRONNEMENT DYNAMIQUE : ODE


Le besoin dun moteur dynamique pour simuler les lois de la mcanique est apparu
naturellement. Tout dabord, la crature donne des ordres ses muscles pour produire un
mouvement. Etant de nature articule, il faut pouvoir transposer ces ordres en mouvements,
tout en tenant compte des contraintes gomtriques. LHexapode ne doit en effet pas se
dmembrer au moindre mouvement. Ensuite, il nest pas question de raliser un contrle
aveugle, un automate dont le mouvement est fig jamais sans aucune capacit de ractivit.
LHexapode doit donc pouvoir percevoir des informations concernant ses articulations et son
environnement, informations que seul un moteur dynamique peut fournir.
- 253 -

V - Exprience 2 : le contrle moteur


Le moteur dynamique doit cependant rpondre certaines exigences, pour permettre la
ralisation de 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 -

V - Exprience 2 : le contrle moteur


possde donc 12 jointures. Deux catgories de jointures sont distingues, selon si la jointure
lie lavant patte avec la patte ou la patte avec le corps :

Jointures Corps Patte

1 degr de libert permettant davancer et de reculer la patte, appel degr0

1 degr de libert permettant de lever et dabaisser la patte, appel degr1

Jointures Patte Avant Patte

1 degr de libert permettant de lever lavant patte, appel degr2

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.

Figure 59 : Jointures et degrs de libert de l'Hexapode.


LHexapode est une morphologie qui possde plusieurs avantages :

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.

Le nombre de degrs de libert est important, ce qui rend le problme attrayant.

Dautres expriences ont t menes sur des hexapodes ressemblants, dont notamment
[Ferrell95].

Laspect de la dmarche reste attrayant, tout en conservant une simplicit gomtrique


pour la crature.

- 255 -

V - Exprience 2 : le contrle moteur

2.2. LE MODLE DCISIONNEL


Le modle dcisionnel doit permettre lHexapode de dterminer les bons ordres envoyer
ses muscles tout au long de ses mouvements. Il est important que le processus dadaptation
entrepris par la crature puisse tre visible tout au long de lexprience. Lapprentissage de la
marche permet ainsi de montrer une crature qui adapte son mouvement au fur et mesure du
droulement de lexprience. Plus quune simple dmonstration des possibilits dadaptation
de larchitecture, cette exprience veut aussi dmontrer laisance dutilisation et de ces
procds et leur parfaite mallabilit par rapport aux dsirs du concepteur.
Cette exprience se dcoupe donc en plusieurs tentatives. Chaque tentative possde une dure
fixe et succde la prcdente. Pendant une tentative, les paramtres restent inchangs,
lHexapode teste leurs nouvelles valeurs. A la fin de chaque tentative, lHexapode juge du
rsultat et propage le signal dapprentissage correspondant.
Tentative : partie de lexprience durant laquelle les paramtres restent invariants.
La premire partie dcrit la politique de mouvement choisie pour le dplacement de
lHexapode. La seconde partie dtaille les actuateurs utiliss. La troisime partie liste les
centres dintrt ncessaires. La quatrime partie dcrit les senseurs et les arbres de calcul
associs. Enfin, la cinquime partie expose le modle global.

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 -

V - Exprience 2 : le contrle moteur

Figure 60 : Les quatre positions cl de la dmarche de l'Hexapode.


Ce principe de positions cl ou tats cl, est rapprocher des techniques utilises notamment
par [Noser99], [Mataric98] et [Hodgins98]. Le contrle moteur sassimile alors une machine
tats finis, chaque tat reprsentant une position cl. Un ensemble de perceptions et de
conditions sur ces perceptions permet de passer dune position lautre et ainsi denchaner
les mouvements.
Cette notion de position cl permet dintroduire le premier paramtre de lexprience. Un
arbre de calcul permet de mesurer le progrs effectu pour atteindre la position cible. Il est
intitul progrs position. Reste seuiller ce calcul pour dterminer quel moment passer la
position suivante. La valeur de ce paramtre influe sur la fluidit du mouvement et la rapidit
des transitions. Elle sera donc dtermine par apprentissage. Ce paramtre sappelle seuil
reconnaissance.
- 257 -

V - Exprience 2 : le contrle moteur

2.2.2. Les actuateurs


LHexapode possde dj 18 actuateurs, un pour chacun de ses muscles. Ces actuateurs,
appels effecteurs, ncessitent pour fonctionner deux intensits :

La vitesse de rotation atteindre

La force maximale utiliser

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 -

V - Exprience 2 : le contrle moteur

2.2.3. Les centres dintrt


La crature possde un centre dintrt par position cl de son mouvement. Chacun envoie les
ordres tous les muscles de lHexapode pour quil atteigne sa position cl. Il possde ainsi
cinq centres dintrt :

Debout : permet la crature de retrouver sa stabilit, elle pose ses six pattes par terre.

Position1 : permet la crature datteindre la premire position cl.

Position2 : permet la crature datteindre la seconde position cl.

Position3 : permet la crature datteindre la troisime position cl.

Position4 : permet la crature datteindre la quatrime position cl.

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 -

V - Exprience 2 : le contrle moteur


Soit px la position actuelle en x de lHexapode,
Soit py la position actuelle en y de lHexapode,
Soit dx la position de dpart en x de lHexapode,
Soit dy la position de dpart en y de lHexapode,
signal

px

dx

px

dx

py

dy

py

dy

2.2.4. Les senseurs


Les senseurs permettent lHexapode de percevoir son propre tat, cest--dire les angles de
chacun de ses degrs de libert. La crature reste galement consciente de sa position relative
dans lenvironnement. Elle peut connatre :

Langle dun degr de libert : Patte0, Patte1 ou Patte2

Lassiette et linclinaison de son corps : GyroX, GyroY

Une approximation de la pression exerce sous ses pattes : PatteTouche

Outre ces senseurs, la crature dispose de 5 senseurs de slection de position cible. A un


instant donn, un seul de ces senseurs possde une valeur diffrente de 0 :

Debout

Position1

Position2

Position3

Position4

Enfin, trois paramtres dapprentissage fournissent des informations ncessaires au contrle


moteur :

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 -

V - Exprience 2 : le contrle moteur

Le contrle des muscles


Les 5 centres dintrt relatifs aux positions (Debout, Position1, Position2, Position3 et
Position4) fonctionnent exactement sur le mme schma, un seul sera donc fourni. De mme,
ces centres fournissent des informations tous les effecteurs. Une fois encore, ces arbres de
calcul fonctionnent sur le mme principe. Un seul sera dcrit.
Position

Angle
Dist
&

Coefficient
Vitesse

Position

Effecteur
Vitesse

Force

Force

Figure 61 : Modle du schma des centres d'intrt Position.


Les noms en italiques indiquent des composants qui changent dun centre dintrt lautre et
dun effecteur lautre. Voici les changements effectuer pour chacun des composants de
larbre de calcul :

Position : cest le senseur de slection de position correspondant la position du centre


dintrt.

Angle : cest langle du degr de libert correspondant leffecteur (ramen un domaine


sign continu).

Dist : la constante vaut la valeur prdfinie dans le tableau ci-dessous.

- 261 -

V - Exprience 2 : le contrle moteur


Patte et degr
Avant gauche 0
Milieu Droite 0
Arrire Gauche 0
Avant Droite 0
Milieu Gauche 0
Arrire Droite 0
Avant Gauche 1
Milieu Droite 1
Arrire Gauche 1
Avant Droite 1
Milieu Gauche 1
Arrire Droite 1
Avant Gauche 2
Milieu Droite 2
Arrire Gauche 2
Avant Droite 2
Milieu Gauche 2
Arrire Droite 2

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.

Le choix de ltape et les positions


Ces arbres de calcul permettent de configurer quelle est la position courante. Chacun des
centres dintrt slection position essaie de prendre le contrle de lHexapode. Les intensits
de lactuateur slection position sont donc simplement 0 pour tous les senseurs des autres
centres dintrt et 1 pour le sien. La slection de la position cible courante se fait donc par les
arbres de calcul de la motivation. Ces arbres, appels progrs position, permettent de mesurer
les progrs de lensemble des effecteurs par rapport aux valeurs cibles. Ces arbres
fonctionnent de manire similaire pour tous les centres dintrt slection position.

- 262 -

V - Exprience 2 : le contrle moteur

Anglei

Dist
|Moy|

Inv
Slection
Position

Anglej

Dist

Seuil
Reconnaissanc

Slection
Position1

Inv

Debout
Pos1
Pos2
Pos3

Pos4
0

Figure 63 : Schma du centre d'intrt Slection Position1.


Il est important de noter que les arbres de calcul progrs position ne mesurent pas la position
du centre dintrt, mais la position qui la prcde. Ainsi, pour le centre dintrt slection
position1, larbre de calcul de la motivation mesure le progrs de la position 4. Les senseurs
Angle correspondent lensemble des degrs de libert de lHexapode. Le composant |Moy|
effectue la moyenne des valeurs absolues des distances. Les arbres de calcul des distances
(dist) sont factoriss avec ceux des arbres de vitesse (cf. Le contrle des muscles, page 261).
De mme que prcdemment, chaque position impose ses constantes en fonction de la
position reconnatre.
Le seuil de reconnaissance est rendu ngatif, puis il est somm avec le progrs position. Un
rsultat strictement suprieur zro permet dobtenir une motivation positive et donc des
ordres valables. Le seuil de reconnaissance permet donc de rgler la rapidit denchanement
entre les positions. Une valeur trop leve empche la crature de changer de position, une
valeur trop basse aboutit des conflits de slection de position.

2.2.5. Le schma global


Bien quassez simple comprendre, le nombre des degrs de libert de lHexapode rend le
schma dcisionnel global trs vaste. Comme cela a dj t expliqu auparavant, la plupart
des arbres de calcul fonctionnent sur des principes identiques, ainsi le schma ne rvle quun
seul de ces arbres pour chacun des principes.

- 263 -

V - Exprience 2 : le contrle moteur

Figure 64 : Partie gnrique du schma dcisionnel global.


Il est important de noter le dcalage entre lAngle qui correspond la slection de la position 1
et donc la mesure du progrs de la position 4. De mme, chaque Angle correspond un
effecteur.

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 -

V - Exprience 2 : le contrle moteur

3.1. CONDITIONS EXPRIMENTALES


LHexapode est lch au centre de lunivers virtuel (position 0 0) depuis une petite hauteur
(0,7). Sa position de dpart est la position Debout. Tous les effecteurs ont alors un angle nul.
Les trois paramtres dapprentissage sont initialiss avec des valeurs nulles. Lexprience se
dcompose en tentatives. Chaque tentative dure 20 secondes simules. La premire commence
ds que la crature est lche.
A la fin de chaque tentative, la distance parcourue par lHexapode est mesure. Le signal
dapprentissage correspondant est alors calcul. Le systme le propage dans le modle
dcisionnel, aux quatre blocs dapprentissage. LHexapode adapte sa dmarche en
consquence. La tentative suivante commence alors.
Les tentatives se poursuivent jusqu ce que lHexapode atteigne le bord du monde. Pour
donner une petite indication des distances, la longueur du corps de lHexapode est 1, ses
pattes mesurent 0,3 et ses avant pattes 0,6. Lunivers est un plateau carr de ct 100.

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

Figure 65 : Amplitude des signaux reus au fil des tentatives.

- 265 -

V - Exprience 2 : le contrle moteur


Le signal dapprentissage mesure la distance parcourue par lHexapode. Au fil des tentatives,
cette distance ne cesse daugmenter. La dmarche de lHexapode devient de plus en plus sre.
Lvolution des paramtres converge vers des valeurs permettant la crature de se dplacer
rapidement. Bien que le signal ne soit pas sign, la convergence seffectue rapidement. Aprs
seulement 60 tentatives, la dmarche devient assure et la distance parcourue frise la plupart
du temps avec la distance optimale.
Il arrive plusieurs fois au cours des tentatives que le signal vaille 0. Ceci dvoile un aspect
important de la nature des paramtres dapprentissage. Pour certaines valeurs de paramtres,
lHexapode est incapable de se mouvoir. Certains des paramtres sont critiques, une mauvaise
valeur entrane lchec systmatique de lexprience. Une analyse plus pousse permettra de
dterminer quels paramtres ou combinaisons de paramtres sont critiques et quelles valeurs
entranent un chec systmatique.
Fiabilit
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

Figure 66 : Evolution de la fiabilit des paramtres au fil des tentatives.


Tous les blocs dapprentissage recevant le mme signal, leurs fiabilits voluent de concert.
Une seule courbe dcrit donc lensemble des fiabilits. Cette fiabilit mesure plusieurs aspects
importants :

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).

Elle mesure la russite de lexprience. Sa valeur convergeant vers 1, la dmarche de


lHexapode devient optimale.
- 266 -

V - Exprience 2 : le contrle moteur

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

Figure 67 : Evolution des paramtres d'apprentissage au fil des tentatives.


Lvolution des paramtres dapprentissage est quelque peu chaotique jusqu la 13ime
tentative. Cette tentative correspond une augmentation sensible de la fiabilit et donc une
stabilisation du systme dadaptation. Les courbes confirment ces suppositions, les valeurs des
paramtres se stabilisent aussi pour converger vers les valeurs optimales.
Dautres informations sont ncessaires pour poursuivre lanalyse des rsultats. La position
cible courante a donc t enregistre au fur et mesure de lexprience. Elle permet de
mesurer les oscillations entre les positions susceptibles de ralentir la dmarche de lHexapode.
1,2
1
0,8

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 -

V - Exprience 2 : le contrle moteur


oscillations inutiles. La courbe Step1 mesure le mme ratio en autorisant une position inutile
entre deux positions successives.
Lorsque lHexapode navance pas, aucune squence complte na t effectue. Les ratios
sont donc nuls. Logiquement, les ratios devraient tre dpendants du paramtre seuil de
reconnaissance. Mme si ces courbes semblent lies, ces ratios continuent dosciller malgr
une valeur du paramtre constante ou presque. Deux facteurs viennent expliquer ces rsultats :

Les valeurs leves du seuil de reconnaissance permettent de limiter les oscillations


inutiles. Dautres expriences ont permis de montrer quautour de 0,97 ces oscillations
disparaissent. Malheureusement, cette valeur leve implique de longues transitions qui
ralentissent la progression gnrale de lHexapode.

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.

Toutes ces informations permettent galement de prciser le rle des paramtres


dapprentissage :

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.

Seuil de reconnaissance : le seuil de reconnaissance permet de rgler la fluidit des


transitions. Une valeur trop basse entrane des oscillations inutiles, parfois bloquantes.
Une valeur trop leve entrane un blocage en fin de mouvement, la position cible ntant
en fait jamais vraiment atteinte.

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 -

V - Exprience 2 : le contrle moteur


faible et les paramtres ne se stabilisent jamais. Lamplitude du signal doit donc tre rgle
avec prcision.

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 -

V - Exprience 2 : le contrle moteur


rare de disposer des mmes informations pour lapprentissage. Chaque joueur tant diffrent,
les conditions de lapprentissage varient dun joueur lautre, au fur et mesure de ses
interactions avec le jeu. Il est donc essentiel de pouvoir dcrire le processus dadaptation non
pas comme un automate, mais comme un systme ouvert, capable de grer des conditions
diffrentes et varies.
Lexprience montre graphiquement les capacits dadaptation. La crature semble ragir
ses propres tentatives, comme un enfant apprenant marcher. Elle tient compte pour ce faire
de paramtres externes et internes, qui laident faire converger son comportement au plus
vite. Cette prise en compte de paramtres lors du processus dadaptation est trs importante
pour les jeux vido. Leur intrt est bas essentiellement sur linteraction entre le ou les
joueurs. Il est donc essentiel que le processus dadaptation puisse lui aussi dcoul dune
interaction entre la crature et son environnement (joueurs inclus).
Cette exprience seule ne permet cependant pas de dmontrer que les mcanismes
dadaptation seront suffisants pour satisfaire toutes les attentes des concepteurs de jeux vido.
Mme si lanimation dynamique les intresse aujourdhui, dautres domaines lis
ladaptation restent au centre de leurs proccupations :

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.

De plus, lexprience ne met en uvre aucune intervention extrieure. Ladaptation se fait


donc par rapport lenvironnement, mais pas par rapport un intervenant extrieur. Dautres
expriences permettraient de dmontrer lefficacit de larchitecture dans des situations plus
interactives.
Enfin, lexprience se limite lutilisation dun seul type de bloc dapprentissage, et dun seul
type de signal. Mme si lapprentissage stochastique devrait permettre de saffranchir de
certaines difficults rencontres avec dautres types de signaux, seules de nouvelles
expriences pourront confirmer son fonctionnement avec des signaux plus pauvres (discrets).
Le bloc dapprentissage neural fonctionnant exactement comme un rseau de neurones, les
rsultats obtenus pour ces rseaux sappliquent donc ici. Le bloc dapprentissage pluri linaire
a, quant lui, fait lobjet dune seule exprience, lapproximation dun cosinus. Mais ces
expriences feront srement lobjet darticles venir.
- 270 -

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 :

Exploration et modlisation de lenvironnement

Exploitation optimale de cette modlisation

Processus en temps rel, avec des ressources mmoires limites

Parfaite intgration avec le reste de larchitecture


- 271 -

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.

1. Lenvironnement virtuel : Quake III


Une fois de plus, lenvironnement de Quake [Quake96] est utilis. Cette fois, il sagit du
troisime volet de la srie : Quake III [QuakeIII99], plus rcent et donc plus abouti.
Lenvironnement est toujours en 3D et laction en temps rel. Cet environnement correspond
un vritable jeu et se rvle donc tout fait adquat.
Cette fois, pour viter les dsagrments lis aux bots clients (cf. QuakeWorld, page 231), le
bot sera un bot serveur. La publication dune partie du code a en effet permis lintgration de
larchitecture dans le moteur du jeu. Le bot aura donc accs toutes les informations et
toutes les fonctions du jeu. Ceci a un grand impact sur la conception de la crature ou bot.
La premire partie dcrit donc lunivers de Quake III [QuakeIII99], quelles informations et
fonctionnalits le bot peut avoir accs. La seconde partie, quant elle, dtaille la segmentation
des niveaux. Elle permet au jeu de mettre en place une structure adapte la recherche de
chemin et donc la navigation.

1.1. QUAKE III : UN UNIVERS EN 3D


Quake III [QuakeIII99] propose un univers plus riche que ces prdcesseurs. Les problmes
rencontrs lors des premires expriences ont favoris la ralisation dun bot serveur cette
fois. Lintgration de larchitecture a t rendue possible par la publication dune partie du
code du jeu. Le fait que ce source soit en C na pos aucun problme, et la librairie sest
parfaitement intgre.
Le bot serveur permet davoir accs toutes les informations et les fonctionnalits du niveau.
Il lui devient alors possible dinteragir facilement avec des niveaux beaucoup plus complexes,
tels que celui qui a t choisi pour cette exprience, dont voici une petite capture :
- 272 -

VI - Exprience 3 : la navigation

Figure 69 : Capture du niveau utilis pour l'exprience.


La premire partie dcrit donc les informations disponibles au bot. Ces informations sont
lorigine de la conception de ses senseurs et des niveaux de perception. Elle expose galement
la ncessit dutiliser un filtre perceptif pour rendre lexprience plus raliste.
La seconde partie dcrit les fonctionnalits auxquelles peut accder le bot. Ses actions ne sont
en effet plus limites par la couche rseau. Il peut accder une foule de fonctions utiles pour
ses actuateurs. Cette fois encore, ces fonctionnalits ont model les actuateurs du bot.

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.

1.2. QUAKE III : LA SEGMENTATION DES NIVEAUX


Quake III [QuakeIII99] analyse systmatiquement toutes les cartes des niveaux. Il en tire une
structure complexe base de botes relies les unes aux autres. Chaque bote correspond un
volume. Un lien entre deux botes signifie quelles possdent une surface commune, appele
portal. Le dcoupage en volumes convexes permet de connatre trs rapidement quelles
entits sont visibles depuis un point de lespace. Ce genre de structure rpond tout fait la
remarque effectue lors des premires expriences, concernant la gestion des entits (cf.
Discussion, page 249).
Une nouvelle entit fait aussi sont apparition dans Quake III [QuakeIII99] : les localisations.
Ces entits symbolisent les points de passage essentiels du niveau. Elles permettent de dresser
un graphe simplifi du niveau. La structure rsultant des volumes convexes est en effet trop
volumineuse pour tre exploite simplement. Les localisations offrent, par opposition
simplicit et efficacit. Ces localisations reprsentent alors des candidats idals pour des
amers.

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.

2.1. COUCHE COMPORTEMENTALE


Le but de la couche comportementale et de fournir au bot un comportement ractif. Elle
loriente donc vers lentit la plus intressante pour lui. Pour ce faire elle distingue 3
catgories dentits :

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.

Les localisations : amers qui permettent au bot de savoir o il se trouve et ainsi de se


reprer.

Chaque catgorie correspond donc un niveau de perception. Ces niveaux se dcomposent


selon 4 axes. Ces axes ne signifient pas tous la mme chose selon la catgorie de lentit :

La direction de lentit

La distance de lentit (temps mis pour latteindre)

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.

2.1.1. Les actuateurs


Le bot dispose dun seul actuateur : Aller Vers. Cet actuateur utilise les fonctionnalits de
navigation de Quake III pour diriger le bot vers lentit correspondant sa destination. Cet
actuateur est limit par lutilisation qui en est faite dans lexprience. Seules les entits
visibles deviennent lobjet de cette action. Il ne gre en fait que la navigation de proximit. La
- 276 -

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.

2.1.2. Les centres dintrt


Le bot possde deux objectifs pour cette exprience. Il doit tout dabord explorer le niveau.
Puis, sur ordre, il doit rcolter de la vie. Pour ces deux tches, deux centres dintrt ont t
utiliss. Les expriences prcdentes ayant dj dtaill le principe de conception, cette partie
ne sattardera pas. Les centres dintrt seront simplement abords et leurs arbres de calcul
dcrits.
Le centre dintrt Exploration permet au bot de se diriger vers une localisation. Sa
motivation est constante et fixe 0,1. Pour distinguer lintrt de chaque localisation, il
utilise un arbre de calcul qui prend en compte plusieurs paramtres, et donc senseurs :

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.

Soit n le nombre de visites pour la localisation,


Soit nmax le nombre maximale de visites effectues pour une seule localisation,

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 :

Vie : mesure lapport en vie de lobjet.


Ordre

Distance

Direction

Vie
&

Vie

Aller Vers

Inv

Figure 71 : Schma du centre d'intrt Vie.

2.2. COUCHE DE MODLISATION


La couche de modlisation permet denregistrer les localisations visites et de crer les
liaisons qui permettent de passer de lune lautre. Le modle ainsi conu permet alors au bot
de se retrouver dans le niveau et de planifier le meilleur chemin prendre, selon ses dsirs du
moment. Le modle devient une carte grce laquelle il peut se reprer. Les informations
utiles reportes sur la carte concernent essentiellement les objets quil peut trouver dans les
localisations : larmement et la vie.
Chaque localisation visite peut tre mmorise grce lactuateur mmoriser. Cet actuateur
devient alors le gestionnaire de lensemble des souvenirs des localisations. A chaque souvenir,
il associe la teneur en armement et en vie de la localisation, pour pouvoir sy rfrer plus tard.
Un actuateur lieur permet de crer les liens entre les souvenirs localisations. Ces liens
permettent de transfrer les teneurs en armement et en vie au travers des souvenirs
localisations. Lorsque ces teneurs parviennent une localisation perue, elle la modifie, pour
reflter les objectifs plus ou moins lointains du bot.
La premire partie dcrit le processus de mmorisation qui permet la construction de la carte
du niveau. Il dtaille la cration des souvenirs et des liaisons. La seconde partie explique
comment le bot exploite ces informations, et planifie son chemin pour retrouver de la vie.
- 278 -

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.

La mmorisation des localisations


La mmorisation des souvenirs localisations implique de calculer un rsum de la teneur en
armement et en vie de la localisation courante. La localisation courante est la localisation o
se trouve prcisment le bot. Ainsi, la mmorisation ne peut tre effectue que lorsque le bot
se trouve en un point prcis de lespace (le point symbolisant la localisation). La
dtermination de la localisation courante devient alors vidente. Un senseur permet de savoir
si elle a t atteinte : LocalisationAtteinte.
En ce qui concerne les teneurs en armement et en vie, le centre dintrt, valuer localisation,
connect lactuateur mmoriser localisation utilise un arbre de calcul intgrateur qui permet
dobtenir le rsum des valeurs en armement et en vie des objets alentours. Cet arbre de calcul
tient galement compte de la distance qui spare lobjet de la localisation, un rayon
dinfluence permet de savoir si lobjet doit participer au calcul de la teneur ou non. Ce calcul
est effectu par le senseur EstDansLaLocalisation.

- 279 -

VI - Exprience 3 : la navigation

Localisatio
n Atteinte

Armement

Est Dans
La

Mmoriser
Localisation
Vie

&

Vie

&

Evaluer Localisation

Armement

Figure 72 : Schma du centre d'intrt Evaluer Localisation.


La source originale du souvenir cr (cf. Un centre dintrt particulier, page 209) est facile
dterminer : il sagit de la localisation courante. Lors de la mmorisation, une fonction
particulire permet de retrouver la localisation courante. Cette fonction, associe lactuateur
mmoriser localisation, est utilise automatiquement par larchitecture.

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

Figure 73 : Schma de l'actuateur 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.

Figure 74 : Schma du transfert entre la localisation A et la localisation B.


Si le souvenir localisation B est peru par le bot et trait par lactuateur mmoriser
localisation, il devient le souvenir reconnu. Plutt que dinfluencer un autre souvenir, ce
dernier va modifier la perception qua le bot de la localisation B en y intgrant le transfert des
teneurs. Sans sen rendre compte, la couche comportementale ractive va tenir compte de la
modlisation effectue. Lobjet peru est alors charg grce aux informations issues des
souvenirs. Lintgration des modles crs est donc parfaite.
- 281 -

VI - Exprience 3 : la navigation

Figure 75 : Modification des perceptions du bot, exploitation concrte des souvenirs.

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.

3.1. CONDITIONS EXPRIMENTALES


Lutilisateur

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

Position des objets


de vie

Figure 76 : Plan simplifi du niveau.


Lordre daller chercher de la vie peut tre envoy au bot nimporte quel moment, grce
une commande console. Le senseur ordre change dtat et renvoie 1. Le bot soriente alors
vers lendroit o il pourra trouver le plus de vie.

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 :

La distance pondre lintrt des localisations

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

Figure 77 : Illustration d'une situation provoquant une oscillation comportementale.


Une fois ce petit inconvnient trait, il est grand temps de regarder si ltape de modlisation
sest droule correctement. Le bot sest cantonn dans la partie infrieure du niveau. Voici
les localisations et les liaisons quil a pu mmoriser :
165

156
177
160

173

161

Localisation

159
162

mmorise
Position des

163

objets de vie
171

167

Liaison entre
deux

168

localisations
76

166

Figure 78 : Rsultat de la modlisation.


Chacune des localisations mmorises est repre par un numro. Le tableau indique les
teneurs mmorises pour toutes ces localisations. Ces scores sont les scores propres chaque
localisation, aucun transfert nest encore effectu :

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

Figure 80 : Tableau des localisations conserves aprs diminution de l'espace mmoire.


Les localisations limines sont donc la 165, la 156, la 177 et la 173. En observant la
trajectoire du bot, il est facile dobserver que ces localisations sont les dernires avoir t
visites. De plus, toutes les autres localisations ont dj t visites au moins deux fois. Le
modle dcisionnel du bot nutilise aucun actuateur oublier. La gestion se fait donc
automatiquement par le systme. Elle prend en compte les critres suivants :

Lopportunit du souvenir mmorise lors de sa dernire mise jour : ici lactuateur


mmoriser localisation nutilise aucune chane dopportunit, ce facteur nintervient donc
pas.

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

Figure 81 : Trajectoire du bot convergente vers la vie.


Cette trajectoire sexplique simplement. Le bot se trouve en 76. Voici une suite de schmas
qui expliquent les transferts pour chacune des localisations occupes par le bot. Il ne possde
toujours que dix emplacements mmoire :

- 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

Figure 82 : Transferts convergeant vers la vie au fil de la trajectoire du bot.


Enfin, le dernier critre de validation concerne le temps machine. Pour 14 souvenirs (bot sans
restriction de mmoire), les possibilits de transferts sont dj trs importantes. Le transfert le
plus long met en uvre 13 localisations diffrentes. Le parcours du graphe en totalit
implique en moyenne 25 transferts effectifs pour chaque localisation perue, aboutissant
toujours en moyenne 10 feuilles. Pour chaque transfert il est ncessaire de parcourir la liste
des localisations mmorises, un seul transfert complet implique donc en moyenne 490
localisations parcourues et utilises. Plusieurs essais ont t effectus, rvlant ainsi la
ncessit des diffrentes optimisations mises en place :

Transferts non incrmentaux, non progressifs : lors du transfert des influences, un


ralentissement notable du jeu est remarqu. Le taux de rafrachissement devient infrieur
une image par seconde. Le temps rel est dfinitivement perdu.

Transferts non incrmentaux, progressifs : de par la continuit des situations rencontres


(trajectoire continue du bot), le transfert progressif est idal. Trs peu de mises jour
deviennent ncessaires, le jeu tourne alors parfaitement en temps rel.

Transferts incrmentaux : le caractre incrmental du processus permet de garantir quen


cas dinterruption, il puisse reprendre o il en tait, tout en affichant des rsultats

- 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

incrmentalement, laissant au jeu un contrle total sur le processus.

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 :

La navigation : la crature peut modliser la gographie de son environnement et lutiliser


pour planifier sa route et retrouver les objets quil a vu.

Lanticipation : la crature est capable de crer des modles de lenvironnement ou de ses


adversaires. Il peut alors anticiper leurs ractions certaines de ses actions et choisir en
consquence.

La conversation : la crature peut se btir une vritable reprsentation sociale et


vnementielle. Elle est alors capable dintgrer sa propre histoire lors du choix de ses
dialogues.

Le processus de modlisation sert donc de nombreuses occasions, dans des contextes trs
diffrents. Heureusement de nombreux aspects restent identiques :

Stocker des informations et les organiser

Utiliser ces informations

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 :

La modlisation fonctionne sur une frquence infrieure la frquence comportementale.


Mme si pour son mouvement, une crature doit prendre des dcisions au dixime de
seconde, une modlisation 10 fois plus lente reste acceptable, mme pour un jeu daction.

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 processus dutilisation des modles est intrinsquement incrmental, plus la crature


rflchit longtemps, plus elle peut intgrer de nombreux paramtres dans sa planification.

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

Espace de recherche rduit aux

Espace mmoire optimis, aucune

donnes personnelles de la crature

information duplique

Paramtres personnels la crature,

Rsultats

parfaits,

puisque

recherche plus pertinente

stratgie

utilise

toutes

Gestion

Inconvnients

efficace

de

lespace

la
les

informations du jeu

mmoire personnel
Espace mmoire gaspill par la

Espace de recherche plus important,

prsence dinformations dupliques

mais heuristiques possibles

Rsultats

Quantit incompressible des donnes

imparfaits,

mais

plus

proches dun raisonnement humain

Pertinence discutable des rsultats,


difficult prendre en compte les
paramtres personnels des cratures

Figure 83 : Rcapitulatif des avantages et inconvnients des stratgies de navigation


locale et globale.
La stratgie locale permet la crature de garder le contrle des informations quelle dsire
mmoriser. Elle est capable dutiliser ces informations selon son tat, ses dsirs. Les rsultats
quelle obtient ne sont limits que par les informations quelle a mmorises. Elle affiche
ainsi un comportement humainement raisonnable. Par contre elle provoque une duplication
parfois importante des informations, qui nuit lconomie des ressources. Une solution mixte
permettrait plusieurs cratures proches de partager leurs informations, et dviter ainsi de
nombreuses duplications. Dautres expriences sont ncessaires pour dmontrer lintrt rel
dune telle stratgie. Elles feront sans aucun doute lobjet de prochains travaux.
Bien sr, la navigation nest quun des domaines pour lesquels la modlisation peut rnover
les habitudes. Chaque jeu, ou en tout cas chaque type de jeu, peut tirer profit de la cration et
de lutilisation des modles. Voici donc quelques unes des catgories de jeux les plus
rpandues :

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.

Stratgie : outre le dplacement des troupes, lordinateur peut concevoir un modle du


comportement de son adversaire et ainsi adapter sa stratgie en consquence, en fonction
de celle de ses adversaires.
- 291 -

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.

Le troisime niveau de cognition ouvre la porte de nombreuses possibilits. Il complexifie


quelque peu les modles dcisionnels et est trs gourmand en ressources. Larchitecture
facilite la mise en place de ces processus et optimise les ressources ncessaires. De
nombreuses autres expriences seront encore ncessaires pour dmontrer les relles
performances de ces capacits pour les diffrents types de jeu, et les diffrentes utilisations.

- 292 -

VII - Conclusion et futurs travaux

VII.CONCLUSION ET FUTURS TRAVAUX


Cette thse essaie de runir lIntelligence Artificielle et lindustrie des jeux vido. Pour ce
faire, elle propose une architecture permettant les conceptions comportementales chres aux
jeux vido. Elle dcrit donc les tapes ncessaires sa conception, son laboration et sa
validation.
Dans un premier temps, lanalyse des besoins et des contraintes lis aux jeux vido a permis
dtablir les critres essentiels qui doivent tre prsents dans larchitecture. Tout dabord, les
ressources doivent tre conomises, aussi bien au niveau de la mmoire, que du temps
machine. Les jeux mettent en uvre de trs nombreux comportements en mme temps, il est
donc essentiel que tous puissent sexcuter. Ensuite, larchitecture doit rester lesclave du jeu.
Elle peut tout moment tre interrompue. Elle doit donc afficher un caractre incrmental
dans les comportements quelle met en uvre, et donc dans les prises de dcisions. Enfin, elle
doit permettre de mettre en uvre des mcanismes plus ou moins complexes tels que la prise
de dcision en fonction de facteurs internes et externes, ladaptation au fur et mesure des
expriences vcues, et la modlisation de son environnement, mais aussi dvnements ou de
comportements. Cette analyse a permis daboutir au choix de trois expriences permettant de
valider le fonctionnement de larchitecture.
La seconde tape a permis lanalyse des techniques comportementales existantes. Avec un peu
de recul, elle essaie de tirer le meilleur parti de toutes les techniques rencontres. Elle ne se
contente pas seulement danalyser leurs rsultats ainsi que leur fonctionnement, mais attache
galement une importance toute particulire leur accessibilit. Pour rpondre aux critres, la
technologie utilise doit tre abordable par les concepteurs des jeux vido. Lexploration des
trois axes de validation (slection daction, adaptation, modlisation) a permis dobtenir une
analyse riche et varie, recouvrant la plupart des techniques dcisionnelles. Les architectures
structurelles fonctionnelles ont ainsi t privilgies. Elles permettent de mettre en uvre tous
les aspects techniques dj cits (slection, adaptation, modlisation) et tire partie dun mode
calculatoire nergtique assez rapide. De plus, elles proposent une expressivit suprieure,
notamment en ce qui concerne la gestion des informations continues. Des diffrentes
architectures analyses, un certain nombre de mtaphores incontournables ont pu tre mises
en vidence. Toutes ces mtaphores reprsentent les fondations de larchitecture et de son
fonctionnement.
- 293 -

VII - Conclusion et futurs travaux


La troisime tape a expos les principes de larchitecture. Elle nonce les mtaphores
utilises et dtaille son fonctionnement. Laspect graphique de la conception, base de
composants connects entre eux, permet un assemblage rapide des modles dcisionnels, ainsi
quune capitalisation importante des technologies spcifiques utilises. La description des
modles sur plusieurs niveaux, depuis les besoins (centres dintrt), aux arbres de calcul, en
passant par les actuateurs et les senseurs, permet diffrentes personnes de collaborer sur un
mme modle. Les arbres de calcul seront laisss des techniciens, alors que les
spcifications gnrales peuvent tre ralises directement par les designers. Son extensibilit
assure sa prennit et son adquation avec les jeux les plus originaux. Lintgration de tous les
mcanismes, ramens une mme base conceptuelle, permet de concevoir des modles
dcisionnels complexes souhait, laissant libre cours aux concepteurs. Seule dception,
linterface actuelle est un langage script, peu adapt. Il est indispensable de dvelopper pour
cette architecture une interface graphique ergonomique, facile prendre en main par les
concepteurs.
La mise en place de principes de fonctionnement clairs, sans rcurrence, apporte une base
solide et rapide. Lincorporation de nombreuses optimisations permet de conserver des temps
de rflexion tout fait acceptables. Dautres expriences, impliquant un nombre plus
important de cratures, savrent cependant ncessaires pour dmontrer que ce temps reste
correct. Le caractre incrmental du raisonnement permet cependant de se concentrer sur les
cratures interagissant avec le joueur. Les autres se voient alors attribuer un minimum de
ressources. Lintgration du niveau de dtail comportemental renforce cet aspect conomique.
Toutes ces optimisations respectent cependant le caractre logique du raisonnement. Ainsi,
tous les processus dcisionnels savent tirer profit du peu de temps quil leur est allou. Ils
affichent des comportements essentiels, permettant en thorie leur survie. Plus ils disposent de
temps, plus leur comportement paratra rflchi, tirant ainsi parti de la partie du modle
dcisionnel encore inexploite.

- 294 -

VII - Conclusion et futurs travaux


Au travers des trois expriences, larchitecture affiche plusieurs rsultats intressants. Tout
dabord, elle permet de grer un nombre croissant de comportements en parallle. Elle
parvient dterminer lorsque ces comportements sopposent, ou lorsquune coopration est
possible. Elle permet de mettre en place des mcanismes de synchronisation plus ou moins
complexes, qui ont abouti la ralisation dun contrleur de mouvement grant 18 effecteurs.
Elle est trs expressive et sadapte de nombreux environnements, comme celui de Quake
[Quake96], de ODE [ODE] ou encore de Quake III [QuakeIII99].
Les capacits dadaptation de larchitecture sont diversifies. Elles permettent au concepteur
un contrle parfait, aussi bien au niveau du jugement apport par la crature, que de la partie
qui va devoir sadapter. Un seul des composants dapprentissage a pu tre test, et encore une
fois, des expriences supplmentaires savreront ncessaires pour valider les autres
composants. De mme, tous les types de signaux nont pas t tests. Notamment les signaux
dapprentissage non continus devraient peut-tre poser des problmes de convergence. Il est
donc essentiel de raliser de nouvelles expriences mettant en uvre de tels signaux. Enfin,
concernant le processus dadaptation, la gestion du problme daccrditation na pas
rellement t traite. De plus amples investigations devraient permettre de mieux tirer profit
des fiabilits des composants dapprentissage.
Les capacits de modlisations restent laspect le moins explor. Cette thse na pu
malheureusement queffleurer ce domaine trs vaste. Elle a nanmoins mis en vidence
certaines capacits de modlisations et dexploitation de ces modles. La troisime exprience
met ainsi en scne une crature capable de modliser un niveau de jeu entier, et de sy
retrouver pour aller y chercher des objets prcis. Ces capacits sont trs coteuses en temps
machine et ont donc ncessit un certain nombre doptimisations particulires. Ces traitements
ne sont pas visibles du point de vue des concepteurs. Larchitecture conserve donc son
intgrit conceptuelle. La modlisation ouvre de nouvelles voies trs intressantes, concernant
linteraction entre le joueur et la machine. Crant ses propres modles, la machine devient une
entit personnelle au joueur, issue de limagination des concepteurs, mais aussi de ses
interactions avec le ou les joueurs.
Larchitecture savre finalement une base intressante pour un outil de conception des
processus dcisionnels. Elle est adapte au domaine du jeu vido. Mis part les quelques axes
techniques qui restent travailler, deux domaines principaux restent explorer. Le premier
concerne la gestion des motions dans le processus dcisionnel. Larchitecture possde dj
- 295 -

VII - Conclusion et futurs travaux


tous les prrequis ncessaires, cependant une exprience part entire devrait tre ddi ce
problme. [Reilly92] souligne limportance des motions dans toutes les formes dinteraction.
Le second domaine, encore plus vaste, et sans aucun doute corrl avec le prcdent, concerne
le dialogue. [Loyall97] montre quelques exemples convaincants. Il est essentiel pour
linteractivit que les cratures sachent sexprimer. Mme si pour linstant le langage naturel
semble hors de porte, le simple fait dexprimer ses motions, et mme dutiliser quelques
pictogrammes, pourrait enrichir grandement les dialogues actuels.
Au travers des expriences, larchitecture sest rvle adapte la conception de modles
dcisionnels varis. Elle semble donc pouvoir sintgrer dans dautres domaines, ncessitant
lutilisation de processus dcisionnels. Parmi ceux-ci, une mention toute particulire pour la
robotique qui partage avec le jeu vido le souci des contraintes ressources. En imposant
quelques restrictions quant aux blocs oprateurs et senseurs, larchitecture devient alors tout
fait adapte pour la conception de processus lectroniques de dcision.
La seconde exprience a rvl des capacits dadaptation utilisables pour le contrle moteur.
Larchitecture peut alors savre utile pour la conception de contrleurs mixtes, moiti
conus par les concepteurs, moiti auto adaptatifs. Cette conception permet ainsi de laisser
le concepteur imposer certaines contraintes sur le mouvement, tout en lui permettant de se
reposer sur les capacits dadaptation pour les rglages parfois complexes de certains
paramtres.
Les modles dcisionnels conus partir de larchitecture peuvent tre cods pour former un
gnome. Un prochain axe de recherche pourrait tre lexploration des comportements
engendrs par un processus de programmation gntique [Koza92]. Les nouveaux gnomes
produisent alors de nouveaux modles dcisionnels, qui aboutissent de nouveaux
comportements.

- 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

[Carlson97] Simulation Levels of Detail for Real-time Animation , par Deborah A.


Carlson, et Jessica K. Hodgins, dans Proceedings of Graphics Interface '97, pages 1-8, 1997
[Christensen96] Telling a Story with Automated Motion Synthesis , par Jon Christensen,
Joe Marks, et J. Thomas Ngo, dans Visual Proceedings of SIGGRAPH96, pages 132, 1996
[Christensen97] Automatic Motion Synthesis for 3D Mass Spring Models , par Jon
Christensen, et Joe Marks, dans The Visual Computer, vol. 13, no. 1, pages 20-28, 1997
[Costa96] An Architecture for Concurrent Reactive Agents in Real-Time Animation , par
Mnica Costa, et Bruno Feijo, dans Proceedings of SIGGRAPH96, pages 281-288, 1996
[Desbrun99] Interactive Animation of Structured Deformable Objects , par Mathieu
Desbrun, Peter Schrder, et Alan Barr, dans Graphics Interface '99, pages 1-8, 1999
[Donnart95] Learning Reactive and Planning Rules in a Motivationally Autonomous
Animat , par Jean-Yves Donnart, et Jean-Arcady Meyer, dans IEEE Transactions on
Systems, Man, and Cybernetics, Part B, vol. 26, no. 3, pages 381-395, 1995
[Faloustos95] Physics-Based Animation and Control of Flexible Characters , par Petris
Faloustos, dans PhD Thesis, 1995
[Faure99] Fast Iterative Refinement of Articulated Solid Dynamics , par Franois Faure,
dans IEEE Transactions on Visualization and Computer Graphics, vol. 5, no. 3, pages 268276, 1999
[Ferrell95] Global Behavior via Cooperative Local Control , par Cynthia Ferrell, dans
Autonomous Robots, vol. 2, no. 2, pages 105-125, 1995
[Filliat99] Utilisation de Mcanismes de Perception Active pour la Navigation d'un Robot
Mobile , par David Filliat, dans Intelligence Artificielle Situe, Drogoul & Meyer (eds),
Hermes, 1999
- 301 -

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

[Kaelbling96] Reinforcement Learning : a Survey , par Leslie Pack Kaelbling, Michael L.


Littman, et Andrew W. Moore, dans Journal of Artificial Artificial Intelligence Research, vol.
4, pages 237-285, 1996
[Kalra98] Real-Time Animation of Realistic Virtual Humans , par Prem Kalra, Nadia
Magnenat-Thalmann, Laurent Moccozet, Gael Sannier, Amaury Aubel, et Daniel Thalmann,
dans IEEE Computer Graphics, vol. 18, no. 5, pages 42-56, 1998
[Kass95] An Introduction to Physically Based Modeling: an Introduction to Continuum
Dynamics for Computer Graphics , par Michael Kass, dans Course Notes of SIGGRAPH95,
1995
[Komosinski99] Framsticks: Towards a Simulation of Nature-Like World, Creatures and
Evolution , par Maciej Komosinski, et Szymon Ulatowsky, dans Proceedings of 6th
European Conference on Artificial Life, pages 261-265, 1999
[Koza92] Genetic Evolution and Co-Evolution of Computer Programs , par John R. Koza,
dans Proceedings of 2nd Workshop on Artificial Life, pages 603-629, 1992
[Kuffner99] Fast Synthetic Vision, Memory, and Learning Models for Virtual Humans ,
par James J. Kuffner Jr, et Jean-Claude Latombe, dans Poceedings of IEEE International
Conference on Computer Animation, pages 118-127, 1999
[LaMothe95] Building Brains into your Games , par Andr LaMothe, dans Gamasutra
August (online), 1995
[Loyall91] HAP : A Reactive Adaptive Architecture for Agents , par A. Bryan Loyall, et
Joseph Bates, dans Technical Report CMU-CS-91-147, School of Computer Science,
Carnegie Mellon University, 1991
[Loyall91] Broad Agents , par Joseph Bates, A. Bryan Loyall, et W. Scott Reilly, dans
SIGART Bulletin, vol. 2, no. 4, pages 38-40, 1991
- 304 -

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

[Nakatsu98] Interactive Movie System with Multi-person Participation and Anytime


Interaction Capabilities , par Ryohei Nakatsu, Naoko Tosa, et Takeshi Ochi, dans
Proceedings of ACM Multimedia 98, pages 129-137, 1998
[Ngo93] Spacetime Constraints Revisited , par J. Thomas Ngo, et Joe Marks, dans
Proceedings of SIGGRAPH93, pages 343-350, 1993
[NgThowHing95] Research Issues in the Design of Control Methods for Physically-Based
Computer

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 -

IX - Rfrences des jeux videos

IX.RFRENCES DES JEUX VIDEOS


[AIImplant] AI Implant , www.ai-implant.com
[BlackWhite01] Black & White , produit par Lionhead Studios, dit par Electronic Arts,
2001
[CaptainBlood88] Captain Blood , produit par Exxos (Infogrammes), dit par Mindscape,
1988
[CloseCombat96] Close Combat , produit par Microsoft, dit par Microsoft, 1996
[Commandos98] Commandos , produit par Pyro Studios, dit par Eidos Interactive, 1998
[Creatures98] Creatures , produit par Creature Labs, dit par TLC Edusoft, 1998
[HalfLife98] Half Life , produit par Valve Software, dit par Sierra, 1998
[Hitman00] Hitman : Codename 47 , produit par Io Interactive, dit par Eidos Interactive,
2000
[LittleComputerPeople] Little Computer People , produit par Activision, dit par
Activision, 1985
[Monkey90] The Secret of Monkey Island , produit par LucasArts, dit par LucasArts,
1990
[MotionFactory] Motion Factory , www.motion-factory.com, cette entreprise n'existe plus
depuis fin 2000
[ODE] Open Dynamics Engine , par Russell L. Smith, www.q12.org/ode/ode.html

- 313 -

IX - Rfrences des jeux videos


[OpenGL] OpenGL , www.opengl.org
[PacMan82] Pac Man , produit par NAMCO, dit par NAMCO, 1982
[Pong75] Pong , produit par Atari, dit par Atari, 1975
[Quake96] Quake , produit par IdSoftware, dit par Activision, 1996
[QuakeIII99] Quake III : Arena , produit par IdSoftware, dit par Activision, 1999
[RType87] R-Type , produit et dit par IREM Software, 1987
[SimCity95] Sim City 2000", produit par Maxis, dit par Electronic Arts, 1995
[Sims00] Les Sims , produit par Maxis, dit par Electronic Arts, 2000
[SpaceInvader78] Space Invader , produit par Taito, dit par Midway, 1978
[Startopia01] Startopia : Space City , produit par Mucky Foot, dit par Eidos Interactive,
2001
[Tropico01] Tropico , produit par PopTop Software, dit par Take Two Interactive, 2001
[Wolfenstein92] Wolfenstein 3D , produit par IdSoftware, dit en shareware, 1992

- 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 -

También podría gustarte