Texte & documents
Nombres & calcul
Données & formats
Sécurité
Développement & DevOps
Intelligence artificielle
Finances
Santé et bien-être
Productivité
Jeux et divertissement
Multimédia & design
Entreprise
Guide d'utilisation
L'animal de compagnie : une machine à états dont tu t'occupes

L'animal a une humeur (l'état) et celle-ci change pour deux raisons : ce que tu fais (les boutons sont des événements) et ce qui lui arrive (ses besoins franchissent un seuil). Le même bouton fait des choses différentes selon l'humeur : jouer réjouit celui qui s'ennuie et met en colère celui qui dort, et le nourrir sans qu'il ait faim finit en indigestion. Le diagramme met en lumière l'humeur actuelle, ses sorties et la dernière flèche déclenchée.

Le donjon : planifier, c'est chercher

Un héros avec une mission : prendre la clé, ouvrir la porte, prendre le trésor et sortir. Il planifie avec GOAP : il cherche la chaîne d'actions la moins coûteuse et, si quelque chose échoue (un garde le voit), il replanifie. Les gardes ont une machine à états : ils patrouillent, se méfient s'ils entendent quelque chose, poursuivent s'ils le voient (cône de vision, un mur bloque la vue) et fouillent le dernier endroit où ils l'ont vu. Augmente le coût du combat et regarde comment le plan change. Dans Tu joues, clique sur une case et le héros s'y rend.

La maison : comment il décide quoi faire

Un personnage avec faim, sommeil et hygiène (et amusement, si tu l'ajoutes) vit dans une maison, comme dans Les Sims. Chaque objet annonce ce qu'il apporte (le frigo réduit la faim) et le cerveau choisit. Au-dessus du personnage, une bulle avec ce qu'il pense ; en dessous, les barres avec leurs repères et la frise temporelle (clique dessus pour revenir à ce moment). Les quatre à la fois montre la même journée avec les quatre cerveaux, et les défis se vérifient tout seuls. Le lien conserve le cerveau, la graine, les paramètres et le tick.

Mode d'emploi

Un personnage qui a faim et sommeil vit sur une carte avec de la nourriture, un lit, des abris et des ennemis qui patrouillent et le poursuivent s'ils le voient. Choisis avec quel cerveau il décide et clique sur Lire. Tu peux changer de cerveau ou toucher à ses paramètres sans arrêter : le monde continue et seule la façon de décider change. Dessous, la trace : pourquoi il a fait ce qu'il a fait pendant ce tick.

Les quatre cerveaux

Machine à états : un état par action et des flèches avec condition ; simple, mais chaque nouvelle action demande des flèches depuis et vers toutes les autres. Arbre de comportement : des priorités ; à chaque tick on le parcourt depuis le haut et la première branche qui peut l'emporte. Utilité : chaque action est notée avec une courbe de son besoin et celle qui a le plus de points gagne, comme dans Les Sims. GOAP : planifier, c'est chercher ; un A* entre des états du monde (et non entre des cases) trouve la chaîne d'actions qui remplit l'objectif le plus urgent.

Les allers-retours

Si une décision dépend d'un seuil et que le besoin oscille autour de lui, le personnage fait des allers-retours entre deux actions. Chaque cerveau a son frein : l'hystérésis dans la machine à états et dans GOAP (entrer avec un seuil et sortir avec un autre plus bas), se souvenir de la tâche en cours dans l'arbre, et l'inertie dans l'utilité (des points en plus pour ce qu'il faisait déjà). Retire-les et regarde les « allers-retours » augmenter.

Ajouter une action : boire

Active la soif et regarde le tableau « Ce qu'il faut ajouter » : dans la machine à états, un état et trois flèches ; dans l'arbre, une branche de trois nœuds ; dans l'utilité, une courbe ; dans GOAP, une action et un objectif, et le planificateur fait le reste. Avec beaucoup d'actions, c'est la machine à états qui grossit le plus mal.

Ennemis : où ils patrouillent et comment ils voient

Avec Placer des ennemis, clique sur la carte à l'endroit où une patrouille commence et où elle fait demi-tour (jusqu'à 6) ; cliquer sur une extrémité la supprime. Voient autour d'eux est la perception la plus simple : quiconque se trouve à quelques pas. Voient dans un cône est celle des jeux d'infiltration : uniquement ce qu'ils ont devant eux, jusqu'à une certaine distance et avec ligne de vue (un mur la bloque). Par derrière, tu passes sans être vu. Compare les morts avec l'une et l'autre.

Emporter l'arbre dans un jeu

Avec l'arbre de comportement choisi, Copier pour BehaviorTree.CPP fournit l'arbre dans le XML de BehaviorTree.CPP v4, la bibliothèque C++ (et ROS 2) utilisée par de nombreux jeux et robots ; il s'ouvre dans son éditeur, Groot2. Les conditions sont des ScriptCondition sur le blackboard (hunger, fear…) et les actions des nœuds propres que le jeu programme.

IA de jeux vidéoQuatre cerveaux pour un personnage : états, arbre, utilité et GOAP
IA de jeux vidéoLe même personnage avec quatre cerveaux : machine à états, arbre de comportement, utilité et GOAP
Faim35
Sommeil25
Hygiène20

Repères : vert, là où il la lâche (seuil − hystérésis) ; noir, là où il s'en occupe (seuil) ; rouge, urgent (interrompt ce qu'il est en train de faire).

se promenermangerdormirprendre une douche
Tick 0
Accidents 0Ticks dans l'urgence 0Allers-retours 0

Les quatre cerveaux en même temps

Le même personnage dans la même maison, avec la même graine et les mêmes paramètres : seule la manière de décider change.

Tick 0 / 500
Machine à états
Accidents 0Dans l'urgence 0Allers-retours 0
Arbre de comportement
Accidents 0Dans l'urgence 0Allers-retours 0
Utilité
Accidents 0Dans l'urgence 0Allers-retours 0
GOAP (planifier)
Accidents 0Dans l'urgence 0Allers-retours 0

Défis

Avec la machine à états et l'hystérésis à 0, combien d'allers-retours y a-t-il en 500 ticks ?

« Préparer » s'en charge : lance Play jusqu'au tick 500 et regarde le compteur.

Ajoute le divertissement : combien de NOUVELLES flèches faut-il à la machine à états ?

Compte celles qui partent de chaque état et pense à celles qui arrivent au nouveau.

Sans freins (hystérésis 0, sans finir ce qui est commencé, inertie 0), quel cerveau passe le moins de ticks dans l'urgence sur 500 ?

« Préparer » enlève les freins ; ensuite « Les quatre à la fois ».

Cerveau

Est dans l'état se promener. Ses flèches, dans l'ordre (la première qui est remplie se déclenche) :

  • → manger si Faim > 50 (35)
  • → dormir si Sommeil > 50 (25)
  • → prendre une douche si Hygiène > 50 (20)
Ses paramètres (appliqués en continu)
Ce qu'il faut ajouter à chaque cerveau pour le divertissement
Machine à états12 → 20+8
Arbre de comportement11 → 14+3
Utilité4 → 5+1
GOAP (planifier)6 → 8+2