Ок.
Написал первую версию алгоритма поиска пути AStar.dll. На днях выложу для скачивания.
В планах :
1 - ввести advanced установку параметров для расширенного применения алгоритма (можно будет вводить любые параметры и условия для алгоритма, например - спецефические параметры для преград, "желательные области для посещения NPC", установка стоимости пути, чтобы НПС предпочтительней ходил по дорогам, нежели по козим тропам, вводить любые параметры поиска путей, какие тока вашей душе заблогогорассудицца...=)))
2 - Ускорить алгоритм, введя в него поиск по бинарному дереву. (Хотя уже сейчас алгоритм, справлятся со своей задачей весьма шустро, но скорости много не бывает...=)
3 - Ввести поддержку коллизий 2-х видов (time based, loop based)
4 - Ввести поддержку паралельного движения групп юнитов.
5 - Ввести 2-х а затем 3-х уровневый поиск пути, для еще большей скорости.
ЗЫ В этой библиотеки будет максимально открытая архитектура, так что в 99% случаев эту либу можно будет с успехом внедрить в любой проект. Но за открытость придется платить повышеной сложностью функций и следить за корректной очисткой некоторых важных параметров ячеек карты.
ЗЗЫ Также в либе будет 2 алгоритма поиска это 1 - А* и 2 - Dijstra (Дэйкстра). Они предназначены для разных задач... А* целесообразней использовать когда нужно найти конкретный путь к одной точки. Когда как Дэйкстра способен искать путь к группе точек и находить ближайшую точку и путь к ней. Так например в WarCraft 3 юниты которые собирали золото или дерево искали путь по Дэйкстре - находя ближайшее дерево или прийск. Тогда как все "боевые" юниты искали путь по А*.
Либу выкинул в тему :
http://blitz.pp.ru/forum/showthread....&threadid=3354