Раздел
ИИ персонажей
Как враги и союзники видят, думают и ходят: состояния, деревья поведения, поиск пути, восприятие, планирование и толпы.
Основы
ИИ в играх: не умный, а убедительныйскороЧем игровой ИИ отличается от нейросетей: задача — не победить игрока, а сыграть роль. Цикл «увидеть — решить — сделать», честность и обман и почему иногда ИИ промахивается нарочно.ИИ на состояниях: патруль, тревога, бойскороКак описать врага состояниями: патрулирует, насторожен, атакует, ищет, бежит. Переходы по событиям, вложенные состояния и где такой ИИ становится запутанным.Деревья поведенияскороКак устроено дерево поведения: последовательности и выборы, проверки-условия, задачи, память ИИ в виде доски с записями — и почему деревья проще расширять, чем автоматы. Деревья в Unreal.StateTree в Unreal: состояния и деревья вместескороКак StateTree соединяет иерархию состояний с выбором, как в дереве поведения: состояния, задачи, условия входа и переходы — и когда выбирать его вместо деревьев поведения.Враг, который патрулирует, видит и догоняетскороПо шагам в Unreal: навигация на уровне, точки патруля, зрение и слух, погоня, потеря цели и возвращение к патрулю, отладка того, что видит и думает враг.
Движение
Поиск пути: A* на пальцахскороКак персонаж находит дорогу: граф точек и рёбер, поиск в ширину, алгоритм Дейкстры и A* с подсказкой «куда ближе», цена пути по разной земле и почему путь выглядит роботским, пока его не сгладили.Навигационная сетка: где можно ходитьскороКак движок понимает, где пройдёт персонаж: сетка многоугольников поверх уровня, радиус и высота агента, ступени и склоны, связи для прыжков и дверей и перестройка сетки на лету.Рулевое поведение: стаи, обход и преследованиескороКак персонажи двигаются живо, а не по рельсам: стремление к цели, торможение у неё, обход препятствий, расталкивание соседей и стая из трёх простых правил.Толпы: тысячи агентовскороКак оживить город тысячами людей: упрощённые агенты, движение потоками, уровни детализации ИИ, анимация для толп и Mass в Unreal.
Решения и восприятие
Чувства ИИ: зрение, слух и памятьскороКак враг замечает игрока: конус зрения, проверка лучом, свет и тень, шум шагов, нарастание подозрения и память о том, где игрока видели в последний раз. Почему честные чувства делают стелс интересным.Выбор места: куда встать и где укрытьсяскороКак ИИ выбирает точку: разбросать кандидатов вокруг, отбросить негодные и оценить остальные — укрытие от игрока, расстояние, видимость цели. Система запросов к окружению (EQS) в Unreal.Utility AI: выбор по очкамскороКак ИИ взвешивает много желаний сразу: голод, страх, скуку, приказ. Оценки действий кривыми, выбор лучшего и случайность среди близких — и почему такой ИИ выглядит живее.GOAP: ИИ, который планируетскороКак ИИ сам составляет план из действий: цель, условия и последствия каждого действия, поиск плана и перепланирование, когда мир изменился. Чем это лучше и хуже деревьев.ИИ в пошаговых играх: перебор ходов и Монте-КарлоскороКак компьютер играет в шахматы, карты и пошаговые стратегии: дерево ходов, перебор с отсечением, оценка позиции и случайные партии до конца — и почему сильный противник не всегда интересный.Машинное обучение в играх: где оно правда работаетскороГде нейросети и обучение уже помогают играм — анимация, тестирование ботами, апскейл картинки, — и почему поведение врагов до сих пор чаще пишут правилами.
Разборы
Halo 2: дерево поведения для сотни решенийскороКак Bungie держала сложное поведение врагов под контролем: дерево решений с приоритетами, стимулы и память. По докладу Дамиана Ислы «Handling Complexity in the Halo 2 AI» (GDC 2005).F.E.A.R.: три состояния и планскороКак солдаты F.E.A.R. обходят с флангов, отступают и переговариваются: планировщик действий поверх простой машины состояний и реплики, которые объясняют игроку, что задумал ИИ. По докладу Джеффа Оркина «Three States and a Plan» (GDC 2006).Left 4 Dead: режиссёр темпаскороКак ИИ-режиссёр следит за напряжением игроков и решает, когда послать орду, а когда дать передохнуть: волны, отдых и случайность внутри правил. По докладу Майкла Бута «The AI Systems of Left 4 Dead» (2009).