Организация разработки AI в стратегических играх Андрей Плахов.

Презентация:



Advertisements
Похожие презентации
Тестирование "вслепую". Проблемы и решения. Чёрный Леонид Менеджер по тестированию.
Advertisements

Технология Фрагментированного Программирования Летняя школа по параллельному программированию Отдел МО ВВС ИВМиМГ СО РАН 2009 г.
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
Основные ошибки гейм-дизайнера Вознюк Максим
Защита проекта по программированию Автор проекта: Сазанов Арсений ученик 10 «б» класса.
EXtreme Programming XP Тема 2. XP Заказчики определяют: объем работ; приоритеты; композиции версий; сроки выпуска версий. Разработчики определяют: оценку.
Опыт разработки анимационной системы в Action играх Красногор Антон программист КОНФЕРЕНЦИЯ РАЗРАБОТЧИКОВ КОМПЬЮТЕРНЫХ ИГР Апрель 2-3, 2005 Москва, Россия.
Цель моей работы определить в чем заключается работа гейм- дизайнера.
Результаты ГИА по информатике Ульяновск, ЕГЭ Участников 507 Пороговый балл - 40 Доля участников, не преодолевших «минимальный порог» (%) Доля участников,
РАСПРОСТРАНЕННЫЕ ОШИБКИ В ИДЕОЛОГИИ, ПЛАНИРОВАНИИ И ПРОВЕДЕНИИ ТЕСТИРОВАНИЯ 2.
Основы проектирования интерфейсов Самые-самые основы.
Структура части 2 экзаменационной работы по информатике и ИКТ.
ОБОСНОВАНИЕ МЕТОДИКИ Текущие игроки максимально всесторонне развиты? Сократить расходы основной команды на игроков, которые не всегда дают лучшую производительность.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
- это средство управления деятельностью, наиболее конкретная и выполнимая форма работы учреждения, организации, объединения. Проект представляет собой.
Применение генетических алгоритмов для генерации тестов к олимпиадным задачам по программированию Буздалов М.В., СПбГУ ИТМО.
OpenGL и Direct3D сравнение стандартов Выполнил: Пенкин А. Группа И-204.
Система поддержки принятия решений в кризисных ситуациях В.С.Кретов,д.т.н., профессор Российской академии государственной службы при Президенте РФ И.С.Лебедев,ведущий.
1 этап. Постановка задачи 2 этап. Анализ и исследование задачи 3 этап. Разработка алгоритма 4 этап. Разработка программы 5 этап. Тестирование и отладка.
СУЩНОСТЬ И МЕТОДЫ ПЛАНИРОВАНИЯ И ПРОГНОЗИРОВАНИЯ Планирование и прогнозирование в системе менеджмента.
Транксрипт:

Организация разработки AI в стратегических играх Андрей Плахов

Организация разработки AI в стратегических играх Андрей Плахов Что будет Опыт проектов Silent Storm и Silent Storm: Sentinels Типичные проблемы «Идеальная» архитектура AI для RTS и TBS Приемы совместной работа дизайнеров, программистов и тестеров

Организация разработки AI в стратегических играх Андрей Плахов Чего не будет Нейронные сети, генетические алгоритмы, цепи Маркова, нечеткая логика... Узкоспециализированные алгоритмы Поиск пути (pathfinding) и следование по пути (pathtracking)

Организация разработки AI в стратегических играх Андрей Плахов Основные задачи мы хотим создать хорошую игру, а не сверхразум мы хотим продемонстрировать игроку как можно более разнообразное (и при этом не глупое) поведение мы хотим затратить на реализацию всех вариантов поведения как можно меньшее время, силы и деньги

Организация разработки AI в стратегических играх Андрей Плахов Эволюция AI в Silent Storm просчет дерева позиций просчет пар «позиция – действие» иерархия «логика действия» иерархия «реакция логика действия»

Организация разработки AI в стратегических играх Андрей Плахов Проблемы разработки AI в Silent Storm Затруднены трассировка исполнения и исправление ошибок AI ошибочно применяет тактические приемы в нетипичных ситуациях Отсутствует предсказуемость, затруднена реализация сценария «Зависания» AI Затруднена реализация одновременных действий

Организация разработки AI в стратегических играх Андрей Плахов Общие проблемы с AI во многих играх применение тактического приема или другого действия в явно неподходящей ситуации AI упорно повторяет бессмысленные действия

Организация разработки AI в стратегических играх Андрей Плахов Архитектурные ошибки Ошибочное отношение между AI- состоянием и игровым персонажем Жесткая структура дерева AI-логик Описание действий AI, а не его задач

Организация разработки AI в стратегических играх Андрей Плахов Задача: сделай А,чтобы получить X, когда Х достигнуто, сделай В, чтобы получить Y Бессмысленное действие: X или даже Y уже и так выполняется, но мы все-таки делаем А Ошибка: Действия А выполнены, но X не наступило Непредвиденная ситуация: Действия А выполнены, X наступило, мы выполняем B, но в этот момент X вновь перестает выполняться В коде обычно пишут: Сделай А, затем сделай В

