В игре, которую я разрабатываю для клиента, ключевая концепция игры предполагает перемещение по карте. В этом случае размеры и формы различных стран не имеют значения: переход из одной страны в соседнюю страну считается одним шагом.
Я пытаюсь выяснить лучшую структуру данных для внутреннего представления связей между странами. Для данной страны игра должна знать, какие страны являются смежными, и знать, каким образом игроки могут двигаться, а также чтобы позволить игровому ИИ прокладывать маршруты, определяя возможные пути из одной страны в другую. ИИ также должен оценить, насколько хорошо страна связана, не только с соседними соседями, но и с соседями этих стран и т. Д.
Я выяснил пару возможностей, но они кажутся неуклюжими и неэффективными. Поскольку ИИ нужно будет рассчитать кучу возможных маршрутов, чтобы принимать правильные решения относительно его движения, «неэффективный» весьма проблематичен.
Я подозреваю, что это довольно распространенная головоломка CS, и что есть общее решение, но я не смог найти много путем поиска. Любые предложения приветствуются.
источник
Ответы:
Звучит как график и алгоритм кратчайшего пути
источник
Определенно График. Проверьте это здесь в теории графов , в основном у вас есть узлы и ребра. Узел может содержать 0 или более ребер для других узлов.
Существует множество алгоритмов для вычисления кратчайшего пути (прыжков или расстояния), проверки циклов (более одного способа достичь одного себя) и т. Д.
Теперь, чтобы иметь возможность внедрять эффективные решения, это немного сложнее, но, как всегда, есть способы.
источник
Как уже упоминалось, вам понадобится график, представляющий все возможные связи между странами. Каждое соединение также будет держать расстояние между двумя странами.
Тогда алгоритм поиска пути, такой как A *, может быть использован для определения кратчайшего пути между двумя странами.
Есть также несколько хороших книг об игре ai: Game AI на примере Мэта Бакленда http://www.ai-junkie.com/books/toc_pgaibe.html
или серия Мудрости программирования игр AI. http://www.aiwisdom.com/ Первая книга состоит из нескольких глав о поиске пути.
источник