Sobre el proyecto

stable-retro-scripts es una colección de scripts de Python para entrenar modelos de aprendizaje por refuerzo que jueguen a videojuegos de consolas retro. Se basa en stable-retro (un fork de gym-retro) y stable-baselines3, y está dirigido a usuarios que quieran entrenar agentes en títulos emulados, ejecutar partidas de modelo contra modelo o exportar modelos para usarlos en frontends de emuladores. Capacidades principales descritas en el README: - Entrenar modelos en juegos retro usando scripts como scripts/train.py, con opciones para entorno, red de política, número de entornos paralelos, pasos de tiempo e hiperparámetros. - Ejecutar entrenamiento basado en currículo mediante scripts/train_curriculum.py y archivos JSON de currículo. - Enfrentar dos modelos entrenados entre sí en partidas de jugador contra jugador, con ejemplos como NHL94, Mortal Kombat y WWF Wrestlemania: The Arcade Game. - Jugar contra un oponente de IA mejorado. - Exportar modelos para usarlos en frontends de emuladores mediante el proyecto separado retro-ai-runtime. Arquitecturas de modelo compatibles enumeradas: MLP, Nature CNN, Impala CNN y modelos de entrada combinada (imagen más escalar). Las MLP con atención están marcadas como experimentales. Notas de instalación: probado en Ubuntu 22.04/24.04 y Windows 11 WSL2 (VM de Ubuntu 22.04). Requiere Python 3.10 a 3.12, gymnasium, stable-baselines3 y stable-retro. Los paquetes del sistema incluyen python3, pip, venv, git, zlib1g-dev, libopenmpi-dev, ffmpeg, cmake y libgl1-mesa-dev. Las dependencias se instalan desde requirements.txt, con herramientas opcionales de lint en requirements-dev.txt. Se puede instalar una copia editable de stable-retro para el desarrollo del emulador. Gestión de ROM: los usuarios deben aportar sus propias ROM; el README señala que Airstriker es una ROM de dominio público ya incluida en stable-retro. Las ROM se importan con python3 -m retro.import. Los comandos de ejemplo incluyen entrenar en Airstriker-Genesis con CnnPolicy, 8 entornos, 1.000.000 de pasos de tiempo y reproducción habilitada, además de ejecutar el currículo de NHL94. La biblioteca de inferencia en C++ se ha trasladado al repositorio retro-ai-runtime, que ejecuta modelos exportados dentro de frontends de emuladores como RetroArch para controlar la entrada del jugador. El entrenamiento, la evaluación y la exportación de modelos permanecen en este repositorio. La integración del lado de RetroArch vive en RetroArchAI. El README también enlaza páginas específicas de juegos para NHL94 y WWF Wrestlemania, un vídeo de configuración de WSL2 y un vídeo tutorial sobre RetroArch y PyTorch.