Я разрабатываю игру с зомби, обтекающим в болоте. Я хочу, чтобы AIS имел функциональность как "преследование эта цель" или "убежал". Главный камень преткновения является новаторским. Существует ли хороший новаторский механизм / механизм AI в XNA, или я должен прокрутить свое собственное?
Делает у любого есть любой опыт с этим: http://www.codeplex.com/simpleAI?
вы можете поискать алгоритмы A-Star ... вот статья , в которой говорится об этом в контексте winform, но упоминает XNA.
Брось свой! Шутки в сторону.
Я так понимаю, вы делаете эту игру столько же для удовольствия от программирования, сколько и для славы и богатства? Поиск пути - одна из основных составляющих ИИ, хорошо изученная и задокументированная тема. Это отличное введение в область, в которой вам понадобятся знания в будущих игровых начинаниях.
Алгоритм A * (как упоминалось другими) является стандартным решением этой проблемы, но попробуйте другие подходы: прямая видимость, движение по сценарию, группировка ... часто можно получить интересные поведение от сочетания нескольких техник.
Чтобы получить книгу по этой теме, попробуйте AI For Game Developers - не лучший в данной области, но, безусловно, доступное введение для непрофессионалов.
Развлекайтесь с зомби!
http : //xnapathfindinglib.codeplex.com/
http://swampthingtom.blogspot.com/2007/07/pathfinding-sample-using.html
В клубе XNA Creators есть образцы для Chase and Evade и Flocking .
Я только начал свой путь, но у них, кажется, есть хорошие ресурсы на сайте creators.xna .
Я буду использовать логику поиска пути в своей игре, алгоритм A * кажется мне победителем.
Всем, кто предлагает A *: обычно вы не добавляете ванильную A * в игру. Существует множество улучшений и расширений для A *, включая (но не ограничиваясь) IDA * и таблицы транспонирования, которые повышают производительность поиска на основе A *.
Возможно, вы захотите использовать библиотеку, чтобы начать работу, но в конечном итоге вы можете получить больше пользы от собственной пользовательской реализации, используя собственные типы данных, присущие вашему приложению, вместо того, чтобы перемещать данные туда и обратно. Но для уверенности вам потребуется профиль.