Если «начальная точка» - это место, где находится дрон, а «конечная точка» - наткнуться на игрока, лучшее, что вы можете сделать, используя только «стандартный» алгоритм, - это периодически использовать A * и от этого определить, куда должен двигаться беспилотник.
По мере приближения к игроку вы будете производить вычисления быстрее и быстрее, поскольку пространство поиска в теории меньше.
Используя это, может дать игроку возможность найти набор позиций, которые при перемещении между ними приводят к зависанию дрона при движении вперед и назад, но такие оптимизации специфичны для конкретной ситуации, и общий алгоритм их не включает.
По сути, у вас do есть фиксированное пространство поиска для каждого "кадра", но вам просто нужно запустить его каждый кадр, чтобы решить, что делать.
Вероятно, есть поправки к A *, которые охватывают незначительные возмущения между пробежками, но я не знаю ничего о моей голове.