Алгоритм (ы) для поиска движущихся объектов в лабиринте - PullRequest
5 голосов
/ 19 января 2012

A имеет лабиринт и характер, который контролируется игроком, и дрон, который должен найти его (сам по себе).Кто-нибудь знает (эффективный) алгоритм ИИ для того, чтобы сделать что-то подобное?PS Я знаю, что есть несколько алгоритмов поиска пути (например, A *), но, насколько я знаю, они работают только для поиска пути между двумя узлами, которые «не двигаются» (это будет работать, если мой персонаж стоит на месте, ноэто явно не тот случай).

1 Ответ

1 голос
/ 19 января 2012

Если «начальная точка» - это место, где находится дрон, а «конечная точка» - наткнуться на игрока, лучшее, что вы можете сделать, используя только «стандартный» алгоритм, - это периодически использовать A * и от этого определить, куда должен двигаться беспилотник.

По мере приближения к игроку вы будете производить вычисления быстрее и быстрее, поскольку пространство поиска в теории меньше.

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

По сути, у вас do есть фиксированное пространство поиска для каждого "кадра", но вам просто нужно запустить его каждый кадр, чтобы решить, что делать.

Вероятно, есть поправки к A *, которые охватывают незначительные возмущения между пробежками, но я не знаю ничего о моей голове.

...