Создание не алгоритмического AI противника - PullRequest
0 голосов
/ 16 октября 2011

Я сейчас нахожусь в процессе создания объекта ИИ для моей игры на основе тайлов. Игра включает в себя AI-персонажа, который перемещается к спрайту игроков, чтобы нанести урон. В настоящее время я использую:

        If Ai.SpriteRectangle.X < _sprite.SpriteRectangle.X Then
            MoveRight()
        ElseIf Ai.SpriteRectangle.X > _sprite.SpriteRectangle.X Then
            MoveLeft()
        ElseIf Ai.SpriteRectangle.Y < _sprite.SpriteRectangle.Y Then
            MoveDown()
        ElseIf Ai.SpriteRectangle.Y > _sprite.SpriteRectangle.Y Then
            MoveUp()
        End If

Это довольно детерминистично и я бы не назвал ИИ. Где бы я стоял, если бы хотел создать неалгоритмического противника, который научится избегать (уклоняться) огненных шаров, выпущенных в них Игроком? Есть ли у них какие-либо ресурсы и т. Д. Может быть, с помощью генетического алгоритма ...

Я планирую изучать искусственный интеллект в университете, но хотел бы познакомиться с ним раньше.

1 Ответ

3 голосов
/ 16 октября 2011

Я могу порекомендовать вам AI Junkie , в частности, раздел об агентах. Судя по уровню вашего вопроса, это кажется хорошей отправной точкой: просто создайте элементарный конечный автомат, чтобы сгруппировать поведение вашего ИИ. Имея это в виду, вы можете добавить более изощренное поведение (основные, такие как «следовать», «подход», «уклонение» и т. Д.).

После того, как все эти базовые вещи сработают, вы можете попытаться добавить больше изощренности к ИИ, но имейте в виду, что добавить полезные генетические алгоритмы и нейронные сети очень сложно. По моему мнению, на данный момент это невозможно (особенно для небольших проектов), поскольку умно созданный, жестко запрограммированный ИИ даст гораздо лучший игровой опыт.

Сайт будет предлагать первые идеи по всем этим вопросам (обратите внимание, что для каждого раздела есть несколько страниц: это может быть неясно изначально). Код написан на C, но я думаю, что у вас не возникнет никаких проблем. Наконец, рекомендуется книга Мат Бакленда (автор сайта) - «Программирование ИИ для игр на примере» - для того, чтобы дать краткое введение в предмет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...