D * дуже задіяний - я не рекомендую намагатися його реалізувати. Навіть коли проекти, які добре фінансуються та розробляються розумними / досвідченими людьми, використовується D * lite, тому що D * такий біль, щоб виправитись.
Можливо, вам буде цікава ця презентація, яка включає дискусію щодо проходження маршруту лівих 4 мертвих:
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/
У ньому йдеться про метод, заснований на процесорі, який може підтримувати тисячі акторів в динамічному середовищі.
Якщо ви хочете підтримати десятки тисяч або сотні тисяч агентів, тоді ви можете реалізувати щось на зразок безперервної натовпу за допомогою GPU. Тут див. Відповідне дослідження:
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, щоб побачити великі динамічні перешкоди, як автомобілі та крадіжки, які впливають на сотні людей, які гуляють по місту.)