NPC
неигровой персонаж
Это понятие впервые встречается на программе «Проектная инженерная база» — примерно 9-10 лет (3-4 класс).
Персонаж, которым управляет не игрок, а сама игра: продавец, прохожий, враг. Он живёт по своей заданной программе.
Актёр по сценарию: делает то, что заранее прописано, а не то, что решил зритель в зале.
В любимой игре найти трёх NPC и сказать про каждого, что он делает и почему управляешь им не ты.
Non-player character — персонаж под управлением игры, а не игрока. Его поведение задаёт программа: торговец стоит на месте и продаёт, враг идёт к игроку, прохожий бродит по маршруту. Простые NPC действуют по жёстким правилам, у сложных поведение меняется в зависимости от того, что делает игрок.
В Scratch сделать спрайт-NPC, который сам ходит между двумя точками без нажатия клавиш, и спрайт-игрока под управлением стрелок; показать разницу в управлении.
Игровой агент, управляемый ИИ игры, а не вводом человека. Поведение реализуют разными моделями: конечный автомат (состояния «патруль → погоня → атака»), дерево поведения, поиск пути (A*) по навигационной сетке. NPC получает информацию только из игрового мира — «зрение» и «слух» моделируют, чтобы он не видел игрока сквозь стены. Баланс сложности: слишком умный NPC не оставляет игроку шанса, слишком глупый скучен; часто ИИ намеренно «поддаётся».
В Unity сделать NPC с конечным автоматом из двух состояний — патруль между точками и погоня за игроком при сближении — и настроить дистанцию переключения.
Частое заблуждение
«За NPC играет другой человек». Нет: NPC управляет сама программа игры, а не игрок; продавец, прохожий и враг живут по заданным правилам.