Уклонение, процесс уклонения, является противоположностью преследования. Вместо того, чтобы пытаться уменьшить расстояние до цели, мы стараемся максимально ее увеличить.
Это занимает много времени, одновременно уклоняясь от нескольких объектов. Я использую BFS здесь. Чтобы сделать это быстрее, какие алгоритмы я должен использовать?
algorithm
ai
game-mechanics
Md Mahbubur Rahman
источник
источник
Ответы:
Я предлагаю вам использовать поведение рулевого управления для имитации этих типов поведения. Смотрите эту страницу для примера уклончивого поведения, реализованного таким образом.
Основная идея заключается в том, что вы рассматриваете только простые свойства, такие как векторы положения и скорости вашей жертвы и хищников, чтобы вычислить желаемое изменение этих свойств за линейное время. Это приводит к отзывчивому, но реалистичному поведению.
Однако это происходит за счет того, что не учитываются другие факторы, такие как цели более высокого уровня (например, положение бонусов) или положение статических препятствий, как при поиске пути. Они могут быть приняты во внимание, комбинируя подход «Поведение рулевого управления», например, с потенциальными полями (см. « Использование потенциальных полей в сценарии стратегической игры в реальном времени» (учебное пособие) ) или определением пути (например, метод карты коридоров ). В последнем случае вы хотите уменьшить частоту обновления (и довериться поведению рулевого управления, чтобы компенсировать любые ошибки, которые могут возникнуть из-за этого), или выполнить частичное перепланирование, возможно, в сочетании с более иерархическим подходом (например, почти-оптимальным иерархическим поиском путей). (HPA *) .
Если вы хотите получить более конкретный ответ, улучшите свой вопрос, предоставив более подробную информацию о вашей проблеме. Например, рассмотрите описание вашей игры и количество NPC, о которых мы говорим.
источник