2010-03-25 3 views
9

Je développe un jeu avec des zombies qui courent dans un marais. Je veux que les IA aient des fonctionnalités telles que «chasser cette cible» ou «fuir». Une pierre d'achoppement majeure est pathfinding. Y a-t-il un bon moteur de recherche de chemin/IA dans XNA, ou devrais-je rouler le mien?C# XNA: moteur AI?

Quelqu'un at-il une expérience avec ceci: http://www.codeplex.com/simpleAI?

Répondre

4

vous voudrez peut-être chercher des algorithmes A-Star ... here is an article qui en parlent dans le contexte d'un winform, mais mentionne XNA.

4

Réaliser votre propre! Sérieusement.

Je suppose que vous faites ce jeu autant pour le plaisir de codage, comme vous espérez pour la gloire et la richesse? Pathfinding est l'une des bases de l'IA, et est un sujet bien étudié et documenté. C'est une excellente introduction à un domaine dont vous aurez besoin de connaissances dans les futurs projets de jeux.

Le A* Algorithm (comme mentionné par d'autres) est la solution standard à ce problème - mais essayez d'autres approches: ligne de vue, mouvement scénarisé, flocage ... souvent vous pouvez obtenir un comportement intéressant en combinant quelques techniques.

Pour un livre sur le sujet, essayez AI For Game Developers - pas le meilleur sur le terrain, mais certainement une introduction accessible pour le lay-codeur.

Amusez-vous avec les zombies!

0

Le club des créateurs XNA a des échantillons pour Chase and Evade et Flocking.

Je viens juste de commencer sur le chemin, mais ils semblent avoir quelques bonnes ressources sur le site creators.xna.

Je vais utiliser une logique de pathfinding dans mon jeu, l'algorithme A * semble être le gagnant pour moi.

2

Pour tous ceux qui suggèrent A *: vous ne mettriez généralement pas vanille A * dans une partie. Il y a beaucoup d'améliorations et d'extensions pour A * incluant (mais non limité à) des tables IDA * et de transposition, qui améliorent les performances avec une recherche basée sur A *. Vous voudrez peut-être utiliser une bibliothèque pour commencer, mais vous pourrez en fin de compte bénéficier davantage de votre propre implémentation personnalisée, en utilisant vos propres types de données propres à votre application, au lieu de devoir faire la va-et-vient des données. Mais vous aurez besoin de profil pour être sûr.