4. ИИ: Структура агентов
• Агент = Архитектура + Программа
• Тибличный агент
• Программы агентов
– Простые рефлекторные агенты
– Рефлекторные агенты с моделью
– Агенты с целью
– Агенты с утилитой
10. ИИ: Программы агентов
• Простой рефлекторный агент
• Рефлекторные агенты с моделью
• Агенты с целью
• Агенты с утилитой
Набор if-then правил
Подходят только для полностью
обозреваемых сред!
11. ИИ: Программы агентов
• Простой рефлекторный агент
• Рефлекторные агенты с моделью
• Агенты с целью
• Агенты с утилитой
Модель мира
Внутреннее состояние
12. ИИ: Программы агентов
• Простой рефлекторный агент
• Рефлекторные агенты с моделью
• Агенты с целью
• Агенты с утилитой
Планирование и поиск
Менее быстрые, но более гибкие
13. ИИ: Программы агентов
• Простой рефлекторный агент
• Рефлекторные агенты с моделью
• Агенты с целью
• Агенты с утилитой
Поддержка конфликтующих целей
Работа в условиях неопределенности
14.
15. ИИ шутера от первого лица
• Критерий производительности
– Бой
• Использование укрытий
• Использование оружия с разной дистанцией
эффективности
• Бой с напарниками
– Симуляция жизни
– С ними должно быть интересно играть!
16. ИИ шутера от первого лица
• Среда – Игровой мир + внутреннее
представление игровых объектов.
Можно читить до тех пор, пока это не
ухудшает геймплей.
Проблема идентификации
17. FPS AI
• Сенсоры
– Зрение
– Слух
– Прикосновение и получение повреждений
18. FPS AI: Сенсор зрения
• Выбрать объекты, которые агент может видеть
– Выбрать точку на поверхности объекта
– Проверить, видна ли она
• Если видна – сохранить её и каждый раз пробовать её первой
• Иначе выбрать новую точку на следующем кадре
• Оценка потенциально видимых объектов
– Скорость объекта и его угловой размер
– Близость к напрвлению взгляда
– Освещение объекта
– Время, которое объект находится в списке
потенциально видимых объектов
19. FPS AI: Сенсор зрения
• Режимы зрения
– Спокойной состояние
– Агрессивное состояние
– Частичная или полная слепота
20. FPS AI: Сенсор слуха
• Проверка дистанции
• Использование системы секторов/порталов
• Уровень шума
• Режимы слуха
– Спокойной состояние
– Агрессивное состояние
– Контузия
21. FPS AI: Actuators
• Изменение позиции, ориентации и
анимации объекта
• Проигрывание звуков
• Изменение состояния других игровых
объектов
22. FPS AI: Программа агента
• Перевод данных сенсоров во внутреннее
представление игрового мира
• Принятие решения
• Выполнение действий
23. FPS AI: Представление игрового
мира
• Враги
• Опасности
– Аномалии
– Гранаты неподалеку, готовые взорваться
• Оружие, которое можно подобрать
• Важные игровые объекты
24. FPS AI: Перцепторы
• Перцептор переводит данные сенсоров
• Память агента
– База данных фактов
25. FPS AI: Принятие решения
• Рефлекторные агенты с моделью на
верхнем уровне
– Спокойное состояние
– Смерть
– Ранение
– Контузия
– Слепота
• Конечный автомат (FSM)
26. FPS AI: Принятие решений
• Агент с целью для Спокойного состояния
– Разделение целей и действий
– Цель: убить врага, выполнить приказ
– Действия
• Занять укрытие
• Стрельба из укрытия
• Бросить гранату
• …
• Агент строит план действий, которые
удовлетворяют выбранную цель(цели)
27. FPS AI: Что на выходе?
• Изменение позиции, ориентации и
анимации объекта
• Проигрывание звуков
• Изменение состояния других игровых
объектов
28. FPS AI: Что на выходе?
• Изменение позиции, ориентации и
анимации объекта
– Навигационный граф
– Locomotion
• Проигрывание звуков
• Изменение состояния других игровых
объектов
29. Вызовы навигационной системы
• Существа могут иметь разные размеры и формы
• Существа могут использовать для передвижения потолок и
стены
• “Как мне добраться туда?”
– Добраться как можно быстрее
– Добраться без сложных движений (прыжков)
– Добраться так, чтобы не быть замеченным указанными
персонажами
• “Как мне добраться туда разными путями?”
• “Дай все тактические позиции (укрытия, к примеру) рядом со
мной ” (от указанного врага)
• Поддержка действительно длинных путей
• Разрушающаяся среда
30. Вызовы навигационной системы
• Нужно помнить, что необходимо
– Трэкать позицию игрока
– Было бы замечательно иметь один граф для
всех существ
– Быстрое (на лету!) генерирование
навигационного графа
– Поддержка динамических препятствий
– Быстрое нахождение пути
– Начать двигаться как можно скорее
33. FPS AI: Navigation mesh
• Генерирование
– В оффлайне
– Обновлять информацию о динамических
препятствиях
• использование
– Построение путей – TRA*
– Алгоритм Funnel
– Учет радиуса объектов
– Иерархия для поддержки длинных путей
38. FPS AI: Выбор анимаций
• Должна ли анимация двигать персонажа?
• Смешивание анимаций
• Синхронизация анимаций
– Масштабирование
– Анимационные интервалы
• Поиск в пространстве анимаций
39. FPS AI: Locomotion
• Проскальзывание ног
– Смешивание анимаций
– Поверхность под ногами
• Решение – инверсная кинематика
– Выбрать правильную матрицу для ноги
– Рассчитать матрицу колена
40. FPS AI: Обход динамических
препятствий
• Физические объекты
• Двери
• Другие персонажи
• Canyon Stack Problem
41.
42. Вопросы?
• Присылайте вопросы на
iassenev@vostokgames.com
• Мы лишь прикоснулись к прекрасному,
изучайте глубже!
– “AI : A Modern Approach”, 3-е издание
– “Game AI Wisdom ” серия книг (I, II, III, IV)
– http://www.udacity.com
– https://www.coursera.org/