Qu’est-ce que la planification ? Planifier = Décider d’un plan À partir d’une base de connaissances sur les opérateurs possibles, on simule un grand nombre de combinaisons d’actions possibles. L’algorithme traditionnel consiste à faire une recherche dans un graphe pour arriver à un but. On aime voir les comportements des PNJ comme étant orienté- but.
Quelques exemples : Pathfinder, le robot explorateur de la NASA Aéroport O’Hare de Chicago FEAR et NOLF2, jeux développés par Monolith Productions
Rappel de quelques concepts : Plan Un plan est une séquence d’actions. On part d’un état initial pour arriver à un état final : le but. Action Étape simple, souvent atomique, contrôlant le personnage pour faire quelque chose. Correspond à une transition dans une machine à états-fini. Chaque action est définie par ses préconditions et ses postconditions (effets). But Une condition, ou un ensemble de condition, qu’un personnage veut satisfaire.
État de l’environnement On a parlé d’états dans une recherche d’un plan. Pour définir un état, un PNJ opère avec des senseurs le renseignant sur : son état interne l’état de l’environnement qui est connu partiellement, dynamique et parfois même hostile, d’où une incertitude sur l’état courant et dans les effets des actions.
Parcours du graphe d’états Recherche arrière dans un espace d’états On se sert de l’algorithme A*
Avantages Comportements complexes, non prévisibles et non répétitifs Adaptation dynamique Personnages plus crédibles Au niveau de l’intelligence du personnage
Avantages Pas obligé de penser à tous les cas de figure possible Actions et buts plus courts et plus faciles à écrire Totalement réutilisable Au niveau de la programmation
Exemple concret Dans NOLF2 (No One Lives Forever 2), FPS basé sur l’espionnage, il y a environ : Une vingtaine de buts Une cinquantaine d’actions Cela suffit pour avoir un comportement plus réel : Un garde ne va plus simplement faire sa ronde en suivant un tracé…