Организация разработки AI в стратегических играх Андрей Плахов «Идеальная» архитектура скрытие источников управления древовидная структура «планов» ассоциированные логические цепочки для каждого «плана» обработка нарушений ассоциированной логической цепочки минимальное поведение возможность запретить и директивно установить любой «план» три вида обработки провала «плана»

Организация разработки AI в стратегических играх Андрей Плахов «Идеальная» архитектура: Скрытие источников управления игрок (клавиатура, мышь) игрок (игра по сети) AI скрипт

Организация разработки AI в стратегических играх Андрей Плахов «Идеальная» архитектура: Древовидная структура планов простейшее поведение (следовать, атаковать) тактические приемы (отступление, перегруппировка), использование рельефа местности тактики (наступать, обороняться, прорваться, окружить) стратегии (rush, контроль ресурсов)...

Организация разработки AI в стратегических играх Андрей Плахов «Идеальная» архитектура: Ассоциированные логические цепочки промежуточное звено между идеей и кодом понятны гейм-дизайнерам, программистам, тестерам описывают не только действия, но также цели и предположения содержат условия «критического провала» защищают от бессмысленных действий, непредвиденных ситуаций

Организация разработки AI в стратегических играх Андрей Плахов «Идеальная» архитектура: Обработка нарушений ассоциированной логической цепочки перебор подходящих для выполнения задачи планов ни одного не осталось – провален план более высокого уровня не осталось планов – использовать минимальное поведение Минимальное поведение несколько простых правил тестируется в первую очередь

Организация разработки AI в стратегических играх Андрей Плахов «Идеальная» архитектура: Поддержка «режиссерских задумок» и сценария возможность запретить любой план из скрипта или в настройках карты возможность директивно установить любой план из скрипта или в настройках карты

Организация разработки AI в стратегических играх Андрей Плахов «Идеальная» архитектура: Обработка провала плана (глобальный уровень) стратегия: запретить до конца игры на данной карте тактический прием: снизить вероятность базовое поведение: игнорировать провал

Организация разработки AI в стратегических играх Андрей Плахов Что мы теряем? идеальных архитектур не бывает, как не бывает средства от всех болезней накладные расходы на создание сложной архитектуры: окупятся ли? игра должна быть действительно сложной, а требования к AI – действительно высокими 18 (+ 6) месяцев программирования 6 (+ 6) месяцев тестирования 6 месяцев дизайна

Организация разработки AI в стратегических играх Андрей Плахов Рекомендации для дизайнеров не верьте мне придумывайте, какое поведение вы хотите получить, а не каким образом миниигры: думайте о том, как в них будет играть AI можно ли ее отменить совсем? можно ли, немного изменив ее правила, сильно ускорить разработку? можно ли имитировать ее результаты более простой процедурой?

Организация разработки AI в стратегических играх Андрей Плахов Рекомендации программистам не увлекайтесь высокими технологиями забудьте про самообучение сделайте систему визуального мониторинга AI

Организация разработки AI в стратегических играх Андрей Плахов Производственные циклы Создание основы – 1 раз создание общей архитектуры AI (ведущий программист) формулировка правил «минимального поведения» (дизайнер) реализация «минимального поведения» (программист AI) тестирование и уточнение «минимального поведения» (QA, дизайнер) внесение изменений в код (программист AI)

Организация разработки AI в стратегических играх Андрей Плахов Производственные циклы Feature implementing – около 30 раз научить AI защищаться от Х - 60% научить AI в случайные моменты использовать Х- 30% научить AI «по делу» использовать Х- 10%

Организация разработки AI в стратегических играх Андрей Плахов Производственные циклы Новый тактический прием, стратегия – около 20 раз придумать прием и сформулировать первый вариант ассоциированной логической цепочки понять, почему игрок увидит его и поймет понять, почему игрок скажет: «Wow!» дать подробное описание в общедоступном месте реализовать в коде основная логика установка и запрещение из скрипта и редактора карт ассоциированная цепочка

Организация разработки AI в стратегических играх Андрей Плахов Производственные циклы Выявление и исправление ошибки – порядка 100 раз 2 вида тестирования: «в общем» и «по спецификации» 30% / 70% только явно глупое поведение – ошибка понять, где ошибка – в ассоциированной логической цепочке или в коде? исправление кода по необходимости, удлиннение цепочки

Организация разработки AI в стратегических играх Андрей Плахов Вот о чем мы поговорили основные задачи при разработке AI AI в Silent Storm: хорошее и плохое типичные ошибки «идеальная» архитектура и ее применимость рекомендации программистам и дизайнерам производственные циклы: кто и что должен делать Текст доклада будет доступен. Где именно – напишу на dev.dtf.ru, форум dtf.dev.ai

ВОПРОСЫ ЕСТЬ? Все использованные изображения принадлежат их законным владельцам и найдены в открытых источниках