Демонстрация действий NPC.
NPC (non-player character, неигровой персонаж, бот) - персонаж в играх, который не находится под контролем игрока.
AI (artificial intelligence, искусственный интеллект, ИИ) - в контексте движка UE5 это компонент NPC, отвечающий за его поведение.
В движке алгоритм действий NPC закладывается с помощью так называемого Behavior Tree (дерево поведения). Помимо него, ботам можно добавлять органы чувств - зрение, слух, осязание. Есть также другие, довольно многочисленные, инструменты AI. Из чувств, боты на видео используют только зрение.
На данный момент в проекте реализовано 3 модели поведения ботов: 1) ничего не делать; 2) оборонять точку; 3) блуждать по местности и атаковать при встрече.
Оборона точки показана в первой части клипа. Условный ценный актив обороняют три рыцаря. При входе в определённый периметр, если бот видит игрока, он считает его нарушителем и бежит к нему. При этом, если игрок покинет периметр, бот теряет к нему интерес и возвращается на место. Можно заметить, что пока бот идёт обратно, он не видит игрока, и к нему можно подбежать ближе.
При потере игрока из виду, например когда игрок перепрыгивает бота, он продолжает его преследовать - я сделал некое подобие памяти этим NPC. В конце один из ботов падает, сражённый ударом своего соратника - это был Friendly Fire (дружественный огонь). Дружественный огонь добавляет интереса битвам.
Примечание. Про систему боя будет отдельный пост.
Во второй части видео игрок пробегает мимо волка, который начинает его преследовать. Если честно я даже не понял, где он находился. Далее можно заметить, как волк ищет подходящий путь, чтобы приблизиться к игроку. Этот механизм называется Navigation Mesh (навигационная сетка). Навигационной сеткой покрыта вся карта. Благодаря ей боты понимают, где можно пройти, а где нельзя. В конце видео появляется второй волк, и первый нападает на него, потеряв интерес к игроку.
P.S: музыка в ролике моя.