Введение 4
1. Обзор 6
1.1. Коллекционные карточные игры 6
1.2. Генерация динамического контента 10
1.3. Mighty Party 13
2. Актуальность темы 15
3. Постановка задачи 16
4. Основная часть 18
4.1. Рекуррентные нейронные сети 18
4.2. Формальное представление 22
4.3. Описание данных 26
4.4. Эксперименты 27
4.5. Оценка генерируемых элементов 29
5. Результаты 36
Список литературы 37
Примечание 39
В последние годы интерес к генерации игрового контента на основе существующего посредством методов машинного обучения, а также значимость генерируемых данных в игровой индустрии значительно выросли. С этим связана и популярность этого направления в области научных исследований: постоянно изучаются методы и новые возможности [12], [17], [19] создания высококачественного игрового контента (любая составляющая игры: уровни, музыка, правила, атмосфера, текстуры, герои, сюжеты и т.п.) с участием или без участия человека [11].
Автоматическая генерация игрового контента - актуальная задача в области разработки игр [1], [16]. Она не только добавляет играм разнообразие, подчеркивает красоту и многогранность дизайна [15], но и значительно ускоряет, облегчает процесс разработки [25]. Таким образом, механизмы генерации контента привлекают большое количество новых игроков, при этом снижая общую стоимость разработки и поддержки игр.
Одной из наиболее популярных областей применения технологий генерации динамического игрового контента являются элекронные коллекционные карточные игры, имеющие на сегодняшний день значительную популярность по сравнению с играми других жанров. Решение этой задачи практически значимо, так как карты - основной и главный элемент в таких играх. Разнообразие и количество карт прямо пропорционально успеху, популярности и прибыльности проекта, поэтому карточные стратегии постоянно требуют обновления, добавления новых уникальных элементов. В данном контексте автоматическая генерация новых карт является полезным и важным инструментом для игровых дизайнеров. Также стоит отметить, что каждая коллекционная карточная игра использует уникальную механику и накладывает ряд ограничений на процесс выбора метода генерации. В этой работе рассматривается технология генерации карт в недавно выпущенной коллекционной карточной стратегии Mighty Party [27], которая предоставляет разнообразный набор механик, взаимодействий и существ. Разработанный алгоритм обрабатывает все множество карт и пополняет его уникальными элементами, не нарушающими игровой баланс. Описанное решение способно не только генерировать уникальный контент на основе имеющегося, но и реагировать на добавление новых игровых механик.
В результате исследования была разработана система, включающая в себя глубокую рекуррентную нейронную сеть и набор вспомогательных систем для фильтрации входных и выходных данных. Вспомогательные инструменты играют очень важную роль, так как негенерируемый игровой контент (обучающая выборка) имеет недостаточный размер для корректной работы нейронной сети.
Полученная система удовлетворяет всем вышеописанным требованиям:
• Корректность генерируемого контента: в ходе предварительного анализа входных данных разработана вспомогательная система, позволяющая оценивать корректность генерируемого контента. Данная система полностью исключает вероятность нарушения генерируемым контентом механики и балансом рассматриваемой игры Это в свою очередь позволяет использовать полученную систему полностью автоматически, без участия человека;
• Уникальность и разнообразие: также была разработана вспомогательная система, позволяющая оценивать различие между элементами генерируемого контента. Настройки данной вспомогательной системы позволяют гибко управлять общей уникальностью генерируемого контента;
• Адаптивность и гибкость: данное требование выполнено благодаря реализации на основе искусственной нейронной сети, так нейросети могут адаптировать свои синаптические веса к изменениям окружающей среды (например, добавление нового элемента игровой механики). Таким образом, при изменении условий данная система может легко переучиваться или “доучиваться”.