NPC та Вороги
Від простих манекенів до складних, наче справжніх особистостей, та як ШІ "оживляє" персонажів
1. Основи: Пошук Шляху та Машини Станів (FSM)
На базовому рівні, ШІ в іграх — це про прийняття рішень. Найперше рішення: "Як мені дістатися з точки А в точку Б?". Тут в гру вступає **Пошук Шляху (Pathfinding)**.
Найвідоміший алгоритм — це **A* (A-star)**. Він дозволяє NPC знаходити найкоротший шлях, оминаючи перешкоди. Коли ваш компаньйон у *Skyrim* оббігає скелю, щоб наздогнати вас, — це працює A*.
Але що робити, коли NPC прибув? Для цього роками використовували **Машини Скінченних Станів (Finite State Machines - FSM)**. Це проста логіка:
- СТАН 1: "Патрулювати" (ходити по точках).
- УМОВА: Побачив гравця.
- СТАН 2: "Атакувати" (бігти до гравця і стріляти).
- УМОВА: Гравець зник з поля зору.
- СТАН 3: "Шукати" (йти до останньої відомої позиції гравця).
Це надійно і просто, але дуже "роботизовано". Ворог або атакує, або патрулює, без проміжних дій.
2. Прорив: Дерева Поведінки (Behavior Trees)
FSM стають дуже безладними, якщо додати багато станів (наприклад, "Низьке здоров'я", "Немає патронів", "Кинути гранату"). Тому індустрія перейшла на **Дерева Поведінки (BT)**.
Дерево Поведінки — це ієрархія пріоритетів. ШІ "запитує" дерево: "Що мені робити?". Дерево перевіряє умови зверху вниз:
- Чи бачу я гранату біля ніг? -> **ТАК:** (Пріоритет!) -> **ДІЯ: Відбігти.**
- Чи мало в мене здоров'я? -> **ТАК:** -> **ДІЯ: Знайти укриття.**
- Чи бачу я ворога? -> **ТАК:** -> **ДІЯ: Стріляти в укритті.**
- (Якщо нічого з вищого не спрацювало) -> **ДІЯ: Патрулювати.**
Цей підхід дозволив створити знаменитий ШІ в таких іграх, як *Halo* (де Ковенант діє тактично) та *The Last of Us* (де вороги обходять з флангів і спілкуються).
3. Сучасність: "Живі" NPC та діалоги
Сьогодні ШІ — це не лише про бій. Це про створення ілюзії живого світу.
Симуляція життя
Такі ігри, як *Red Dead Redemption 2* або *S.T.A.L.K.E.R.* (з його системою A-Life), симулюють життя NPC. У них є розпорядок дня: вони їдять, сплять, ходять на роботу, спілкуються між собою, полюють. Світ живе незалежно від гравця, що створює неймовірне занурення.
Генеративні діалоги
Новітній тренд — використання Великих Мовних Моделей (LLM) для діалогів. Замість того, щоб мати 3 записані репліки, NPC може вести з вами повноцінну розмову. Ви можете запитати його (голосом у мікрофон) про погоду або про те, де знайти таверну, і він згенерує унікальну, осмислену відповідь "на льоту".