|
@@ -0,0 +1,226 @@
|
|
|
+## **1. Введение: ИИ в игровом процессе**
|
|
|
+#### Определение ИИ в контексте игр
|
|
|
+Искусственный интеллект в видеоиграх представляет собой алгоритмы и системы, которые позволяют виртуальным персонажам и элементам игрового мира демонстрировать сложное поведение. В отличие от традиционного программирования поведения NPC (неигровых персонажей) на основе простых сценариев, современные методы ИИ позволяют персонажам адаптироваться к действиям игрока, обучаться и принимать более осмысленные решения.
|
|
|
+
|
|
|
+![[akad_253._3.jpg]]
|
|
|
+#### Как ИИ влияет на взаимодействие игрока с миром
|
|
|
+ИИ играет ключевую роль в создании погружения и сложности в играх. Он может определять, как противники реагируют на игрока, как союзники поддерживают его в бою, и даже как случайные NPC взаимодействуют с окружающей средой. Современные ИИ-системы способны анализировать поведение игрока и подстраивать игровой процесс, делая его более интересным и динамичным.
|
|
|
+
|
|
|
+Примеры влияния ИИ:
|
|
|
+- В стратегиях ИИ может управлять вражескими армиями, подстраиваясь под тактику игрока.
|
|
|
+- В шутерах противники используют укрытия, координируются между собой и реагируют на угрозы.
|
|
|
+- В ролевых играх NPC могут изменять своё отношение к игроку в зависимости от его действий и репутации.
|
|
|
+#### Краткая история использования ИИ в играх
|
|
|
+Искусственный интеллект в играх имеет богатую историю, которая начинается с середины 20 века. В 1952 году Алан Тьюринг и его коллега Кристофер Стрейчи разработали игру «Tic-Tac-Toe» с простым алгоритмом, имитирующим ИИ, что стало одним из первых примеров применения AI в играх. В 1951 году Аллан Ньюэлл и Герберт Саймон создали программу для игры в шашки, а в 1956 году Артур Самуэль разработал программу для игры в шахматы, использующую обучающиеся алгоритмы.
|
|
|
+
|
|
|
+![[istoriya-igry-pacman-1-1.jpg]]
|
|
|
+
|
|
|
+Развитие ИИ в играх прошло несколько ключевых этапов:
|
|
|
+1. **Ранние игры (1970-1980-е годы)**
|
|
|
+ - Простейшие скриптованные алгоритмы с жёстко заданным поведением.
|
|
|
+ - Пример: призраки в _Pac-Man_, которые следуют предопределённым маршрутам.
|
|
|
+2. **Развитие алгоритмов (1990-е годы)**
|
|
|
+ - Внедрение конечных автоматов (FSM) для создания более реалистичного поведения NPC.
|
|
|
+ - Примеры: _Half-Life_ (ИИ солдат, координирующихся в бою), _Thief: The Dark Project_ (охранники, реагирующие на звуки и свет).
|
|
|
+3. **Появление сложных поведенческих моделей (2000-е годы)**
|
|
|
+ - Использование GOAP (планирования на основе целей), позволяющего NPC адаптировать поведение.
|
|
|
+ - Пример: _F.E.A.R._ - противники, использующие укрытия и обходные маршруты.
|
|
|
+ - Пример: The Sims предложила AI персонажей, имитирующих повседневную жизнь, включая социальные взаимодействия и управление ресурсами.
|
|
|
+4. **Адаптивные ИИ-алгоритмы (2010-е - настоящее время)**
|
|
|
+ - Развитие машинного обучения, позволяющего ИИ подстраиваться под игрока.
|
|
|
+ - Пример: В _Alien: Isolation_ Чужой анализирует стиль игры игрока и меняет тактику.
|
|
|
+ - Пример: В *Red Dead Redemption 2* ИИ управляет поведением как врагов, так и NPC в открытом мире. ИИ создает сложные и реалистичные сценарии взаимодействий, включая реакции на действия игрока, динамичные события и социальное поведение.
|
|
|
+5. **Будущее ИИ в играх**
|
|
|
+ - Внедрение генеративных моделей для создания уникального игрового опыта.
|
|
|
+ - Прогноз: появление NPC, способных вести осмысленные диалоги и адаптировать сюжет к решениям игрока.
|
|
|
+
|
|
|
+![[974e8b09ed966931bb51daec83762ae1.jpg]]
|
|
|
+_А пока мы на этапе не самого совершенного ИИ, мы можем встречаться с забавными ситуациями в играх с его использованием. Пример случая из The Sims_
|
|
|
+## **2. Классические примеры ИИ в играх**
|
|
|
+#### Боты-соперники и союзники
|
|
|
+ИИ в виде NPC, играющих с игроком или против него, является основой многих жанров.
|
|
|
+- **Боты в шутерах**: В _Counter-Strike_ или _Quake III Arena_ ИИ-соперники способны применять тактики боя, использовать укрытия и реагировать на агрессивные действия игрока.
|
|
|
+- **Напарники в RPG**: В _The Elder Scrolls V: Skyrim_ спутники помогают в бою, подбирают экипировку и даже комментируют происходящее.
|
|
|
+- **Противники в экшенах**: В _The Last of Us_ враги координируются между собой, ищут пути обхода и реагируют на действия игрока.
|
|
|
+ - ИИ в этой игре строится на использовании конечных автоматов (КА) ― давно устоявшегося подхода к созданию искусственного интеллекта. Популяризовала его _Half-Life_ еще в 1998 году. Его суть состоит в том, что персонаж может иметь несколько сменяющих друг друга состояний: к примеру, он будет атаковать цель либо искать ее местоположение до тех пор, пока не произойдет событие-триггер, которое переведет его из одного состояния в другое.
|
|
|
+![[w-ldcr0sdelnnjyt9dcknk1ejok.jpeg]]
|
|
|
+### ИИ, обучающийся на основе поведения игрока
|
|
|
+Некоторые игры применяют адаптивный ИИ, анализирующий стиль игры и корректирующий поведение врагов:
|
|
|
+- **Xenomorph в** _**Alien: Isolation**_ — инопланетянин учится на действиях игрока, меняя тактику и становясь менее предсказуемым.
|
|
|
+- **Shadow of Mordor / Shadow of War (Nemesis System)** — вражеские орки запоминают встречи с игроком, развивают уникальные черты и даже могут возвращаться после поражений с новыми стратегиями.
|
|
|
+![[2a9e53b9-d3ee-dccb-6ad2-104c09155d77.jpg]]
|
|
|
+## **3. NPC с адаптивным поведением в диалогах и отношениях**
|
|
|
+
|
|
|
+#### Как ИИ мог бы делать диалоги в играх более живыми?
|
|
|
+ИИ позволяет NPC не просто следовать жёстко прописанным репликам, а адаптироваться к действиям игрока. В перспективе развития диалоговой системы с использованием ИИ, он мог бы адаптироваться к стилю общения и решениям пользователей. Использование динамических диалогов создаёт эффект живого общения, что усилит погружение.
|
|
|
+### Прописанные диалоговые деревья vs нейросетевые модели
|
|
|
+- **Диалоговые деревья**: традиционный метод, где все возможные реплики и ответы прописаны заранее. Позволяет чётко контролировать сценарий, но ограничен вариативностью.
|
|
|
+![[Pasted image 20250213094914.png]]
|
|
|
+- **Нейросетевые модели**: современные алгоритмы, позволяющие NPC генерировать ответы на основе контекста, предшествующего диалога и индивидуальных характеристик игрока. Такие системы более гибкие, но требуют большого количества данных и вычислительных мощностей.
|
|
|
+![[Pasted image 20250213095024.png]]
|
|
|
+### Использование переменных для отслеживания отношения игрока
|
|
|
+Для удобного отслеживания статуса взаимоотношений между игроком и персонажем можно использовать разные параметры, которые также будут влиять на то, как NPC будет реагировать на игрока и общаться с ним, например:
|
|
|
+- **Доверие** – увеличивается при выполнении обещаний, доброжелательных поступках.
|
|
|
+- **Страх** – возрастает, если игрок угрожает NPC или проявляет агрессию.
|
|
|
+- **Симпатия** – зависит от выбора реплик, совместных действий и лояльности к фракции.
|
|
|
+- **Репутация** – общий показатель, который может влиять на отношение всех NPC и их поведение.
|
|
|
+- **Враждебность** – повышается, если игрок совершает недружелюбные поступки, например, крадёт или нападает.
|
|
|
+
|
|
|
+Статус отношений может отображаться для игрока различными способами:
|
|
|
+- Всплывающие сообщения (например, "Персонаж теперь ваш друг" или "Ваши отношения ухудшились").
|
|
|
+- Индикаторы в интерфейсе (значки дружбы, нейтралитета или вражды).
|
|
|
+- Изменение стиля общения персонажа по отношению к игроку.
|
|
|
+### Как NPC может менять стиль общения в зависимости от контекста
|
|
|
+NPC может изменять тон и стиль общения на основе предыдущего взаимодействия:
|
|
|
+- Если игрок часто помогает, персонаж становится более дружелюбным.
|
|
|
+- Если игрок игнорирует или грубит, NPC становится холодным или враждебным.
|
|
|
+- В зависимости от репутации игрока в мире, разные NPC могут по-разному реагировать на него.
|
|
|
+- В зависимости от репутации игрока в мире, разные NPC могут по-разному реагировать на него.
|
|
|
+- Важные сюжетные решения NPC могут зависеть от уровня отношений с игроком, влияя на ход истории или предлагая альтернативные концовки (концовки прописаны заранее, но путь достижения у каждого игрока будет уникальным).
|
|
|
+### Влияние уровня отношений NPC на сюжетные решения
|
|
|
+NPC смогут не только менять своё отношение к игроку, но и принимать важные решения, влияющие на игровой процесс:
|
|
|
+- **Изменение доступных квестов** – дружелюбные NPC могут предложить эксклюзивные задания, а враждебные, наоборот, откажутся от сотрудничества.
|
|
|
+- **Помощь или противодействие** – персонаж, которому игрок помог ранее, может прийти на помощь в трудной ситуации или, наоборот, предать.
|
|
|
+- **Альтернативные концовки** – некоторые NPC могут изменить ход истории, если их отношение к игроку достигло определённого уровня.
|
|
|
+- **Развитие личных сюжетных линий** – при высокой симпатии NPC может раскрыть свои секреты или предложить особые взаимодействия.
|
|
|
+
|
|
|
+## **4. Методы создания ИИ-NPC, реагирующих на игрока**
|
|
|
+#### Гибридный подход (сценарные ветки + ИИ-модель)
|
|
|
+Этот метод сочетает заранее прописанные сценарии с возможностями нейросетевых моделей. Основная идея в том, что базовые линии поведения NPC заданы вручную, но при этом ИИ может варьировать реплики, стиль общения и реакции в зависимости от контекста.
|
|
|
+- **Пример:** В ряде модификаций к Skyrim используется GPT-модель, дополняющая стандартные диалоги новыми фразами, чтобы создать эффект живого общения.
|
|
|
+- **Как работает:** NPC получает предустановленный контекст (характер, стиль общения, события игры) и использует его для формирования динамических ответов.
|
|
|
+![[hq720.jpg]]
|
|
|
+### Использование локальных языковых моделей (GPT, Llama, Mistral)
|
|
|
+Локальные языковые модели позволяют запускать ИИ на стороне клиента или сервера, обеспечивая быструю генерацию диалогов без необходимости обращаться к облачным сервисам.
|
|
|
+- **GPT (Generative Pre-trained Transformer)** — модель, основанная на обработке естественного языка. Может поддерживать долгие диалоги, но требует оптимизации для работы в реальном времени.
|
|
|
+- **Llama (Large Language Model Meta AI)** — оптимизирована для работы на локальных устройствах, может использоваться в одиночных играх без подключения к интернету.
|
|
|
+- **Mistral** — эффективная и компактная языковая модель, подходящая для мобильных и консольных игр.
|
|
|
+- **Пример:** В фанатских проектах по Dwarf Fortress исследуется интеграция LLM для генерации уникальных историй NPC, основанных на игровом мире.
|
|
|
+
|
|
|
+#### Mistral – Лёгкие и мощные языковые модели
|
|
|
+Mistral – это семейство языковых моделей, созданное для работы с естественным языком, подобно GPT, но с акцентом на компактность и эффективность.
|
|
|
+- **Преимущества**:
|
|
|
+ - Оптимизированы для работы на локальных машинах.
|
|
|
+ - Быстрее и легче, чем многие другие языковые модели.
|
|
|
+- **Применение в играх**:
|
|
|
+ - Можно использовать для генерации диалогов NPC.
|
|
|
+ - Подходит для мобильных и оффлайн-игр, так как не требует мощного "облака".
|
|
|
+- **Где может пригодиться?**
|
|
|
+ - В небольших инди-проектах, где важен баланс между качеством и производительностью.
|
|
|
+ - В играх с динамическим сюжетом, где NPC реагируют на игрока в реальном времени.
|
|
|
+![[Mistral-7B.jpg]]
|
|
|
+#### LLaMA (Large Language Model Meta AI)
|
|
|
+Это языковая модель, созданная Meta. Она предназначена для более гибкого и мощного использования в обработке естественного языка.
|
|
|
+- **Плюсы**:
|
|
|
+ - Более контролируемая, чем GPT.
|
|
|
+ - Может обучаться на специфичных данных, например, на диалогах из конкретной игры.
|
|
|
+- **Применение в играх**:
|
|
|
+ - NPC могут не только вести беседы, но и помнить прошлые взаимодействия.
|
|
|
+ - Может быть использована для создания ботов, которые подстраиваются под стиль общения игрока.
|
|
|
+- **Где может пригодиться?**
|
|
|
+ - В RPG с развитым взаимодействием с NPC (например, в играх наподобие Baldur’s Gate или Skyrim).
|
|
|
+ - В играх, где важен "эффект присутствия" умных NPC.
|
|
|
+#### GPT (Generative Pre-trained Transformer)
|
|
|
+Самая известная нейросетевая модель для генерации текста.
|
|
|
+- **Как работает**:
|
|
|
+ - Анализирует текстовый ввод и предсказывает вероятное продолжение.
|
|
|
+ - Может обучаться на больших объёмах данных, включая диалоги и сценарии.
|
|
|
+- **Применение в играх**:
|
|
|
+ - **Генерация живых диалогов**: NPC могут реагировать на игрока в реальном времени.
|
|
|
+ - **Создание уникальных квестов**: Динамическое изменение заданий в зависимости от стиля игры.
|
|
|
+ - **Системы адаптивного обучения**: Например, обучаемые наставники в игре, которые дают советы на основе действий игрока.
|
|
|
+- **Примеры использования**:
|
|
|
+ - **AI Dungeon** – игра, где GPT генерирует текстовые приключения на лету.
|
|
|
+ - **Project December** – чатбот, использующий GPT для создания реалистичных собеседников.
|
|
|
+![[1_1Rs4Wcb1LJYQ48nZifu1vw.jpg]]
|
|
|
+### Обучение NPC через Reinforcement Learning (подстраивание к игроку)
|
|
|
+Reinforcement Learning (обучение с подкреплением) позволяет NPC адаптироваться к стилю игры пользователя. Модель анализирует действия игрока и корректирует своё поведение на основе полученного опыта.
|
|
|
+- **Как работает:**
|
|
|
+ - NPC оценивает каждое действие игрока (помощь, агрессия, бездействие).
|
|
|
+ - На основе этого формируется модель поведения (например, дружелюбный или враждебный стиль общения).
|
|
|
+ - ИИ обучается на повторяющихся взаимодействиях, становясь более «осведомлённым» о предпочтениях игрока.
|
|
|
+- **Пример:** В Alien: Isolation ИИ-ксеноморф анализирует стиль игры пользователя, меняя свои стратегии охоты.
|
|
|
+![[Pasted image 20250213095953.png]]
|
|
|
+#### Reinforcement Learning (RL) – Обучение с подкреплением
|
|
|
+Это метод машинного обучения, при котором агент (например, NPC) обучается на основе проб и ошибок, получая награды за успешные действия. В играх это можно применять, чтобы NPC подстраивались под игрока:
|
|
|
+- **Как работает**:
|
|
|
+ 1. Агент совершает действие в среде (например, выбирает тактику боя).
|
|
|
+ 2. Получает награду или штраф (например, если атака успешна – награда, если нет – штраф).
|
|
|
+ 3. Использует этот опыт, чтобы в будущем выбирать более выгодные действия.
|
|
|
+- **Где используется**:
|
|
|
+ - В шутерах (боты, которые учатся предугадывать поведение игрока).
|
|
|
+ - В стратегиях (противники адаптируются к тактике игрока).
|
|
|
+ - В играх с динамической сложностью (например, Left 4 Dead и его "Дирижёр ИИ").
|
|
|
+### Комбинация с механиками эмоций и памяти (персонажи запоминают поступки игрока)
|
|
|
+Некоторые системы позволяют NPC запоминать действия игрока и учитывать их в будущем взаимодействии. Это создаёт более органичное развитие отношений между персонажами.
|
|
|
+- **Как работает:**
|
|
|
+ - Игра хранит переменные, отвечающие за «воспоминания» NPC (помогал ли игрок, предавал ли, был ли агрессивен).
|
|
|
+ - Эти данные используются для изменения диалогов и принятия решений NPC.
|
|
|
+
|
|
|
+## **5. Технические аспекты реализации**
|
|
|
+#### Инструменты для работы с диалогами и инструменты для работы с ИИ
|
|
|
+Существует множество инструментов, помогающих реализовать адаптивных NPC. Вот некоторые из них:
|
|
|
+- **Ink** – язык сценариев, разработанный для создания нелинейных историй.
|
|
|
+ - Позволяет легко структурировать диалоговые ветки.
|
|
|
+ - Интегрируется с Unity и другими движками.
|
|
|
+- **Dialogue System for Unity** – мощный плагин для работы с диалогами.
|
|
|
+ - Поддерживает диалоговые деревья, переменные и триггеры.
|
|
|
+ - Позволяет комбинировать сценарные диалоги с ИИ-генерацией.
|
|
|
+ - Включает инструменты для работы с эмоциями персонажей.
|
|
|
+
|
|
|
+- **OpenAI API (GPT, ChatGPT)** – облачная нейросетевая модель для генерации диалогов.
|
|
|
+ - Позволяет создавать вариативные и естественные ответы.
|
|
|
+ - Может учитывать контекст прошлых взаимодействий.
|
|
|
+ - Требует интернет-соединения и API-ключа.
|
|
|
+- **Локальные LLM (LLaMA, Mistral, GPT4All)** – автономные языковые модели.
|
|
|
+ - Работают на локальном сервере без интернета.
|
|
|
+ - Позволяют кастомизировать и обучать NPC на специфичных данных.
|
|
|
+ - Оптимизированы для меньших вычислительных мощностей по сравнению с облачными моделями.
|
|
|
+### Структурирование логики поведения NPC
|
|
|
+Для создания правдоподобного поведения ИИ важно грамотно организовать логику поведения персонажей. Возможные подходы:
|
|
|
+- **Система состояний (Finite State Machine, FSM)**
|
|
|
+ - NPC переключается между разными состояниями (например, "дружелюбный", "подозрительный", "агрессивный") в зависимости от действий игрока.
|
|
|
+ - Хорошо подходит для базовых реакций на изменения в мире.
|
|
|
+![[mealy_10010.png]]
|
|
|
+- **Деревья поведения (Behavior Trees)**
|
|
|
+ - Используются в играх для моделирования более сложного поведения.
|
|
|
+ - Позволяют NPC принимать решения на основе ряда условий (например, проверять уровень доверия перед тем, как выдать информацию игроку).
|
|
|
+ - Активно используются в современных играх, таких как The Last of Us и Halo.
|
|
|
+![[Pasted image 20250213100323.png]]
|
|
|
+- **Системы на основе Utility AI**
|
|
|
+ - NPC принимает решения, основываясь на системе приоритетов и числовых оценок (например, насколько выгодно атаковать или бежать).
|
|
|
+ - Используется в играх с адаптивным поведением врагов, таких как Left 4 Dead.
|
|
|
+![[ue4_behaviortrees_example.webp]]
|
|
|
+- **Комбинированные методы**
|
|
|
+ - Можно сочетать несколько систем: например, использовать FSM для базовых эмоций NPC, а Utility AI — для принятия решений в диалогах.
|
|
|
+### Игровые движки и фреймворки для работы с диалогами и ИИ
|
|
|
+- **Unity + Ink/Dialog System** – мощный инструмент для создания игр с диалогами и адаптивными NPC.
|
|
|
+- **Unreal Engine + AI Behavior Trees** – используется в AAA-играх для сложного поведения персонажей.
|
|
|
+- **Godot + GD Script AI** – открытый движок с возможностью создания скриптовых NPC.
|
|
|
+- **Ren'Py + GPT API** – популярное сочетание для визуальных новелл с динамическими диалогами.
|
|
|
+
|
|
|
+## **6. Будущее ИИ в играх**
|
|
|
+#### Возможности процедурного повествования
|
|
|
+ИИ открывает новые горизонты для процедурного повествования, позволяя создавать уникальные истории на основе действий игрока. Вместо статичных квестов и диалогов, игры могут адаптироваться в реальном времени, изменяя сюжет, персонажей и события в зависимости от выбора игрока.
|
|
|
+### Перспективы развития ИИ в индустрии
|
|
|
+ИИ может быть интегрирован в различные аспекты геймдизайна:
|
|
|
+- Генерация квестов и событий, основанных на поведении игрока.
|
|
|
+- Создание динамических миров, которые реагируют на изменения в игровом процессе.
|
|
|
+- Развитие реалистичных NPC, способных вести осмысленные беседы.
|
|
|
+- Улучшение искусственного интеллекта врагов и союзников для более сложного геймплея.
|
|
|
+![[scale_1200.jpg]]
|
|
|
+### Влияние на разработку игр: риски и этические вопросы
|
|
|
+- **Риск однообразия**: из-за процедурной генерации контент может становиться повторяющимся.
|
|
|
+- **Этические вопросы**: использование ИИ для симуляции реальных людей и манипуляции эмоциями игроков.
|
|
|
+- **Проблемы балансировки**: сложность контроля за динамически изменяющимися механиками.
|
|
|
+- **Воздействие на рынок труда**: автоматизация некоторых процессов может сократить количество рабочих мест для сценаристов, дизайнеров и актеров озвучки.
|
|
|
+![[114eaadc705079160a354e712e9b674a.jpeg]]
|
|
|
+### Кейсы из индустрии
|
|
|
+- **Студии отказались от озвучки актеров в пользу ИИ**: С 2023 года участились случаи, когда разработчики начали использовать синтезированные голоса вместо реальных актеров озвучки. Это вызвало возмущение среди профессионалов, так как их работа оказалась под угрозой и повлекло за собой судебные разбирательства.
|
|
|
+- **Бойкот художников против генеративного ИИ**: Многие художники и иллюстраторы в последние годы начали протестовать против использования ИИ-генерации изображений в играх, так как алгоритмы обучаются на их работах без разрешения. Некоторые игровые студии столкнулись с негативной реакцией, когда пытались использовать ИИ-арт вместо заказов у живых художников.
|
|
|
+- **Сценаристы и ИИ**: В Голливуде и игровой индустрии обсуждаются вопросы использования ИИ для написания сценариев. Сценаристы опасаются, что крупные компании начнут заменять их на алгоритмы, которые могут быстро генерировать диалоги и сюжетные линии. Это стало одной из причин забастовки Гильдии сценаристов США в 2023 году.
|
|
|
+![[Pasted image 20250213101125.png]]
|
|
|
+## **Заключение**
|
|
|
+Современные технологии позволяют делать NPC более живыми, запоминать поведение игрока и даже, в теории, смогут влиять на развитие сюжета. Однако развитие ИИ в играх также вызывает споры, связанные с этическими вопросами, балансом креативности и возможными изменениями на рынке труда.
|
|
|
+Важно понимать, что ИИ — это инструмент, который можно использовать как во благо, так и во вред. Всё зависит от того, как именно разработчики внедряют его в игровые механики и насколько внимательно подходят к вопросам дизайна, этики и влияния на игроков, а так же от того как в будущем будут решатся вопросы этичности использования технологии, которая генерирует контент на основе уже существующего чужого контента.
|
|
|
+В будущем мы, вероятно, увидим ещё более сложные системы, где NPC смогут вести полноценные диалоги, динамически изменять сюжетные линии и даже развивать собственную «личность». Главное — найти баланс между технологиями и творческим подходом, чтобы игры оставались захватывающими и эмоционально насыщенными.
|