вторник, 7 июля 2015 г.

Альтернативный ИИ для NWN (продолжение истории)

Я уже как-то писал о своём желании сделать шустрый ИИ, я его даже на тот момент сделал в базовом виде, но результаты трудов валялись в пыли до появления адекватного модуля, где этот ИИ можно было бы подключить. Когда запустился новый КЛ, Анте сообщил, что будет использовать мой ИИ в любом виде, и он даже неплохо работал, но в результате я всё равно решил его подпилить :)

Итак, что есть на данный момент:
- Скорость. Специальные способности (магия, фиты) кэшируются, группируются и не перепроверяются в бою. Основная функция выбора действия, кажется, не превышает и сотни строк.
- Выбор цели по агро-таблицам. Впрочем, это не отменяет факта, что какой-то моб может использовать свою спецспособность на другом персонаже, продолжая атаковать основную цель.
- Отсутствие выманивания.
- Стелсеры могут использовать hips теневого танцора.
- "Умные" дебафы. Мобы не будут кидать все диспелы в одну цель.
- "Умные" лучники и кастеры. Если их не атакуют, они могут выбегать из мили-радиуса бойцов, чтобы не получать АоО.
- Легкость расширения. Есть моб с особой тактикой/способностью (например, медуза)? Можно задать его поведение отдельным скриптом, при этом сохранив работоспособность прочих систем (агро, например).

Что в планах:
- Проработка общей тактики энкаунтера.
- Частные скрипты поведения для особых мобов. Типа драконов.