А может стоит рассмотреть задачу с другой точки зрения?
Зачем строить полностью траекторию от А до В, если спустя какое-то время конфигурация карты изменится?
Достаточно рассматривать только зону вокруг персонажа в пределах которой он за этот тик времени (интервал между изменением карты) может переместиться, и находить на периметре этой зоны точку, максимально приближенную к точке В.
Пусть в этом направлении не стоит двигаться в данный момент, но ведь спустя один тик ситуация может измениться, и тогда мы будем находиться ближе к точке В, нежели пошли бы в обратную сторону по оптимальному на тот момент маршруту.
Может вообще не стоит двигаться, если текущий маршрут уведет от точки В дальше, чем сейчас, лучше подождать пока поле "перестроится"..
Просто перестановка поля может заставить персонажа двигаться туда-сюда теряя время, что никак не будет оптимальным, а если не просчитывать маршрут до конца, то мы в любом случае будем понемногу приближаться к цели..
Маленькая придирка - надо бы еще уточнить что подразумевается под "оптимальным" путем.
Самый быстрый или самый короткий?
Обычно короткий ищется, но раз некоторые круги только замедляют, значит надо на время ориентироваться, а не на дистанцию?
Зачем строить полностью траекторию от А до В, если спустя какое-то время конфигурация карты изменится?
Достаточно рассматривать только зону вокруг персонажа в пределах которой он за этот тик времени (интервал между изменением карты) может переместиться, и находить на периметре этой зоны точку, максимально приближенную к точке В.
Пусть в этом направлении не стоит двигаться в данный момент, но ведь спустя один тик ситуация может измениться, и тогда мы будем находиться ближе к точке В, нежели пошли бы в обратную сторону по оптимальному на тот момент маршруту.
Может вообще не стоит двигаться, если текущий маршрут уведет от точки В дальше, чем сейчас, лучше подождать пока поле "перестроится"..
Просто перестановка поля может заставить персонажа двигаться туда-сюда теряя время, что никак не будет оптимальным, а если не просчитывать маршрут до конца, то мы в любом случае будем понемногу приближаться к цели..