D * весьма вовлечен - я не рекомендую пытаться реализовать это. Даже когда проекты хорошо финансируются и разрабатываются умными / опытными людьми, D * lite используется, потому что D * - такая боль, чтобы получить право.
Вас может заинтересовать эта презентация, которая включает в себя обсуждение поиска пути Left 4 Dead:
http://www.valvesoftware.com/publications/2009/ai_systems_of_l4d_mike_booth.pdf
Один из подходов состоит в том, чтобы использовать грубый поиск уровня A *, чтобы получить общий путь для агента, а затем выполнить точный поиск уровня A * для локальной среды агента. Таким образом, вы можете быстро пересчитать детали курса A * поиска, если местность меняется, и затем быстро пересчитать детализацию A * поиска для небольшого сегмента среды. Это не идеально. Он работает до тех пор, пока ваши препятствия не могут блокировать несколько узлов графа с деталями курса, что хорошо для большинства игр. Этот метод я рекомендую, если у вас менее 100 агентов.
Если вы хотите поддерживать сотни или тысячи агентов, вы можете реализовать что-то вроде непрерывного скопления людей. Смотрите это исследование:
http://grail.cs.washington.edu/projects/crowd-flows/
В нем обсуждается метод, основанный исключительно на процессоре, который может поддерживать тысячи участников в динамической среде.
Если вы хотите поддерживать десятки тысяч или сотни тысяч агентов, вы можете реализовать что-то вроде непрерывных скоплений с помощью графического процессора. См. Здесь для соответствующего исследования:
https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/misc/siggraph_asia_08/GPUCrowdSimulation_SLIDES.pdf
Вот видео, демонстрирующее толпы людей в действии:
http://www.youtube.com/watch?v=lGOvYyJ6r1c
(перейдите к 4:10, чтобы увидеть большие динамические препятствия, такие как автомобили и светофоры, затрагивающие сотни людей, идущих по городу.)