Sobre el proyecto

SoulsGym es una extensión de código abierto para el kit de herramientas de aprendizaje por refuerzo Gymnasium, diseñada para entrenar y probar algoritmos de IA en peleas de jefes de videojuegos como Dark Souls III y Elden Ring. ### Cómo funciona SoulsGym utiliza los juegos reales como simulaciones inyectando código para leer y escribir en la memoria del juego en tiempo de ejecución. Esto permite la creación de entornos Gymnasium personalizados donde se observa el estado de la pelea contra el jefe, se ejecutan acciones mediante entradas de controlador y se calculan recompensas basadas en parámetros del juego. ### Requisitos y configuración La herramienta requiere una copia comprada de los juegos compatibles (por ejemplo, en Steam) y es compatible con Windows y Linux (a través de Steam Proton o Wine). Los usuarios deben iniciar el juego con asignaciones de teclas personalizadas específicas, ajustes gráficos y en modo sin conexión para evitar prohibiciones en el multijugador. En Linux, se requiere configuración adicional que involucra un DLL proxy de aceleración. ### API y soporte actual Los entornos siguen la API estándar de Gymnasium, lo que permite a los usuarios integrar fácilmente algoritmos de RL existentes. Actualmente, SoulsGym incluye un entorno para luchar contra Iudex Gundyr en Dark Souls III. Soporta tanto espacios de observación de verdad absoluta (que proporcionan coordenadas y tiempos exactos) como espacios de observación basados en imágenes. Un ejemplo simple en Python demuestra cómo instanciar el entorno, muestrear acciones aleatorias y ejecutar un bucle de juego básico. ### Hoja de ruta Los desarrolladores están haciendo la transición a observaciones completamente basadas en imágenes para hacer el proceso de entrenamiento más general y visualmente realista. Los planes futuros incluyen agregar soporte para Elden Ring (específicamente el jefe 'Margit, The Fell Omen') y expandir la biblioteca con más peleas de jefes en varios juegos Souls.