Об этом проекте

SoulsGym — это расширение с открытым исходным кодом для набора инструментов обучения с подкреплением Gymnasium, предназначенное для обучения и тестирования алгоритмов ИИ на битвах с боссами из видеоигр, таких как Dark Souls III и Elden Ring. ### Как это работает SoulsGym использует сами игры в качестве симуляций, внедряя код для чтения и записи в память игры во время выполнения. Это позволяет создавать настраиваемые среды Gymnasium, где наблюдается состояние битвы с боссом, действия выполняются через ввод с контроллера, а вознаграждения рассчитываются на основе игровых параметров. ### Требования и настройка Инструмент требует приобретенную копию поддерживаемых игр (например, в Steam) и совместим с Windows и Linux (через Steam Proton или Wine). Пользователи должны запускать игру с определенными пользовательскими привязками клавиш, настройками графики и в офлайн-режиме, чтобы предотвратить баны в многопользовательской игре. На Linux требуется дополнительная настройка с участием прокси-DLL для ускорения. ### API и текущая поддержка Среды следуют стандартному API Gymnasium, что позволяет пользователям легко интегрировать существующие алгоритмы RL. В настоящее время SoulsGym включает среду для боя с Iudex Gundyr в Dark Souls III. Поддерживаются как пространства наблюдений с точными данными (предоставляющие точные координаты и тайминги), так и пространства наблюдений на основе изображений. Простой пример на Python демонстрирует, как создать среду, выбрать случайные действия и запустить базовый игровой цикл. ### Планы на будущее Разработчики переходят к полностью основанным на изображениях наблюдениям, чтобы сделать процесс обучения более общим и визуально реалистичным. Будущие планы включают добавление поддержки Elden Ring (в частности, босса «Маргит, Падшее знамение») и расширение библиотеки новыми битвами с боссами в различных играх Souls.