Halo 2 - Список поведений ИИ
Перевод листа возможных поведений ИИ, взятый из Microsoft Learn. Это не полный перевод, за бортом осталась логика транспорта и ИИ, не являющимся Ковенантом. Пост сделан как шпаргалка для пишущих собственный ИИ (я). Ориг.
GENERAL
- ROOT - Корень древа поведения (всегда включен).
- NULL - буквально "ничего не делать".
- OBEY - Исполнять скрипт.
- GUARD - Стоять и стрелять.
- READY - Запускается перед первым входом в состояние боя.
ENGAGE (вступить в бой)
Исполняется, если противник определен.
- ENGAGE - Корень engage под-дерева.
- FIGHT - Стоять и стрелять. Алсо просчитывает маневрирование, если противник за пределами идеального радиуса оружия.
- MELEE CHARGE - Сблизится с противником и ударить.
- SURPRISE - Если противник повернут спиной, подойти к нему на близкую дистанцию (обычно следует впереди MELEE CHARGE).
- GRENADE IMPULSE - Просчитывает, можно ли бросить гранату (алсо имеет ограничение по времени).
- ANTI-VEHICLE-GRENADE - Швырнуть гранату в транспорт, если ИИ вне транспорта.
- STALK - Простыми словами, ИИ преследует свою цель, но не открывает огонь.
BERSERK (Режим буйства)
Состояние буйства, когда ИИ зачастую выбрасывая дальнобойное оружие начинает сближаться с противником для драки врукопашную.
- LAST MAN BERSERK - Если все союзники моего класса погибли в моей зоне, буйствовать.
- STUCK WITH PLASMA GRENADE BERSERK - Если ко мне прилипла плазма-граната, буйствовать.
PRESEARCH (Перед поиском)
Если ИИ потерял из вида свою цель, то он начинает просчитывать варианты действий перед поиском.
- PRESEARCH - Корень presearch под-дерева.
- PRESEARCH UNCOVER - Запускает search под-дерево (начать поиск).
- DESTROY COVER - Если цель спряталась за разрушаемым укрытием, сломать его.
- SUPPRESING FIRE - Если все возможные варианты действий невозможны, ИИ начнет стрелять в место где видел противника в последний раз, тем самым создавая иллюзию попытки прижать его.
- GREANDE UNCOVER - Выкурить противника гранатой из-за укрытия.
- LEAP-ON-COVER - Если на укрытие, за которым прячется цель можно запрыгнуть, запрыгивай.
SEARCH (Поиск)
Исполняется, если цели давно не видно, или же ИИ решил высунутся из укрытия
- SEARCH - Корень search под-дерева.
- UNCOVER - Найти и выдвинутся на позицию, с которой можно увидеть прячущегося за укрытием противника (не подходя к нему вплотную).
- INVESTIGATE - Выдвинутся на позицию, где противник был виден последний раз.
- PURSUIT-SUNC - Если ИИ ищет одного противника вместе с союзниками, то он подождет их чтобы выдвинутся на поиски вместе.
- PURSUIT - Если после проверки места где ИИ видел противника в последний раз он ничего не находит, то он выдвинется на следующую позицию (при условии что она не просматривается с текущей позиции)
- POSTSEARCH - Исполняется, если ИИ забил на поиск противника. Приказывает вернутся на точку где ИИ находился когда потерял противника из виду.
- COVERME_INVESTIGATE - Исполняется, если ИИ ищет противника вместе с другом. Приказывает другу оставаться на месте и прикрывать ИИ.
SELF-PRESERVATION (Самосохранение)
Набор поведений самосохранения, заставляющих ИИ искать укрытие и защищать себя. Противоположность бегству.
- SELF PRESERVATION - Корень self preservation под-дерева
- COVER - Найти и выдвинутся на позицию, скрытую от моего противника.
- COVER PEEK - Исполняется, если ИИ сидел в укрытии продолжительное время. Приказывает вылезти из укрытия и открыть огонь по противнику. Алсо приказывает вернутся в укрытие, если ИИ получает урон.
- AVOID - Если ИИ находится в зоне поражения гранаты или вражеского транспорта, приказывает найти безопасную позицию и встать на нее.
- EVASION IMPULSE - Приказывает отпрыгнуть в сторону, чтобы избежать вражеского огня.
- DIVE IMPULSE - Если ИИ находится под угрозой быть взорванным гранатой или быть сбитым транспортом, то он должен немедленно отпрыгнуть в сторону.
- DANGER COVER IMPULSE - Если ИИ считает что он в опасности (опасность высчитывается по ряду переменных) то он незамедлительно прячется за укрытием. (Учитывается при запуске ENGAGE под-дерева)
- DANGER CROUCH IMPULSE - Если в опасности, присесть.
- PROXIMITY MELEE - Если ИИ пытается спасти себя, но противник стоит к нему слишком близко, то ИИ попытается ударить его вместо того чтобы убежать.
- PROXIMITY SELF PRESERVE - Если противник ИИ подойдет к нему слишком близко, то запустится SELF-PRESERVE под-дерево. (Учитывается при запуске ENGAGE под-дерева)
- UREACHABLE ENEMY COVER - Если ИИ получает урон от противника, находящегося за пределами его радиуса боя, то ИИ попытается спрятаться от него.
- SCARY TARGET COVER - Если противник повернут лицом, и в курсе существования ИИ, и алсо держит в руках страшное оружие (или является страшным противником) то запустится SELF-PRESERVE под-дерево (Учитывается при запуске ENGAGE под-дерева)
- GROUP-EMERGE -Если помимо ИИ за укрытием прячутся и его союзники,то ИИ будет ждать когда они высунутся из-за укрытия, чтобы высунутся вместе с ними.
RETREAT (Побег)
Состояние паники, когда ИИ пытается сбежать от противника.
- RETREAT - Корень RETREAT под-дерева.
- RETREAT GRENADE - Приказывает ИИ кинуть гранату в противника, перед побегом.
- FLEE - Сбежать от боя за укрытие, попутно проигрывая безумную анимацию бега.
- COWER - Приказывает ИИ сжаться в клубочек от страха, если он сидит за укрытием.
- LOW SHIELD RETREAT - Если щиты на нуле, бежать! (Учитывается при работе ENGAGE под-дерева).
- SCARY TARGET RETREAT - Если противник слишком страшный, бежать! (Учитывается при работе ENGAGE под-дерева).
- LEADER DEAD RETREAT - Уникален для Хряков - если Элит погиб, и рядом с ИИ больше нет Элитов, бежать!
- PEER DEAD RETREAT - Если рядом погиб союзник, бежать. (не 100% срабатывание)
- DANGER RETREAT - Если уровень опасности выше определенного значения, бежать!
- PROXIMITY RETREAT - Если противник слишком близко, бежать!
- CHARGE WHEN CORNERED - Если ИИ некуда бежать и он был зажат противником, то он подбежит к противнику и ударит его.
- SUPRISE RETREAT - Если противник "удивит" ИИ, то ИИ сбежит.
- OVERHEATED WEAPON RETREAT - Если оружие перегрелось, бежать!
AMBUSH (Засада)
Исполняется, если ИИ просидел за укрытием достаточное количество времени, а противник находится неподалеку. Тактика внезапной атаки из-за укрытия.
- AMBUSH - Корень AMBUSH под-дерева.
- COORDINATED AMBUSH - Если союзники собираются атаковать противника, то дождаться их для коллективной атаки.
- PROXIMITY AMBUSH - Если противник находится очень близко, вступить в бой.
- VULERNABLE ENEMY AMBUSH - Если противник уязвим по отношению ко мне (стоит рядом и повернут спиной), напасть.
- NOWHERE TO RUN AMBUSH - Если больше некуда бежать, вступить в бой.
POSTCOMBAT (После сражения)
Исполняется, когда бой окончен и больше нет противников.
- POSTCOMBAT - Корень POSTCOMBAT под-дерева.
- POST-POSTCOMBAT - Корень POST-POSTCOMBAT под-дерева.
- CHECK FRIEND - Преклонить колено рядом с телом союзника, и сказать что то трогательное.
- SHOOT CORPSE - Стрелять в тело врага.
- POSTCOMBAT APPROACH - При POST-POSTCOMBAT, перегруппироваться с союзниками, если ИИ разбросало по карте.
IDLE (Простой)
Рядом никого нет.
- IDLE - Корень IDLE под-дерева.
- WANDER - Если есть небольшая зона для исследования, ходить с одной точки на другую.
- FLIGHT WANDER - Следить за летающими существами.
- PATROL - Ходить по заданному маршруту.
- FALL-ASLEEP - Если ничего не происходит, лечь спать.
SPECIAL (Особые)
- FORMATION - Шакалы формируют построения и маршируют друг с другом.
- GRUNT SCARE BY ELITE - Когда Хряк подходит к Элиту, последний оборачивается и проигрывает анимацию берсерка, тем самым пугая Хряка.
- STUNNED - Отыграть оглушение от рядом взорвавшейся гранаты.
- CURE ISOLATION - Если ИИ оказался за пределами навигационной сетки, то он провернет несколько трюков чтобы залезть обратно.
- DEPLOY TURRET - Если ИИ несет с собой турель, то он развернет её в указанной точке.