Моды. Искусственный интеллект окружения

RU EN +

Искусственный интеллект в старых играх… Это не способность компьютера на равных общаться с игроком, а скорее… создание имитации осмысленных действий персонажей или окружения. Давайте рассмотрим несколько примеров.


Патрулирование (перемещение по определённой траектории)

Нам нужно, чтобы персонаж (улитка, преподаватель или ученик) двигался по определённой траектории. Наши действия:

  1. Расставить точки патрулирования (NavigationPoint – PatrolPoint). Например, 4 штуки – по углам воображаемого прямоугольника.
  2. Указать каждой точке патрулирования на следующую точку патрулирования.

Свойства – PatrolPoint – NextPatrol = Имяследующейточки_патрулирования.

Имена всех объектов можно узнать здесь: Свойства – Object – Name

Например, у ваших точек патрулирования выставились такие имена: PatrolPoint11, PatrolPoint12, PatrolPoint13, PatrolPoint14.

Для PatrolPoint11 указываем следующей PatrolPoint12, для PatrolPoint12 – PatrolPoint13, для PatrolPoint14 – PatrolPoint11.

  1. Поставить персонажа как можно ближе к одной из точек патрулирования. Для примера, возьмём улитку (OrangeSnail).
  2. В свойствах улитки задаём:

patrol – bLoopPath = True (бесконечно двигаться по указанной траектории)
PatrolPoints – firstPatrolPointObjectName – имя_ближайшей патрульной точки, например: PatrolPoint11.
PatrolPoints – bGoToClosestPatrolPoint = True

Можно поэкспериментировать с типом патрулирования (patrol – ePatrolType). По умолчанию это PATROLTYPE_PATROL_POINTS (патрулирование по патрульным точкам). Но здесь нужно быть осторожнее, так как если параметры выставлены неправильно, то персонаж либо стоит на месте, либо застревает в углах и стенах.