Между двумя я бы выбрал D *. D * определенно предполагает наилучший путь, но если встречаются препятствия, то пересчитывается. Это означает, что у каждого крипа может быть свой собственный вид пути выхода, который обновляется, когда крип сталкивается с препятствиями.
Такие предположения о лучшем пути с корректировками поведения немного более реалистичны, как если бы вы или я шли по пути, мы не избежали бы препятствий, прежде чем узнали о них. Это также хорошо учитывает пересчет пути в случае, если кто-то (игроки) строит новую башню. Если вы хорошо уравновешиваете расширение открытых узлов, у вас могут даже появиться крипы, обходящие обе стороны башни в центре, расположенном в лучшем пути.
Однако, если вы действительно хотите, чтобы это было весело, используйте метод обучения, основанный на поиске лучшего пути. Гораздо интереснее, чем другие решения. Чтобы увидеть пример, посмотрите на что-то вроде antbuster
. Возможно, настолько интересно, что он не совсем вписывается в стандартный жанр игры Tower Defense.