ИИ персонажей в онлайн шутере survarium

42
ИИ персонажей в онлайн шутере Survarium Дмитрий Ясенев Vostok Games 2013

Upload: alexander-konduforov

Post on 01-Jul-2015

497 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: ИИ персонажей в онлайн шутере Survarium

ИИ персонажей в онлайн шутере Survarium

Дмитрий ЯсеневVostok Games

2013

Page 2: ИИ персонажей в онлайн шутере Survarium

ИИ: Среда задачи

• Критерий производительности• Среда• Средства воздействия (Actuators)• Сенсоры

Page 3: ИИ персонажей в онлайн шутере Survarium

ИИ: Основные понятия

Page 4: ИИ персонажей в онлайн шутере Survarium

ИИ: Структура агентов

• Агент = Архитектура + Программа• Тибличный агент• Программы агентов– Простые рефлекторные агенты– Рефлекторные агенты с моделью– Агенты с целью– Агенты с утилитой

Page 5: ИИ персонажей в онлайн шутере Survarium

ИИ: Табличный агент

• Перцепты – последовательность, изначально пустая• Таблица – таблица действий, в которой по

перцептам можно получить действие, изначально полстью определена

• Можно ли построить рациональных агентов таким образом?

• Yes!• Hey, what’s the catch?• Even for game chess table size is • Designer still has no guidance how to fill table entries

Page 6: ИИ персонажей в онлайн шутере Survarium

ИИ: Табличный агент

• Перцепты – последовательность, изначально пустая• Таблица – таблица действий, в которой по

перцептам можно получить действие, изначально полстью определена

• Можно ли построить рациональных агентов таким образом?

• Да!• Hey, what’s the catch?• Even for game chess table size is • Designer still has no guidance how to fill table entries

Page 7: ИИ персонажей в онлайн шутере Survarium

ИИ: Табличный агент

• Перцепты – последовательность, изначально пустая• Таблица – таблица действий, в которой по

перцептам можно получить действие, изначально полстью определена

• Можно ли построить рациональных агентов таким образом?

• Да!• В чем же подвох?• Even for game chess table size is • Designer still has no guidance how to fill table entries

Page 8: ИИ персонажей в онлайн шутере Survarium

ИИ: Табличный агент

• Перцепты – последовательность, изначально пустая• Таблица – таблица действий, в которой по

перцептам можно получить действие, изначально полстью определена

• Можно ли построить рациональных агентов таким образом?

• Да!• В чем же подвох?• Даже для шахмат р• Designer still has no guidance how to fill table entries

Page 9: ИИ персонажей в онлайн шутере Survarium

ИИ: Табличный агент

• Перцепты – последовательность, изначально пустая• Таблица – таблица действий, в которой по

перцептам можно получить действие, изначально полстью определена

• Можно ли построить рациональных агентов таким образом?

• Да!• В чем же подвох?• Даже для шахмат р• Непонятно, как дизайнеру заполнить эту таблицу

Page 10: ИИ персонажей в онлайн шутере Survarium

ИИ: Программы агентов

• Простой рефлекторный агент• Рефлекторные агенты с моделью• Агенты с целью• Агенты с утилитой

Набор if-then правилПодходят только для полностью обозреваемых сред!

Page 11: ИИ персонажей в онлайн шутере Survarium

ИИ: Программы агентов

• Простой рефлекторный агент• Рефлекторные агенты с моделью• Агенты с целью• Агенты с утилитой

Модель мираВнутреннее состояние

Page 12: ИИ персонажей в онлайн шутере Survarium

ИИ: Программы агентов

• Простой рефлекторный агент• Рефлекторные агенты с моделью• Агенты с целью• Агенты с утилитой

Планирование и поискМенее быстрые, но более гибкие

Page 13: ИИ персонажей в онлайн шутере Survarium

ИИ: Программы агентов

• Простой рефлекторный агент• Рефлекторные агенты с моделью• Агенты с целью• Агенты с утилитой

Поддержка конфликтующих целейРабота в условиях неопределенности

Page 14: ИИ персонажей в онлайн шутере Survarium
Page 15: ИИ персонажей в онлайн шутере Survarium

ИИ шутера от первого лица

• Критерий производительности– Бой• Использование укрытий• Использование оружия с разной дистанцией

эффективности• Бой с напарниками

– Симуляция жизни– С ними должно быть интересно играть!

Page 16: ИИ персонажей в онлайн шутере Survarium

ИИ шутера от первого лица

• Среда – Игровой мир + внутреннее представление игровых объектов.

Можно читить до тех пор, пока это не ухудшает геймплей.

Проблема идентификации

Page 17: ИИ персонажей в онлайн шутере Survarium

FPS AI

• Сенсоры– Зрение– Слух– Прикосновение и получение повреждений

Page 18: ИИ персонажей в онлайн шутере Survarium

FPS AI: Сенсор зрения

• Выбрать объекты, которые агент может видеть– Выбрать точку на поверхности объекта– Проверить, видна ли она

• Если видна – сохранить её и каждый раз пробовать её первой• Иначе выбрать новую точку на следующем кадре

• Оценка потенциально видимых объектов– Скорость объекта и его угловой размер– Близость к напрвлению взгляда– Освещение объекта– Время, которое объект находится в списке

потенциально видимых объектов

Page 19: ИИ персонажей в онлайн шутере Survarium

FPS AI: Сенсор зрения

• Режимы зрения– Спокойной состояние– Агрессивное состояние– Частичная или полная слепота

Page 20: ИИ персонажей в онлайн шутере Survarium

