Враги
Мы можем использовать модификатор, чтобы избежать прохода через вражескую территорию, то есть области, где мы можем быть обнаружены и/или настигнуты врагами. Фиксированная стоимость 'штрафа' добавлена ко всем граням, чей адресат находится на вражеской территории.
Таким образом, если мы хотим полностью избегать обнаружения врагами, мы должны добавить ¥. Точно, какой критерий используется, чтобы 'активизировать' модификатор, зависит от типа врага. Этот простой модификатор 'предотвращения' достаточен для наших целей. Возможно более правильная модель взамен добавила бы штраф при перемещении и в ячейку и из ячейки (подобно основной стоимости местности). Эта стоимость могла бы быть пропорциональной времени, пересечения грани (то есть пропорциональный основной стоимости местности плюс модификатор дороги).Временные изменения игнорируются здесь, то есть враги рассматриваются статическими в течение определения пути. Для обсуждения того, как метод мог бы быть расширен для того чтобы управлять динамическими сценариями, смотри 6.2.1.
В реализации теста, видимость использовалась как критерий того, что транспортное средство обнаружено врагом. Чтобы определить, наблюдается ли врагом транспортное средство используется простая форма трассировки лучей (см. [CLAR90] pp. 228), чтобы проследить 'линию прицела' между наблюдателями (врагами) и объектом (транспортным средством). Рисуйте луч от транспортного средства до каждого наблюдателя и проверьте, если лучи пересекаются местностью. Для этого, мы используем данные растра высоты, чтобы определить наземную высоту. К наземной высоте добавлена специфические 'видимые высоты' различных типов местности (например вода = 0m, редкий лес = 6m, и другие).
5.1.2.6