SlideShare une entreprise Scribd logo
1  sur  42
ИИ персонажей в онлайн
   шутере Survarium

       Дмитрий Ясенев
        Vostok Games
            2013
ИИ: Среда задачи
•   Критерий производительности
•   Среда
•   Средства воздействия (Actuators)
•   Сенсоры
ИИ: Основные понятия
ИИ: Структура агентов
• Агент = Архитектура + Программа
• Тибличный агент
• Программы агентов
  – Простые рефлекторные агенты
  – Рефлекторные агенты с моделью
  – Агенты с целью
  – Агенты с утилитой
ИИ: Табличный агент
ИИ: Табличный агент
ИИ: Табличный агент
ИИ: Табличный агент
ИИ: Табличный агент
ИИ: Программы агентов
•   Простой рефлекторный агент
•   Рефлекторные агенты с моделью
•   Агенты с целью
•   Агенты с утилитой

Набор if-then правил
Подходят только для полностью
обозреваемых сред!
ИИ: Программы агентов
•   Простой рефлекторный агент
•   Рефлекторные агенты с моделью
•   Агенты с целью
•   Агенты с утилитой

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

Планирование и поиск
Менее быстрые, но более гибкие
ИИ: Программы агентов
•   Простой рефлекторный агент
•   Рефлекторные агенты с моделью
•   Агенты с целью
•   Агенты с утилитой

Поддержка конфликтующих целей
Работа в условиях неопределенности
ИИ шутера от первого лица
• Критерий производительности
  – Бой
    • Использование укрытий
    • Использование оружия с разной дистанцией
      эффективности
    • Бой с напарниками
  – Симуляция жизни
  – С ними должно быть интересно играть!
ИИ шутера от первого лица
• Среда – Игровой мир + внутреннее
  представление игровых объектов.

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

Проблема идентификации
FPS AI
• Сенсоры
  – Зрение
  – Слух
  – Прикосновение и получение повреждений
FPS AI: Сенсор зрения
• Выбрать объекты, которые агент может видеть
  – Выбрать точку на поверхности объекта
  – Проверить, видна ли она
       • Если видна – сохранить её и каждый раз пробовать её первой
       • Иначе выбрать новую точку на следующем кадре
• Оценка потенциально видимых объектов
  –   Скорость объекта и его угловой размер
  –   Близость к напрвлению взгляда
  –   Освещение объекта
  –   Время, которое объект находится в списке
      потенциально видимых объектов
FPS AI: Сенсор зрения
• Режимы зрения
  – Спокойной состояние
  – Агрессивное состояние
  – Частичная или полная слепота
FPS AI: Сенсор слуха
•   Проверка дистанции
•   Использование системы секторов/порталов
•   Уровень шума
•   Режимы слуха
    – Спокойной состояние
    – Агрессивное состояние
    – Контузия
FPS AI: Actuators
• Изменение позиции, ориентации и
  анимации объекта
• Проигрывание звуков
• Изменение состояния других игровых
  объектов
FPS AI: Программа агента
• Перевод данных сенсоров во внутреннее
  представление игрового мира
• Принятие решения
• Выполнение действий
FPS AI: Представление игрового
               мира
• Враги
• Опасности
  – Аномалии
  – Гранаты неподалеку, готовые взорваться
• Оружие, которое можно подобрать
• Важные игровые объекты
FPS AI: Перцепторы
• Перцептор переводит данные сенсоров
• Память агента
  – База данных фактов
FPS AI: Принятие решения
• Рефлекторные агенты с моделью на
  верхнем уровне
  – Спокойное состояние
  – Смерть
  – Ранение
  – Контузия
  – Слепота
• Конечный автомат (FSM)
FPS AI: Принятие решений
• Агент с целью для Спокойного состояния
  – Разделение целей и действий
  – Цель: убить врага, выполнить приказ
  – Действия
     •   Занять укрытие
     •   Стрельба из укрытия
     •   Бросить гранату
     •   …
• Агент строит план действий, которые
  удовлетворяют выбранную цель(цели)
FPS AI: Что на выходе?
• Изменение позиции, ориентации и
  анимации объекта
• Проигрывание звуков
• Изменение состояния других игровых
  объектов
FPS AI: Что на выходе?
• Изменение позиции, ориентации и
  анимации объекта
  – Навигационный граф
  – Locomotion
• Проигрывание звуков
• Изменение состояния других игровых
  объектов
Вызовы навигационной системы
• Существа могут иметь разные размеры и формы
• Существа могут использовать для передвижения потолок и
  стены
• “Как мне добраться туда?”
   – Добраться как можно быстрее
   – Добраться без сложных движений (прыжков)
   – Добраться так, чтобы не быть замеченным указанными
     персонажами
• “Как мне добраться туда разными путями?”
• “Дай все тактические позиции (укрытия, к примеру) рядом со
  мной ” (от указанного врага)
• Поддержка действительно длинных путей
• Разрушающаяся среда
Вызовы навигационной системы
• Нужно помнить, что необходимо
  – Трэкать позицию игрока
  – Было бы замечательно иметь один граф для
    всех существ
  – Быстрое (на лету!) генерирование
    навигационного графа
  – Поддержка динамических препятствий
  – Быстрое нахождение пути
  – Начать двигаться как можно скорее
