Дата создания проекта - октябрь 2017.
В данном проекте я, в основном, занимался созданием ИИ. Всего было создано 6 разных типов противников, которых можно разделить на две категории -
атакующие игрока и "атакующие пустоту".
Каждый противник имеет минимум два рейкаста для принятия решений. Для примера разберем поведение скелета.
Скелет имеет два рейкаста: красный вертикальный и белый горизонтальный. Оба рейкаста находятся в нижней части коллайдера со стороны направления движения.
Красный рейкаст смотрит, есть ли под ним поверхность, пригодная для ходьбы, а белый коллайдер смотрит, нет ли перед ним непроходимых препятствий. В противных случаях скелет разворачивается и идет в другую сторону.
Скелет игнорирует игрока, но наносит ему урон при прикосновении.
У орка добавляется дополнительный горизональный рейкаст, смотрящий по направлению движения. Если этот рейкаст натыкается на игрока, орк переходит в состояние атаки.
При помощи этих трех базовых рейкастов в игре сделаны различные виды противников.