FPS AI: Сенсор слуха

• Проверка дистанции• Использование системы секторов/порталов• Уровень шума• Режимы слуха– Спокойной состояние– Агрессивное состояние– Контузия

Page 21: ИИ персонажей в онлайн шутере Survarium

FPS AI: Actuators

• Изменение позиции, ориентации и анимации объекта

• Проигрывание звуков• Изменение состояния других игровых

объектов

Page 22: ИИ персонажей в онлайн шутере Survarium

FPS AI: Программа агента

• Перевод данных сенсоров во внутреннее представление игрового мира

• Принятие решения• Выполнение действий

Page 23: ИИ персонажей в онлайн шутере Survarium

FPS AI: Представление игрового мира

• Враги• Опасности– Аномалии– Гранаты неподалеку, готовые взорваться

• Оружие, которое можно подобрать• Важные игровые объекты

Page 24: ИИ персонажей в онлайн шутере Survarium

FPS AI: Перцепторы

• Перцептор переводит данные сенсоров• Память агента– База данных фактов

Page 25: ИИ персонажей в онлайн шутере Survarium

FPS AI: Принятие решения

• Рефлекторные агенты с моделью на верхнем уровне– Спокойное состояние– Смерть– Ранение– Контузия– Слепота

• Конечный автомат (FSM)

Page 26: ИИ персонажей в онлайн шутере Survarium

FPS AI: Принятие решений

• Агент с целью для Спокойного состояния– Разделение целей и действий– Цель: убить врага, выполнить приказ– Действия

• Занять укрытие• Стрельба из укрытия• Бросить гранату • …

• Агент строит план действий, которые удовлетворяют выбранную цель(цели)

Page 27: ИИ персонажей в онлайн шутере Survarium

FPS AI: Что на выходе?

• Изменение позиции, ориентации и анимации объекта

• Проигрывание звуков• Изменение состояния других игровых

объектов

Page 28: ИИ персонажей в онлайн шутере Survarium

FPS AI: Что на выходе?

• Изменение позиции, ориентации и анимации объекта– Навигационный граф– Locomotion

• Проигрывание звуков• Изменение состояния других игровых

объектов

Page 29: ИИ персонажей в онлайн шутере Survarium

Вызовы навигационной системы• Существа могут иметь разные размеры и формы• Существа могут использовать для передвижения потолок и

стены• “Как мне добраться туда?”

– Добраться как можно быстрее– Добраться без сложных движений (прыжков)– Добраться так, чтобы не быть замеченным указанными персонажами

• “Как мне добраться туда разными путями?”• “Дай все тактические позиции (укрытия, к примеру) рядом со

мной ” (от указанного врага)• Поддержка действительно длинных путей• Разрушающаяся среда

Page 30: ИИ персонажей в онлайн шутере Survarium

Вызовы навигационной системы

• Нужно помнить, что необходимо– Трэкать позицию игрока– Было бы замечательно иметь один граф для

всех существ– Быстрое (на лету!) генерирование

навигационного графа– Поддержка динамических препятствий– Быстрое нахождение пути– Начать двигаться как можно скорее

Page 31: ИИ персонажей в онлайн шутере Survarium

FPS AI: Навигационный граф

• Waypoints• Ячейки фиксированного размера• Navigation mesh• …

Page 32: ИИ персонажей в онлайн шутере Survarium

FPS AI: Навигационный граф

• Waypoints• Ячейки фиксированного размера• Navigation mesh• …

Page 33: ИИ персонажей в онлайн шутере Survarium

FPS AI: Navigation mesh

• Генерирование– В оффлайне– Обновлять информацию о динамических

препятствиях• использование– Построение путей – TRA*– Алгоритм Funnel– Учет радиуса объектов– Иерархия для поддержки длинных путей

Page 34: ИИ персонажей в онлайн шутере Survarium

FPS AI: Navigation mesh

Page 35: ИИ персонажей в онлайн шутере Survarium

FPS AI: Navigation mesh

Page 36: ИИ персонажей в онлайн шутере Survarium

FPS AI: Navigation mesh

Page 37: ИИ персонажей в онлайн шутере Survarium

Вызовы системы Locomotion

• Выбор анимаций• Проскальзывание ног• Обход динамических препятствий– RVO - Reciprocal Velocity Obstacles– ORCA - Optimal Reciprocal Collision Avoidance

Page 38: ИИ персонажей в онлайн шутере Survarium

FPS AI: Выбор анимаций

• Должна ли анимация двигать персонажа?• Смешивание анимаций• Синхронизация анимаций– Масштабирование– Анимационные интервалы

• Поиск в пространстве анимаций

Page 39: ИИ персонажей в онлайн шутере Survarium

FPS AI: Locomotion

• Проскальзывание ног– Смешивание анимаций– Поверхность под ногами

• Решение – инверсная кинематика– Выбрать правильную матрицу для ноги– Рассчитать матрицу колена

Page 40: ИИ персонажей в онлайн шутере Survarium

FPS AI: Обход динамических препятствий

• Физические объекты• Двери• Другие персонажи• Canyon Stack Problem

Page 41: ИИ персонажей в онлайн шутере Survarium
Page 42: ИИ персонажей в онлайн шутере Survarium

Вопросы?

• Присылайте вопросы на [email protected]

• Мы лишь прикоснулись к прекрасному, изучайте глубже!– “AI : A Modern Approach”, 3-е издание– “Game AI Wisdom ” серия книг (I, II, III, IV)– http://www.udacity.com– https://www.coursera.org/