Что означает NPC в играх: расшифровка и почему это важно
Создайте свою игру с NPC
Что означает NPC в играх и откуда пришёл термин? Происхождение, три написания — NPC, NPC's, NPCs — и живые 3D-миры, где неигровые персонажи по-прежнему занимаются своим делом.
NPC расшифровывается как неигровой персонаж: любой персонаж в игре, которым игрок не управляет. В играх с NPC это обозначение охватывает широкий диапазон — торговца с тремя репликами диалога, стражника, ходящего по маршруту патруля, спутника, который следует за вами по уровню, — и одновременно служит названием категории, кратким обозначением качества поведения и, за пределами игр, оскорблением.
На этой странице рассказывается, откуда пришёл термин, какие три написания люди ищут (NPC, NPCs, NPC's), как значение пережило пять поколений техники, хотя поведение под ним полностью изменилось, и на что обращать внимание, когда вы стоите перед запрограммированным персонажем в живой сцене в браузере.
Краткий ответ: NPC — это неигровой персонаж
NPC — сокращение от «неигровой персонаж», то есть любой персонаж в игре, которым игрок не управляет. Обозначение охватывает союзников, торговцев, выдающих задания, фоновую толпу и враждебных мобов — при условии, что никто у клавиатуры ими не управляет.
Сокращение используется повсюду, потому что оно на четыре символа короче слов, которые заменяет, и помещается в таблицы диалогов, имена классов движка, дизайн-документы и тикеты об ошибках. За пределами игр оно неоднозначно: читатель может принять его за оценку человека, а не за описание программного обеспечения.
Откуда пришёл термин
Термин старше видеоигр. Он происходит из настольных ролевых игр, где один участник ведёт мир и всех персонажей в нём, которыми не управляет игрок. Эта роль — мастера игры, мастера подземелья, арбитра, в зависимости от системы — и есть исходный движок неигровых персонажей: в одной голове хранятся цены торговца, маршрут патруля стражника и сплетни трактирщика, и он отвечает, когда игрок спрашивает.
Точную первую публикацию фразы установить трудно, и я не стал бы называть конкретную книгу или год, не имея страницы перед глазами. Ясно одно: тексту правил настольных игр нужно было слово, отделяющее персонажей, которыми управляют игроки, от персонажей, за которых говорит ведущий, и это слово уже использовалось в хобби до того, как у домашних компьютеров хватило памяти на разговор.
Видеоигры унаследовали термин, как только в них появились персонажи. Ранним дизайнерам нужно было отделить то, чем двигает игрок, от того, что движется по правилам, и они взяли слово, которое уже означало именно это. Оно осталось словом дизайна, а не движка: в Unreal ближайший аналог — иерархия классов Pawn и Character, в Unity это игровой объект с компонентом контроллера, и ни один движок не поставляет класс, буквально названный NPC. Этот разрыв — полезная подсказка: когда кто-то говорит «NPC», обычно речь идёт о замысле и поведении, а не о коде.
NPC, NPC's или NPCs: какое написание правильное
Единственное число — NPC. Множественное — NPCs, с простой буквой s без апострофа; так большинство редакционных руководств обращаются с аббревиатурами. Притяжательная форма — NPC's, потому что апостроф выполняет свою прямую задачу — обозначает принадлежность. Все три верны на своём месте; путаница в том, что две из них на первый взгляд почти одинаковы.
Поисковый вариант npc's обычно является множественным числом, написанным с апострофом, — та же привычка, что порождает «TV's» и «PC's». Иногда это настоящее притяжательное с опущенным существительным, как в «строка NPC's», сокращённом до «NPC's». Если вы строите поисковый индекс или контент-фильтр, не сравнивайте три формы как сырые строки: нормализуйте регистр и удаляйте апострофы перед сравнением, иначе запрос NPC молча пропустит и NPCs, и npc's.
| Форма | Что это | Пример предложения |
|---|---|---|
| NPC | Единственное число. Один персонаж. | NPC у ворот повторяет одну и ту же фразу, пока вы не примете задание. |
| NPCs | Множественное число. Больше одного. | NPC на рынке работают по одному общему расписанию бездействия. |
| NPC's | Притяжательная форма. Принадлежит одному NPC. | Маршрут патруля NPC проходит вокруг колодца и обратно к воротам. |
Почему играм понадобился этот термин
Слово — краткое обозначение категории, а категория определяется отсутствием: нет воли игрока. Всё в сцене либо управляется вводом, либо управляется правилами, либо инертно. NPC называет средний случай. Без него в дизайн-документе пришлось бы каждый раз писать «персонаж, который ходит вдоль стены, но никем не управляется», а такие фразы сокращаются, планируете вы это или нет.
Граница требует осторожности в обе стороны. Враждебный моб технически является неигровым персонажем — им никто не управляет, — но в разговоре игроки привычно разделяют «NPC» и «врага», оставляя первое слово для персонажей, с которыми говорят. При этом ящик с физическим телом — не NPC, а вот ящик, открывающий окно диалога при взаимодействии, — уже NPC: у него есть состояние и реакция, даже если состояние — один логический флаг.
Последний пример и есть полезная проверка. Спросите, что предмет делает, когда игрок не смотрит. Декорация не делает ничего. NPC либо продолжает что-то делать по расписанию — патрулировать, бездействовать, торговать, — либо хранит состояние, которое изменится, когда игрок придёт. Если нет ни того, ни другого, это декорация с прикреплённой моделью.
- Игровой персонажЧитает ввод. Владеет камерой, состоянием поражения и файлом сохранения. Все остальные объекты сцены определяются относительно него.
- NPCНет ввода. Управляется скриптом, конечным автоматом, расписанием или путём. Может хранить диалог, инвентарь, цели и запись о том, что вы делали в прошлый раз.
- ВрагNPC с прикреплённым правилом враждебности. В разговорной речи игроки разделяют эти слова; механически враждебный моб — неигровой персонаж, потому что у клавиатуры никто им не управляет.
- ПредметНет цикла решений и нет состояния, которое стоит сохранять. Фонарный столб, забор, бочка. Добавьте одно взаимодействие и одну реакцию — и он переходит в разряд запрограммированных NPC.
Как менялось значение в разные игровые эпохи
Фиксированный спрайт с диалогом. В аркадных и 8-битных играх NPC обычно был спрайтом с одной прикреплённой строкой текста, хранившейся в таблице и извлекаемой по указателю скрипта. Он повторял её вечно, ничего не помнил о вас, и это ровно то, что слово означает до сих пор. Менялось не определение, а размер машины за персонажем.
Деревья диалогов и глобальные флаги. Приключенческие игры и 16-битные ролевые игры добавили ветвящиеся разговоры, что впервые заставило NPC хранить состояние. Флаг в файле сохранения — met_guard со значением true, gate_key со значением false — позволял персонажу вести себя иначе при втором визите. Персонаж не стал умнее. Игра начала вести за него контрольный список, и каждое последующее улучшение — это список побольше.
Скриптовые открытые миры. С середины 2000-х у персонажей появились расписания на день, перемещение по навигационной сетке и циклы дня и ночи; амбициозная система «Сияющий ИИ» в «Обливионе» — канонический пример и замысла, и режима отказа. Когда расписание, путь и геометрия мира расходятся, NPC входит в дверь, запертую после наступления темноты, и стоит там до утра. Отчёты об ошибках той эпохи почти все о персонажах, оказавшихся не там, где ожидал дизайнер.
Персонажи на основе систем. Деревья поведения и утилитарный ИИ заменили единственный скрипт оценённым списком вариантов — поесть, патрулировать, поговорить, убежать, — который оценивается каждый такт. Отказы перешли на уровень выше. Критичный для задания персонаж, который забредает в драку и погибает, уносит с собой задание; поэтому в выпущенных играх таких персонажей помечают защищёнными или сюжетно важными, вместо того чтобы доверять системе сохранять им жизнь.
Слой модели. Недавние игры и браузерные инструменты прикрепляют диалог языковой модели к тому же скелету: сначала звуковые реплики, навигационная сетка, автомат анимации и триггеры взаимодействия, а сгенерированный текст сверху. Без привязки к миру текстовый слой выдумывает факты о мире и противоречит журналу заданий. С привязкой к реальному состоянию мира он меняет то, что персонаж говорит, но не то, что он может делать, — то же разделение труда, что и у 8-битной таблицы текста.
Сыграйте в мир, где NPC по-прежнему занимаются своим делом
Читать о поведении менее полезно, чем стоять перед ним. Откройте конструктор 3D-игр и загрузите Mini World для компактной сцены или прогуляйтесь по «Острову циклопа» — более крупному пространству с расставленными по нему персонажами. Идите, а не бегите: большинство ошибок персонажей видны только на скорости ходьбы, когда можно заметить, как модель скользит по земле вместо шага или поворачивается на месте, потому что цель взгляда и путь не совпадают.
Четыре свойства отличают запрограммированного персонажа от декоративного: замечает ли он вас, начинает ли он взаимодействие, помнит ли он и может ли он дать сбой. Стражник, который поворачивается к вам при приближении, работает по триггеру близости. Торговец, который заговоривает первым, имеет радиус взаимодействия шире, чем столкновение персонажа. Персонаж, повторяющий одну и ту же первую фразу при втором визите, не имеет состояния вовсе — таблица диалогов индексировалась константой.
Если вы создаёте, а не осматриваете, написанное вами описание — это спецификация, по которой работает конструктор. «Стражник у ворот, который повторяет одну фразу, пока ворота не откроются» и «торговец, который следует за вами на расстоянии трёх метров и останавливается, когда останавливаетесь вы» описывают одну и ту же модель и две разные системы; второй нужен объект слежения, дистанция остановки и правило на случай, когда путь перекрыт забором. Описывайте поведение, а не только внешность, иначе получите хорошо смоделированного персонажа, которому нечего делать.
Как выглядит работающая игра с NPC
Сцена воспринимается обжитой, когда разные персонажи заняты разными делами по разным часам. Три персонажа, бездействующие в одном двухсекундном цикле, читаются как текстура, а не как население. Один персонаж на двадцатисекундном патруле, один, который поворачивается, отслеживая игрока, и один, который вообще ничего не делает, пока к нему не обратятся, дают глазу три отдельные вещи, которые можно заметить.
01
Загрузите сцену и постойте десять секунд, прежде чем двигаться. Бездействующие персонажи выдают свой цикл: кто переносит вес, кто повторяет одну и ту же двухкадровую анимацию, кто не делает буквально ничего.
02
Приближайтесь к каждому персонажу медленно и смотрите на голову. Персонажи, которые поворачиваются к вам, работают по триггеру взгляда или близости; персонажи, остающиеся спиной, вообще не имеют состояния осведомлённости.
03
Поговорите с тем, кто заговорит первым, затем отойдите и вернитесь. Если второй разговор идентичен первому, в состояние ничего не записалось — персонаж представляет собой таблицу текста, а не систему.
04
Попробуйте нарушить патруль. Встаньте на пути идущего персонажа и посмотрите, остановится ли он, обойдёт вас или пройдёт сквозь. Проход сквозь означает, что у навигационного агента не настроено избегание препятствий.
05
Измените одну вещь в описании персонажа — дистанцию слежения, маршрут патруля, приветственную фразу — и перезагрузите. Посмотрите, проявилось ли изменение в поведении или только во внешности; это подскажет, до какого слоя дошла ваша правка.
Значение NPC за пределами игр
За пределами игр слово используют свободно и обычно недоброжелательно, описывая человека, который будто зачитывает реплики, а не думает, — того, кто повторяет шаблонное мнение или следует рутине без видимой цели. Метафора напрямую заимствует игровое значение: запрограммированный, предсказуемый, без собственной воли. Есть и стримерский смысл, когда автор выступает как персонаж, реагирующий на подарки зрителей, что заимствует визуальную грамматику игрового персонажа, стоящего на одном месте.
Сценаристы игр обычно избегают этого слова, когда имеют в виду персонажа с целью, потому что оно описывает, кто управляет персонажем, а не чего персонаж хочет. В дизайн-документе «NPC» отвечает на вопрос о вводе. Оно ничего не говорит о мотиве, и сцена, написанная из одного ярлыка категории, даёт ровно то, что подразумевает ярлык: персонаж стоит на месте и ждёт, когда его используют.
Войдите в мир, которому он принадлежит
Спрайт — это персонаж, которому негде стоять. Последний шаг — тот, которого не предлагает никто другой: возьмите только что созданный лист спрайтов и поместите его в мир, по которому можно ходить, — маленький остров, планету, дождливый уголок улицы. Каждый мир на этом сайте создан из одного письменного описания и опубликован как страница, в которую можно играть.
FAQ
Что означает NPC в играх? +
Неигровой персонаж — любой персонаж в игре, которым не управляет игрок. Сюда входят выдающие задания, торговцы, спутники, участники толпы и враждебные мобы, потому что во всех этих случаях поведение исходит из скрипта или системы, а не из ввода.
Правильно NPC или NPCs? +
Единственное число — NPC, множественное — NPCs без апострофа, притяжательное — NPC's. Поисковый вариант npc's почти всегда является множественным числом, набранным с апострофом; это нестандартно, но достаточно распространено, поэтому любой индекс или фильтр должен нормализовать его, а не отбрасывать.
Откуда пришёл термин? +
Из настольных ролевых игр, где мастер ведёт каждого персонажа, кроме персонажей игроков. Видеоигры рано переняли фразу, потому что им нужно было то же различие между аватаром и всем остальным, и она без изменений дошла до работы с движками и дизайн-документов.
Враг — это NPC? +
Механически да: враждебный моб — неигровой персонаж, поскольку им никто не управляет. В повседневной речи игроки обычно разделяют эти понятия, используя NPC для персонажей, с которыми говорят, и «враг» или «моб» для тех, с кем сражаются; поэтому в одном разговоре слово может означать две разные вещи.
В чём разница между игроком и NPC? +
В источнике управления и в том, кому принадлежат последствия. Игровой персонаж читает ввод, несёт камеру и состояние поражения и записывает файл сохранения. NPC управляется скриптом, конечным автоматом, расписанием или путём, и его память о вас существует только потому, что игра её хранит.
Все ли NPC управляются ИИ? +
Нет. Многие — чистый скрипт: фиксированный патруль, триггерный объём, таблица диалогов с индексом-константой. Даже те, что используют ИИ в смысле разработки игр — деревья поведения, утилитарную оценку, перемещение по навигационной сетке, — это системы правил без обучения, поэтому слово «ИИ» здесь означает более узкое, чем в общем употреблении.
Вернуться в конструктор 3D-игр
Все 31 готовых 3D-мира, игры и сцены собраны на одной странице — в каждую можно сыграть.