Я очень мало знаю о разработке игр, и я пытаюсь обдумать алгоритмы поиска путей.
Рассмотрим эту настройку: агент находится на 2D-карте и должен найти кратчайший путь к глобально известному объекту, но у него есть только информация о препятствиях в его локальном поле зрения (т. Е. Известны только непосредственные препятствия, общий макет карты неизвестен ).
Кроме того, каждое перемещение в соседний квадрат стоит дорого, и алгоритм поиска пути должен минимизировать количество ходов.
Вычислительная эффективность также имеет первостепенное значение и важнее точности.
Подходит ли A * для этого варианта использования?
источник
Многие реализации игрового ИИ в этой ситуации предпочитают обманывать, и дают себе полное знание карты, где их человеческий оппонент не имеет этого. Затем вы можете просто применить A * к полной карте.
Насколько разумно это выглядит для управляемых компьютером юнитов, будет зависеть от таких вещей, как лабиринт, подобный картам, и от того, сможет ли игрок со временем выучить макеты карт.
Если это для управляемых игроком юнитов, вы также можете запретить игроку выбирать пункт назначения, который он еще не исследовал, чтобы заставить его исследовать вручную.
источник