1 / 25

Организация разработки AI в стратегических играх

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

fionn
Download Presentation

Организация разработки AI в стратегических играх

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

More Related