FPS AI: Навигационный граф
•   Waypoints
•   Ячейки фиксированного размера
•   Navigation mesh
•   …
FPS AI: Навигационный граф
•   Waypoints
•   Ячейки фиксированного размера
•   Navigation mesh
•   …
FPS AI: Navigation mesh
• Генерирование
  – В оффлайне
  – Обновлять информацию о динамических
    препятствиях
• использование
  – Построение путей – TRA*
  – Алгоритм Funnel
  – Учет радиуса объектов
  – Иерархия для поддержки длинных путей
FPS AI: Navigation mesh
FPS AI: Navigation mesh
FPS AI: Navigation mesh
Вызовы системы Locomotion
• Выбор анимаций
• Проскальзывание ног
• Обход динамических препятствий
  – RVO - Reciprocal Velocity Obstacles
  – ORCA - Optimal Reciprocal Collision Avoidance
FPS AI: Выбор анимаций
• Должна ли анимация двигать персонажа?
• Смешивание анимаций
• Синхронизация анимаций
  – Масштабирование
  – Анимационные интервалы
• Поиск в пространстве анимаций
FPS AI: Locomotion
• Проскальзывание ног
  – Смешивание анимаций
  – Поверхность под ногами
• Решение – инверсная кинематика
  – Выбрать правильную матрицу для ноги
  – Рассчитать матрицу колена
FPS AI: Обход динамических
                препятствий
•   Физические объекты
•   Двери
•   Другие персонажи
•   Canyon Stack Problem
Вопросы?
• Присылайте вопросы на
 iassenev@vostokgames.com
• Мы лишь прикоснулись к прекрасному,
  изучайте глубже!
  – “AI : A Modern Approach”, 3-е издание
  – “Game AI Wisdom ” серия книг (I, II, III, IV)
  – http://www.udacity.com
  – https://www.coursera.org/

Contenu connexe

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

King's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameKing's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameDevGAMM Conference
 
Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Daria Oreshkina
 
концепт и архитектура геймплея в Creach: The Depleted World
концепт и архитектура геймплея в Creach: The Depleted Worldконцепт и архитектура геймплея в Creach: The Depleted World
концепт и архитектура геймплея в Creach: The Depleted WorldSperasoft
 
Как сделать свою VR игру и не остаться без штанов / Алексей Гагарин (Deep Typ...
Как сделать свою VR игру и не остаться без штанов / Алексей Гагарин (Deep Typ...Как сделать свою VR игру и не остаться без штанов / Алексей Гагарин (Deep Typ...
Как сделать свою VR игру и не остаться без штанов / Алексей Гагарин (Deep Typ...DevGAMM Conference
 
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игруTech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игруTech Talks @NSU
 
Effective using of Motion Capture technology in gamedev project
Effective using of Motion Capture technology in gamedev projectEffective using of Motion Capture technology in gamedev project
Effective using of Motion Capture technology in gamedev projectDevGAMM Conference
 

Similaire à ИИ персонажей в онлайн шутере Survarium (7)

King's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world gameKing's Bounty 2: Tools and tech for open world game
King's Bounty 2: Tools and tech for open world game
 
Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!Сергей Парамонов — Что наша жизнь — игра!
Сергей Парамонов — Что наша жизнь — игра!
 
концепт и архитектура геймплея в Creach: The Depleted World
концепт и архитектура геймплея в Creach: The Depleted Worldконцепт и архитектура геймплея в Creach: The Depleted World
концепт и архитектура геймплея в Creach: The Depleted World
 
Как сделать свою VR игру и не остаться без штанов / Алексей Гагарин (Deep Typ...
Как сделать свою VR игру и не остаться без штанов / Алексей Гагарин (Deep Typ...Как сделать свою VR игру и не остаться без штанов / Алексей Гагарин (Deep Typ...
Как сделать свою VR игру и не остаться без штанов / Алексей Гагарин (Deep Typ...
 
Playing in the browser
Playing in the browserPlaying in the browser
Playing in the browser
 
Tech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игруTech Talks @NSU: Как сделать Dota-like игру
Tech Talks @NSU: Как сделать Dota-like игру
 
Effective using of Motion Capture technology in gamedev project
Effective using of Motion Capture technology in gamedev projectEffective using of Motion Capture technology in gamedev project
Effective using of Motion Capture technology in gamedev project
 

Dernier (9)

CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 

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

  • 1. ИИ персонажей в онлайн шутере Survarium Дмитрий Ясенев Vostok Games 2013
  • 2. ИИ: Среда задачи • Критерий производительности • Среда • Средства воздействия (Actuators) • Сенсоры
  • 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. Вызовы навигационной системы • Нужно помнить, что необходимо – Трэкать позицию игрока – Было бы замечательно иметь один граф для всех существ – Быстрое (на лету!) генерирование навигационного графа – Поддержка динамических препятствий – Быстрое нахождение пути – Начать двигаться как можно скорее
  • 31. FPS AI: Навигационный граф • Waypoints • Ячейки фиксированного размера • Navigation mesh • …
  • 32. FPS AI: Навигационный граф • Waypoints • Ячейки фиксированного размера • Navigation mesh • …
  • 33. FPS AI: Navigation mesh • Генерирование – В оффлайне – Обновлять информацию о динамических препятствиях • использование – Построение путей – TRA* – Алгоритм Funnel – Учет радиуса объектов – Иерархия для поддержки длинных путей
  • 37. Вызовы системы Locomotion • Выбор анимаций • Проскальзывание ног • Обход динамических препятствий – RVO - Reciprocal Velocity Obstacles – ORCA - Optimal Reciprocal Collision Avoidance
  • 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/