Довольно странно выглядит задержка при повторном поиске пути противником (судя по видео) Между ними пара клеток, путь находится за несколько итераций и это обычно занимает микросекунды. Стоит поверить, правильно ли работает алгоритм, вдруг он сканирует всю карту. Хотя и в этом случае задержка большая.
Скорее всего там сказывается 400 мс. задержка в методе idle() в контроллере моба. Метод вызывается когда моб ожидает игрока (тот, например, не раскрыл ещё карту) или потерял из "поля зрения" - в смысле ушёл с первоначальной позиции. Провёл замеры - там нулевая задержка в обычном поиске и есть сравнительно небольшая в моменты, когда между мобом и игроком есть препятствие. Если очень заморочиться, то можно и бенчмарки написать с полной статистикой скорости. :)
Довольно странно выглядит задержка при повторном поиске пути противником (судя по видео) Между ними пара клеток, путь находится за несколько итераций и это обычно занимает микросекунды. Стоит поверить, правильно ли работает алгоритм, вдруг он сканирует всю карту. Хотя и в этом случае задержка большая.
Скорее всего там сказывается 400 мс. задержка в методе idle() в контроллере моба. Метод вызывается когда моб ожидает игрока (тот, например, не раскрыл ещё карту) или потерял из "поля зрения" - в смысле ушёл с первоначальной позиции. Провёл замеры - там нулевая задержка в обычном поиске и есть сравнительно небольшая в моменты, когда между мобом и игроком есть препятствие. Если очень заморочиться, то можно и бенчмарки написать с полной статистикой скорости. :)