Le Cerveau est dans Creatures est un système complexe constitué de dix lobes, près de 900 neurones et plusieurs milliers de dendrites. Il se base sur le métabolisme de la créature pour la maintenir en vie.
Lobes[]
Un lobe est une zone du cerveau dédiée à une fonction particulière. Les créatures à lobes multiples résultent d'une mutation courante, qui provoque la duplication ou la création de nouveaux lobes cérébraux. Pour plus de précisions sur les différents lobes, se reporter à la catégorie dédiée au cerveau.
Neurones[]
Dans les jeux de la Série Creatures, un neurone est une case où est stockée une valeur numérique. Dans la plupart des cas, celle-ci finit par disparaitre au fil du temps, mais certains neurones se vident plus vite que d'autres. Wikipédia propose de plus amples informations sur les neurones artificiels.
La coopération de plusieurs neurones forme un résau neuronal.
Dendrites[]
Une dendrite est une connexion entre deux neurones. Cette connexion est unidirectionnelle, aussi un neurone peut en influencer un autre sans que l'inverse soit vrai. Cette influence peut prendre plusieures formes : certaines dendrites transfèrent simplement la valeur numérique du neurone, d'autres la valeur opposée, d'autres encore effectuent des opérations plus complexes, notamment dans le cas du lobe des concepts.
SVRules[]
Le cerveau des créatures utilise un système de traitement neuronal appelé "State Value Rules" (littéralement : Règles de valeur d'état), abrégé en SVRules.
Elles étaient assez simples dans Creatures 1 et Creatures 2, essentiellement conçues pour laisser la possibilité à l'utilisateur de procéder à des manipulations sur les variables de la créature (biochimie et cerveau), et de créer un conditionnement basé sur ces variables.
Dans les jeux basés sur le Creatures Evolution Engine comme Creatures 3, neurones et dendrites deviennent tous des machines à registres. Ce qui signfie plusieurs registres de mémoire (endroit où l'on peut stocker une donnée), plus un registre de travail. Dans une machine à registres, les deux commandes les plus importantes sont LOAD, qui stocke une valeur dans le registre de travail, et STORE, qui stocke la valeur du registre de travail dans l'un des autres registres.
Les opérations comme ADD utilisent toujours la valeur du registre de travail. L'exemple suivant ajoute la valeur du registre 0 à celle du registre 1 et stocke le résultat dans le registre 2 :
- LOAD 0
- ADD 1
- STORE 2
Le système SVRules ajoute aux machines à registres classiques plusieurs fonctionalités, comme un accès aux système chimique des créatures ou à ses perceptions.
Prenez votre éditeur génétique préféré et jetez un oeil au Lobe du Cerveau ou aux Gènes de localisation du cerveau pour une liste complète (?) des opérations supportées.
Pour en apprendre plus sur le cerveau, un bon site : The Creatures Developer Resource
Note d'un programmeur[]
Le système SVRule fut conçu en réponse à un problème interessant : Comment imposer aux neurones un comportement arbitraire, tout en laissant au processus évolutif la possibilité d'en changer librement, et sans générer au passage une infinité d'erreurs de syntaxes ? Par exemple, imaginez une mutation survenant dans une ligne de code C++ conventionnel du genre : "for (i=0; i<num; i++)". La quasi-totalité des mutations possibles rendraient le code illisible (ex: "fxr (i-0; ibnum; i4+)") et les chances d'une mutation utile (ou seulement même viable) seraient extrêmement basses. Dans le pire des cas, c'est la simulation dans son entier qui planterait. Pour résoudre ce problème, j'ai conçu le système SVRule de telle façon que chaque instruction rédigeable soit valide et utilisable, même si biologiquement inutile. Si un terme était à l'origine le paramètre d'une commande, et que cette commande s'est transformée en une autre qui ne requiert pas de paramètres, alors le terme sera simplement ignoré, et non pas interprété comme une nouvelle commande ou comme une variable. Les détails ne sont pas très importants, mais je pense que cet exemple est représentatif de la différence qu'il y a entre biologie et programmation informatique. La biologie tend à inscrire cette sorte de robustesse dans sa structure même. Digitalgod 12:39, 4 Apr 2005 (EDT)