Sobre o projeto

SoulsGym é uma extensão de código aberto para o kit de ferramentas de aprendizado por reforço Gymnasium, projetada para treinar e testar algoritmos de IA em lutas contra chefes de jogos como Dark Souls III e Elden Ring. ### Como Funciona SoulsGym usa os jogos reais como simulações, injetando código para ler e escrever na memória do jogo em tempo de execução. Isso permite a criação de ambientes Gymnasium personalizados, onde o estado da luta contra o chefe é observado, ações são executadas por meio de entradas de controle e recompensas são calculadas com base nos parâmetros do jogo. ### Requisitos e Configuração A ferramenta requer uma cópia comprada dos jogos suportados (por exemplo, na Steam) e é compatível com Windows e Linux (via Steam Proton ou Wine). Os usuários devem iniciar o jogo com configurações específicas de teclas, configurações gráficas e em modo offline para evitar banimentos em multiplayer. No Linux, é necessária configuração adicional envolvendo um proxy DLL de speed-hack. ### API e Suporte Atual Os ambientes seguem a API padrão do Gymnasium, permitindo que os usuários integrem facilmente algoritmos de RL existentes. Atualmente, o SoulsGym apresenta um ambiente para lutar contra Iudex Gundyr em Dark Souls III. Ele suporta espaços de observação com dados exatos (fornecendo coordenadas e tempos precisos) e espaços de observação baseados em imagens. Um exemplo simples em Python demonstra como instanciar o ambiente, amostrar ações aleatórias e executar um loop básico de jogo. ### Roteiro Os desenvolvedores estão fazendo a transição para observações totalmente baseadas em imagens para tornar o processo de treinamento mais geral e visualmente realista. Os planos futuros incluem adicionar suporte para Elden Ring (especificamente o chefe 'Margit, The Fell Omen') e expandir a biblioteca com mais lutas contra chefes em vários jogos Souls.