NPC — Описание[]
NPC — Non-Player Character.[]
Или же «Персонаж Не-Игрок» (чаще «Не Игровой Персонаж», хотя он в игре...). Это игровой персонаж, наделённый ИИ (Искусственный(-ым) Интелект(-ом)), чаще всего работает посредством выполнения заскриптованных действий (через lua или иной код, связанный с движком игры), не менее часто он основан на специальных системах ИИ, где те самостоятельно ищут противника (враждебного NPC/Игрока к ИИ внутри NPC) и затем идут к цели, чтобы атаковать её доступными средствами (Руки/Ноги. Оружие ближнего действия. Оружие среднего действия. Оружие дальнего действия.).
Передвижение NPC.[]
Передвижение NPC осуществляется через различные способы (в зависимости от движка и инновационности игры).
Система передвижения NPC на примере Half Life 2:[]
В Half Life 2 присутствует устаревшая (на момент 21 авг. 2024 г.) система передвижения через «НодГрафы» (NodeGraphs) (.AIN/.ZTMP) и/или через Навигационные Сетки (НавМешы, NavMesh) (.NAV). Зачастую используется система НодГрафов, поскольку она позволяет NPC идти напрямую к цели, прокладывая маршрут по уже заданной в карте траектории (сами Ноды), хотя иногда при неправильно сгенерированными / поставленными игроком нодами (через специальные инструменты) NPC могут проложить маршрут туда, куда они просто не имеют физического доступа, из-за чего застрянут или временно будут тупить (не реагировать на другие доступные пути), единственный «легальный» способ исправить такого NPC — убить его через доступные средства, однако можно и консольной командой, однако тогда во время дальнейшего прохождения отключатся достижения на карте (по крайней мере у автора статьи такое было). НавМешы же используют не отдельные ноды (точки), а мешы (сетки), которые выглядят как 2D изображения с прозрачным фоном, обычно созданные максимально близко друг к другу, чтобы те могли пройти беспрепятственно к следующей точке. В этой системе НавМешей путь также выбирается через генерацию маршрута (как в GPS у машины) и следование по точкам в NavMesh-ах. Отключение (удаление) NavMesh-ей страшно только для Next-Ботов, так как те ориентируются на мешах, чтобы найти игрока. И также на картах, где нету Нодов из предыдущей технологии.
Next-Боты (Garry's Mod — де-факто Half Life 2 в режиме креатива, де-юре мод/игра, на прямую связанная с Half Life 2).[]
Некст-боты — это тип NPC, которые имеют зачастую 2D форму вида и передвигаются по NavMesh-ам. Их главная задача: взаимодействие с игроком. Зачастую смертельное или хорроро-подобное.
Типы NPC (Half Life 2):[]
Тип-1: Нейтральные[]
Представляют собой NPC, которые относятся нейтрально ко всем другим NPC/игроку. Они не атакуют и не защищаются. Их можно убить.
Пример:[]
Хэдкраб Ламар (сюжетный NPC), птицы (фоновые NPC).
Тип-2: Агрессивные[]
Представляют собой NPC, которые агрессивные ко всем/игроку NPC независимо от фракции игрока/NPC. Постоянно атакуют и защищаются.
Пример:[]
Headcrab's, Zombie, Fast Zombie, Poison Zombie, Zombine, Ant-Lion, Guard Ant-Lion.
Тип-3: Фракционные[]
Представляют собой NPC, которые из какой-либо фракции. Атакуют вражеские фракции и дружелюбны к союзным фракциям.
Пример:[]
Citizens. Civil Protection (Metro Police Force/Cop's/Police), OverWatch TransHuman Arm (OTA/Combine). Они в фракции «OverWatch» (или Universal Union с политической точки зрения).
Ещё пример:[]
Rebel's (Повстанцы), Алекс Вэнс, Илай Вэнс, Барни, Кляйнер, Джудит Мосман и другие сюжетные персонажи являются частью фракции "Rebels" (Повстанцы).
Обзор[]
NPC играют разную роль в серии Half-Life: от незначительных (слабые враги вроде хедкрабов), до таких, без которых игры попросту не было бы (GLaDOS, Аликс Вэнс) или была бы, но без значительного куска сюжета или геймплея. Игровой искусственный интеллект NPC позволяет сделать их очень похожими на реальных людей или животных, а также сделать каждое прохождение игры несколько другим, не меняя основной сюжет (простой пример: комната с обходным путём, которым враждебные NPC могут воспользоваться с некоторой вероятностью).
Все NPC в серии Half-Life делятся на 4 типа: враждебные (хедкраб, муравьиный лев и т.п.), союзные (члены сопротивления, вортигонты, охранники и т.п), нейтральные (вороны, бойды), сюжетные (доктор Кляйнер, GLaDOS, доктор Брин и т.п.).
NPC на GoldSrc[]
GoldSrc — первый движок, поддерживающий сюжетную роль NPC. На данном движке был выпущен Half-Life, а также его дополнения.
На движке GoldSrc, NPC можно создать только в редакторе уровней. Каждому конкретному NPC можно указать: Цель (что активируется/деактивируется, когда NPC будет активирован), Имя (как NPC называется на карте), Рендер (прозрачность NPC), Цвет (в какой цвет NPC будет покрашен), Триггер условия (что должно произойти с NPC, чтобы активировался триггер цели), Триггер цели (что должно активироваться/деактивироваться, когда сработает триггер условия), Фраза при использовании (что скажет NPC, когда игрок попросит его пойти с ним), Фраза при прекращении использования (что скажет NPC, когда игрок попросит его прекратить ходить за ним), Анимация (какую анимацию NPC может проиграть). Помимо этого, NPC может реагировать на различные энтити-объекты. Из-за некоторых особенностей кода Half-Life, разработчик не может указать для NPC тип реакции на игрока и других NPC. Помимо всего прочего, NPC способны проигрывать любые звуки, с помощью рта, который становиться более открытым/закрытым, по мере изменения громкости звука.
В связи с ошибками в кодировании (а иногда в маппинге), NPC имеют ряд багов, способных частично или полностью нарушить задуманное разработчиком.
NPC на Source Engine[]
Source Engine — движок второй части Half-Life и её эпизодов, который имеет огромные возможности в создании реалистичных персонажей.
В играх на движке Source, каждого NPC можно создать либо через консоль, прописав соответствующую команду, либо в редакторе уровней (более практичный способ, так как позволяет настраивать конкретных NPC). NPC можно задать огромное количество параметров (в основном консольных): Имя, Рендер, Цвет, Наличие тени (включение/выключение тени от объекта), Фильтрация урона (фильтрует энтити, способные наносить урон объекту), Цель, Имя отряда, Группа подсказок (позволяет задать NPC его уникальную цепь подсказок в ориентировании), Фраза при использовании, Фраза при прекращении использования, Parent, Оружие, Статическую эмоцию (меняется в сценах), Модель, множество прочих переменных. В отличии от NPC на GoldSrc, NPC на Source говорят фразы, через заранее созданные в утилите Faceposer "сценки". В данной утилите, происходит по-временная настройка позиции губ NPC, что позволяет создавать реалистичные диалоги/монологи и тд. Кроме того, данные "сценки" поддерживают технологию захвата предметов (наиболее ярко это продемонстрировано в Half-Life 2: Episode Two). Помимо прочего, маппер способен поменять отношение NPC к игроку, с помощью энтити ai_relationship.
Технология[]
С помощью триггеров и кодов, можно сделать любые скриптовые сцены с применением технологии мимики и захвата движения.
Особенности ИИ в серии Half-Life[]
Искусственный интеллект Half-Life имеет ряд особенностей:
- Все NPC имеют лишь четыре вида реакции: Ненависть (NPC попытается уничтожить объект), Нейтралитет (NPC игнорирует объект), Дружба (NPC старается помогать объекту), Страх (NPC пытается убежать от объекта).
- В серии Half-Life большинству персонажей не прописаны элементарные правила за их ненадобностью (пример: NPC, если их заспавнить в воздухе, будут просто падать, пока не опустятся до земли).
Игровая механика | ||
---|---|---|
Основное | HUD · Здоровье и урон | |
Настройки сложности | Half-Life · Half-Life 2 | |
Игровые движки | GoldSrc (Xash3D) · Source · Source 2 | |
Баги | Бесконечное пополнение здоровья · Ускорение коллизией · Ускоренная распрыжка задом · Распрыжка · Телепортация NPC | |
Разное | Hammer Units · Warpball · Консоль разработчика · Консольные команды |