Comment rendre l'IA complexe gérable? [fermé]

11

Dans le passé, j'ai utilisé des systèmes simples comme les machines à états finis (FSM) et les FSM hiérarchiques pour contrôler le comportement de l'IA. Ce modèle se désagrège très rapidement ou tout système complexe.

J'ai entendu parler des arbres de comportement . Ils semblent être la prochaine étape évidente, mais je n'ai pas vu d'implémentation fonctionnelle ni vraiment essayé.

Quels autres modèles peuvent rendre les comportements complexes de l'IA gérables?

Tetrad
la source
J'ai également entendu dire qu'il existe plusieurs façons de gérer les machines d'état
jokoon
1
C'est une question assez vague. Il existe de nombreuses techniques pour gérer une IA «complexe», mais la meilleure pour une situation donnée peut être différente d'une autre situation. J'ai implémenté une IA assez complexe en utilisant uniquement des listes d'actions comportementales, mais cette solution ne fonctionnerait pas pour un RTS; les techniques que j'ai vues utilisées dans les jeux RTS étaient incroyablement complexes mais toujours élégantes, mais elles seraient presque sans valeur dans tout autre type de jeu. Si vous avez en tête un type de jeu ou d'IA spécifique, vous obtiendrez peut-être des réponses plus pertinentes et perspicaces si vous dites ce que c'est.
Sean Middleditch

Réponses:

3

Les arbres de comportement sont un excellent moyen de gérer l'IA, et Ai Game dev est le meilleur endroit pour en savoir plus! Il existe des tonnes d'exemples d'implémentation dans des endroits comme Codeplex, ou même la propre implémentation des moteurs Sandbox d'AIGD (qui est certes assez complexe et peut être difficile à suivre).

L'année dernière, lors de la conférence sur l'intelligence artificielle, il y avait beaucoup d'excitation à propos des planificateurs , mais cette année, beaucoup d'entre eux étaient tombés. Le meilleur conseil semblait être de commencer simplement. L'ensemble des 20% du travail pour vous amener à 80%, la chose semble tout à fait vraie dans la plupart des cas

Cubed2D
la source
2

Une chose que je pense est importante est de savoir pourquoi un agent veut accomplir quelque chose de la façon dont il le fait. Les planificateurs d'action axés sur les objectifs le font bien, mais il existe également d'autres solutions. Cela vous donne une grande flexibilité pour la construction d'agents, car vous pouvez choisir parmi un ensemble d'objectifs et un ensemble d'actions.

Les arbres de comportement sont conçus pour englober toute la solution - la prise de décision ainsi que les actions - et en tant que tels peuvent être difficiles à maintenir.

tenpn
la source
2

Une technique que vous devriez connaître dans tous les cas est l'approche par liste d'actions. Au niveau le plus simple, c'est juste une liste d'objets d'action, dont chaque objet d'action a sa méthode update () appelée chaque trame. Cependant, vous pouvez rapidement développer cela pour autoriser des actions de blocage, plusieurs pistes d'actions, des groupes d'enfants, etc. À peu près tout ce que vous pouvez créer avec un FSM de haut niveau peut être implémenté de manière plus modulaire, flexible et débogable avec une action liste en utilisant des actions de comportement.

En plus d'être une technique utile pour gérer toute l'animation, la recherche de chemin et d'autres "trucs" divers que vos personnages peuvent faire, il est trivial de mettre en œuvre un système de prise de décision basé sur les priorités en créant des actions de comportement.

Vous trouverez quelques notes sur la façon de les utiliser dans ce diaporama: http://sonargame.com/2011/11/01/new-game-slides/

Je suis presque sûr qu'il y a également eu des articles à ce sujet dans la série AI Programming Wisdom.

Sean Middleditch
la source