Это связано с тем, что скорость юнита двигающегося по диагонали при проекции на вертикальную(или горизонтальную) ось будет ровняться скорости юнита двигающемуся просто по вертикали (или горизонтали). Но если вспомнить геометрию:
Спойлер 1:
то можно убедиться, что скорость юнита по диагонали примерно в 1,4 раза выше, чем при его движение по клеткам в прямолинейном направлении.
Приведу два примера, в которых это заметно. Во первых, представим что на перехват нашему путнику (на рисунке слева) высылается солдата, при этом перемещение на одну клетку условно будем считать перемещением на 1 км:
Спойлер 2:
В случае с прямоугольной сеткой в точке встречи путника и солдат они проходят одинаковое расстояние равное 10 км (10 клеток). Что является ложью, т.к. по картинке видно, что путник прошёл 14 км (по уравнению приведённом выше). В защиту гексагональной сетки, на картинке видно, что существует разница между в количестве пройденных клеток путника (15) и солдата (12), что ближе к действительности. (замечу, что сетку я нарисовал не правильную, но переделывать уже лень).
Во втором случае, представьте, что у нашего юнита есть 3 очка хода:
Спойлер 3:
Как видно, уже в этом случае появляется неоднозначные ситуация, когда юниту для достижении определенной точки потребуется разное кол-во очков, в зависимости от выбора пути.
Надеюсь убедил)))
Да, движение выглядит не самым лучшем образом, но как я и показал выше, он и должен двигаться медленнее, и не в 2 или 3 раза, а в примерно 1,4 раза.
В случае пошаговых действий, вопрос с сеткой всё равно актуален, но EGM выводит задачу на другой уровень)))
Социальные закладки