Самый быстрый подход к обнаружению и перемещению нескольких объектов ИИ по заданному пути? - PullRequest
1 голос
/ 29 мая 2011

Я сейчас работаю над игрой, в которой у меня будут динамически выстроены пути, по которым несколько объектов ИИ будут «прогуливаться». Я буду обнаруживать / перерисовывать путь только при вводе пользователем, но я все еще спорю о самом быстром способе, чтобы обновить движение многих объектов ИИ, "идущих" вдоль / вверх / вниз по заданному пути. Подумайте, например, о паке, но уровень динамичный. Прямо сейчас я склоняюсь к созданию врагов в связанном списке конечных классов и перебираю связанный список, вызывая функцию в каждом из объектов ИИ для построения следующего движения по пути. Не уверен, что это лучший подход, в поисках идей. :) Спасибо!

1 Ответ

3 голосов
/ 29 мая 2011

Похоже, у вас есть несколько экземпляров, следующих по одному и тому же пути; Если это так, то вам может быть полезно рассчитать путь от самого дальнего объекта, а затем повторно использовать результаты этого расчета для всех ближайших экземпляров. По сути, есть PathMemoizer, который имеет pathFrom (myLocation: Location): List (или любой другой). Вычислите самый дальний путь один раз, а затем попросите всех позвонить:

if(pathMemoizer.pathFrom(this.myLocation() ) == null) { 
   pathMemoizer.expensivePathCalculation(this.myLocation()); 
}
mySteps = pathMemoizer.pathFrom(this.myLocation());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...