Механика стрельбы и укрытий
Тем временем, работа над проектом движется полным ходом и в намеченных планах была достигнута очередная веха. Игровые механики стрельбы юнитов и системы укрытий стали обретать конкретные очертания.
Как работает стрельба противников?
В основе поведения противников лежит принцип автомата конечных состояний. Т.е. все действия каждого отдельного юнита можно описать в виде набор действий, между которыми он может находиться и условий перехода от одного действия к другом.

Как видно из диаграммы на рисунке, Септентрионские солдаты будут искать ближайшего к ним солдата игрока, целиться в него, стрелять, перезаряжаться и так круг за кругом.
Особняком в их поведении стоит действие "addBullet". Как только в неотъемном магазине винтовки заканчиваются патроны, солдат противника заряжает новые патроны из обоймы и возвращается к своему поведению "найти и уничтожить".
Если в любой момент времени у солдата кончаются HP, он проигрывает анимацию смерти и становиться неактивен.
Так как септы играют "от атаки", на всех этапах кроме прицеливания и стрельбы, солдат будет совмещать свои манипуляции с движением к позициям. Пока строго прямо, логику поиска пути им еще не прикрутили :)
Как работает стрельба союзников?
Здесь в основе все тот же автомат конечных состояний. Отличия заключаются лишь в наличии действия "hide", позволяющему солдатам игрока укрыться по сигналу свистка и разветвлению с промежуточным шагом в случае гибели. В зависимости от того, погиб солдат стоя на земле или сидя в траншее, анимации будут отличаться.
