Выводы из еще одного не слишком-то продуктивного дня:
1. Я не очень.
2. Стартовый нод - специальный кейс и обрабатывать его можно отдельно, дополняя доступные статические связи самого нода парой динамических. Сильно делу это не повредит. Во всех остальных нодах не то чтоб нужно было что-то так уж изобретать, там движение идет от края.
3. У меня помимо стандартной эвристики (расстояние_до + пройденный_путь) есть перевес нодов, чтоб те которые с правильной стороны были более привлекательными. Надо в нем баг поправить кстати, который я сейчас нашел умозрительно. Но не суть. Суть в том, что увеличивая бонус/штраф можно сделать так, что ИИ будет ссать переходить эту условную линию разделяющую карту. На картинке пример между +-20 и +-60 условных очков веса.
4. И эта линия обусловлена желательным направлением "носа" на финише. Что конечно хорошо. Но я беру это направление ручками. А откуда ему взяться у ИИ? И вот тут начинается механика игры, о которой я чутка как-то подзабыл. См. пункт 1.
5. Выходит интересное...
6. Раз мы хотим, допустим, не вылезать на врага параллельно линии огня или посмотреть на него поближе, но так чтоб сразу потом свалить. То вместе с направлением, а может и вместо направления, должна быть развесовка нодов учитывающая наши текущие страсти и устремления.
7. Движение у меня медленное, расстояния большие, поэтому заранее высчитать путь кажется отличной идеей. Однако, в целом ситуация таки более динамичная. Т.е. путь то я найду, или не найду, а веса уже сместились.
8. И вот мы подошли к тому, что задача то не искать путь, а генерировать поведение и желательно близкое к натуральному. Т.е. реально проще дать боту просраться по быстрому, нежели заставлять его учитывать все тонкости. И! И хотя бы понять какие тонкости учитывать все же надо уже по результатам. Производительность не бесконечная.
9. Потому что идеи вроде "а пусть будут прыжки через один нод" хороши. Но только если работают. А вот работают ли - вопрос.
10. Я кончил.