tgoop.com/gamedesignercompendium/521
Last Update:
Штучний інтелект противників-людей в The Last of Us №2
Укриття.
Одне з найважливіших та найважчих рішень для ШІ - це вибір укриття. Кожен противник розраховував 20 укриттів довкола себе за допомогою валідації їх розташування та “повернутості” їх до загрози (гравця). Коли 20 укриттів визначені, кожне укриття перевірялося за допомогою 4 променів, направлених на останню позицію гравця з різних куточків. Якщо всі 4 промені блокувалися геометрією - укриття відкидалося.
Другим типом укриттів є список укриттів довкола останньої відомої позиції гравця. Ці укриття перевіряються також за допомогою 4 променів і згодом можуть бути використані противником для перевірки власне позиції гравця і тригеру майбутнього пошуку.
Після отримання списку укриттів кожен противник приймав рішення на основі списку своїх критеріїв:
1. Шлях до укриття. Шлях не повинен бути надто довгим та не повинен мати тривале переміщення в бік гравця (в лоб).
2. Поведінка та роль противника. Різні укриття матимуть різну оцінку у випадку, якщо противник атакує чи панікує та відступає.
3. Укриття не повинно бути зайнятим.
Стелс.
Під час стелсу поведінка противників ділиться на два типи: розслідування і пошук.
Противники мають заскриптовані дії, але щойно гравець робить шум - один із противників тригерить стан розслідування і прямує до найкращої позиції, щоб перевірити шум. Якщо гравця не знайдено - противник повернеться на попередню позицію і продовжить заскриптовану дію чи патрулювання.
У випадку, коли противникам відомо про те, що гравець на локації, - вони перейдуть у режим пошуку. Рівень буде поділений на квадрати. Якщо позиція гравця відома, то всі інші квадрати позначаються порожніми.
Якщо противники не бачать гравця, а знають лише його останнє розташування - з часом сусідні квадрати до колишньої позиції гравця почнуть “заповнюватися” потенційною наявністю гравця. Мапа квадратів розподіляється між противниками, що мають пройти її і зачистити всі квадрати.
Завдяки карті зору всі видимі квадрати для противника автоматично ставали “зачищеними”, якщо гравця немає в полі зору.
Смертоносність.
Відкинуті варіанти: дати противникам багато ХП або ж засипати гравця противниками. Це потенційно руйнувало занурення гравця в гру.
Основним фокусом стало збільшення смертоносності кожного конкретного противника.
У противників важче стріляти через те, що вони займають укриття, але водночас кожен постріл противника, не лише завдає значної шкоди, але й активує анімацію реакції на постріл, що уповільнює персонажа та відбирає керування на долі секунди. Це стало хорошим інструментом для ритму комбата.
Наступний крок - створити постійну загрозу гравцю.
Розробники створили комбат-координатора, що розподіляє ролі між противниками і переконується, що завжди є один противник, який має вигідну позицію і готовий вести вогонь по гравцю.
Ведення вогню цим противником може навіть переривати анімації, щоб бути достатньо смертоносним і унеможливити раш від гравця.
Приклад ролей противників: Flanker, Approacher, Investigator, StayUpAndAimer, OpportunisticShooter (основна роль, що має бути завжди заповнена).
Також розробники визначили, що має бути не більше одного противника, який завжди готовий стріляти, адже це є достатнім покаранням для гравця.
#gamedesign #AI #TLOU #enemy #navigation #combat #stealth
BY Конспект геймдизайнера [GD compendium]
Share with your friend now:
tgoop.com/gamedesignercompendium/521