«Artificial intellect» игровых персонажей

Современные компьютерные игры типа RPG, shuter или стратегия не могут обойтись без управляемых компьютером персонажей (NPC, монстры, боты). В данной статье я попытаюсь проанализировать модель их поведения и причины того, что AI стал синонимом artificial idiot. Практически все критерии касаются боевого взаимодействия, для мирных разговоров важна только связь харизмы и интеллекта с предопределенными наборами фраз. (Далее «персонаж» компьютерный, «игрок» некто управляемый человеком или его имитатором).

I РАЗУМНОСТЬ

Запрограммированные с ними проще всего. Именно этот тип реализуется практически везде. От простейшей программы «двигайся в стороны врага и бей» до достаточно сложных скриптов типа BG или PLANESCAPE. В идеале должен применяться для големов, скелетонов и (примитивных)роботов. Характер местности обычно не учитывается. Возможно триггерное переключение программ.

Неразумные относительно простая программа. Увидев игрока нападай, игнорируй или убегай. Оценка потенциальной опасности игрока. Возможен звуковой вызов своей стаи. При нападении игрока защищаться.
Разумные обязательно учитывать рельеф и естественные укрытия. Грамотная оценка степени опасности игрока. Мотивация. Более-менее оптимальный выбор оружия. При наличии группы скоординированные групповые действия. Неплохо смотрелась бы прямая реализация армейских уставов.
Триггерные при соблюдении некоторого условия сказать фразу, дать деньги или отойти в сторону. Обычно применяются в играх типа квест и RPG. Лишены AI.

II ОТНОШЕНИЕ К ИГРОКУ

Агрессивные нападают при обнаружении игрока.
Неагрессивные первыми не нападают.
Кооперативные действуют на стороне игрока, расширяя его поле зрения или атакуя нападающих на него.
Пассивные не реагируют на нападение.
III ХАРАКТЕР СОВМЕСТНЫХ ДЕЙСТВИЙ

Хаотичные файрбол в упор по огненному элементалю… это перебор, но… Увидевшие игрока реагируют на него и игнорируют остальных, кастуют или бьют без учета резистенсов.
Одиночные более-менее грамотные действия, но без учета «союзников». Большая вероятность пострадать от дружественного огня. Игрока видят только те, кто реально находятся в зоне прямой видимости, но могут перевести остальных в активное состояние (типа поиск).
Скоординированные видящие игрока сообщают его положение остальной группе и не стреляют друг другу в спину. Могут оказать медицинскую помощь.
Групповые «по уставу» кто-то подползает, другие не дают голову высунуть, третьи с флангов охватывают, имея более-менее четкое представление о взаимном расположении для прошлого и настоящего и точное для войн будущего.

IV СОСТОЯНИЕ АТАКУЮЩЕГО

Берсеркер игнорирует ранения и нападает до победного или иного конца.
Агрессор атака с любой стороны, грамотный выбор целей (типа начать с гранаты по пулемету или сбивания каста магу).
Осторожный стрельба из за укрытия, бэкстаб. Трата ходов на парирование.
Обороняющийся не нападать первым или оставаясь на месте не стрелять до сближения на определенную дистанцию или до входа в запретную зону.
Отступающий по возможности не подставлять спину.
Убегающий покинуть поле боя с максимальной скоростью.

V НЕБОЕВОЕ ПЕРЕМЕЩЕНИЕ

На месте при отсутствии игрока персонаж неподвижен, при потере игрока из поля зрения замирает или возвращается на исходную точку.
Хаотичное движется в произвольном направлении или при входе игрока в локацию оказывается любом месте из некоторого предопределенного списка.
Целенаправленное перемещение из пункта в пункт по определенному маршруту.

Скрытное перемещение не по дороге, уходя от источника шума или затаиваясь и маскируясь.
Целенаправленный поиск в пределах локации зигзагом или на шум, при прямой видимости преследование, при групповом в соответствующем построении типа редкой или частой цепи. При перемещении между локациями (обитаемыми завязан на харизму, дикие чтение следов) с процентной вероятностью определяется направление, в котором искомый ее покинул.

Караул медленное перемещение по определенному периметру, в зависимости от важности объекта тревога поднимается при визуальном обнаружении врага, подозрительном звуке или «последнем хрипе часового». Не обязателно преследуют игрока, могут иметь ограничени максимального удаления от маршрута.

VI РЕСУРСЫ

Ограниченные персонаж имеет характеристики и ограничения сходные с игроком и разумное количество патронов или свитков.
Неограниченные число патронов или магических зарядов неограничено, но выбора нет или он невелик (автомат+нож или посох+пара заклинаний).

VII ВИДИМОСТЬ ИГРОКА

Полная Компьютер всегда знает положение игрока, возможно ограничение типа «в бой вводятся персонажи в определенном радиусе от текущего положения».
Ландшафтно-математическая в зависимости от типа местности и освещения дистанция обнаружения меняется. Возможен круговой или секторный обзор.
Зрительная производится рендеринг с точки зрения персонажей. При возможности обнаружения (видимость нескольких процентов игрока) математически или взяв случайное число (внимательность+настороженность+%видимости) проверить факт обнаружения.

VIII КАРТА

Полная персонаж изначально знает всю карту.
Запоминание карты в процессе прохождения персонаж запоминает расположение объектов и «ориентировочное» время «репопа».
Без карты персонаж не запоминает карту и в процессе движения реагирует только в пределах зоны видимости.

В приведенную схему вписываются практически все персонажи. К сожалению, как правило в самый примитивный вариант. Проверьте…

Добавить комментарий