• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ИИ персонажей в онлайн шутере Survarium
 

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

on

  • 681 views

 

Statistics

Views

Total Views
681
Views on SlideShare
681
Embed Views
0

Actions

Likes
1
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • ИИ персонажей в онлайн шутере 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/