No todo es trabajo. Hasta yo necesito jugar.
Y mi idea de relajarme es, claro, convertir mi colección de juegos en un proyecto de software. Juegos de Steam, emuladores, ports para PC, decompilaciones, fan games y paquetes de mods, todo instalado, configurado y documentado por agentes de IA en un único repositorio de Ansible. Corre dentro de un contenedor, así que mi escritorio Omarchy nunca ve ni una de sus dependencias. Encima va un lanzador que escribí yo, para que todo se sienta como una consola.
Fun to Drive: el nuevo Tesla Roadster en un juego de carreras de los 80
Un jueguito que hice con vibe coding y agentes de IA. El Tesla Roadster recién anunciado, con propulsor de aire frío y salto incluidos, corre por una carretera estilo Outrun en la pantalla de un tablero de juguete de los 80, como el Playmates Fun-to-Drive y el Turbo Video Driver de Tectoy.
- Elige una carrera de dos, seis o diez minutos y adelanta a todo el tráfico que puedas antes de que se acabe el tiempo. Cada carrera empieza en la estación del año y la hora del día de tu reloj.
- Junta tres cargas de aire frío para disparar el propulsor, y Jump Kicks para saltar sobre el tráfico, salvo que caigas encima.
- El juguete reacciona sobre la mesa: el volante gira, la palanca de cambios se mueve y todo el tablero se sacude cuando chocas.
- Cielo despejado, lluvia y nieve, paisajes de cada estación, de los cerezos en flor a los árboles desnudos del invierno, y fondos desde el Tokio de neón hasta París. Atento a los eventos raros: un huracán que levanta el tráfico, una abducción OVNI de noche y, si aguantas 88 mph, una máquina del tiempo.
- Se juega con teclado, mando con vibración o pantalla táctil. Corre en el navegador, escrito en Rust con Bevy y compilado a WebAssembly.
Juegos de carreras antiguos, jugables otra vez
Algunos de mis juegos de carreras favoritos son abandonware: ninguna tienda los vende y no corren en un PC moderno sin una tarde de parches caseros. Así que escribí un lanzador para cada uno, con agentes de programación y mi herramienta de ingeniería inversa, REA. El juego original queda intacto. El lanzador arregla lo que envejeció a su alrededor, como gráficos, mandos, pantalla y registro de Windows, y luego añade lo que un PC moderno puede hacer.
Necesitas tu propia copia de cada juego. Ningún lanzador trae archivos del juego.
1995Trilogía Screamer
Antes Tres juegos de MS-DOS. El Screamer 2 de GOG trae un stub de Glide para Windows que no funciona en DOS, y con el emulador a máxima velocidad el mando analógico nunca responde.
- 3dfx Glide de verdad, con la Voodoo emulada dibujando al doble de resolución
- Escalado FSR, panorámico Hor+ y más distancia de dibujado
- Mando analógico y música del CD
- Generación de fotogramas experimental a 100 fps
1998Colin McRae Rally
Antes Hecho para Windows 95. En mi máquina pedía claves de registro, modo de compatibilidad con XP, una pantalla fija a 800x600 y un puente de teclado para el mando, y aun así corría a 800x600 en 4:3.
- 4K, panorámico Hor+ y 60 fps, con la física original a 25 Hz
- Arte HD redibujado con IA para el HUD, los menús, los cielos, los carteles y los coches
- Hasta tres veces la distancia de dibujado
- Gatillos como pedales, y vibración
Versión v0.8.0CódigoEl recomp en RustEl primer lanzador, en detalle
2003Colin McRae Rally 3
Antes Una imagen deslavada, y un ejecutable oficial 1.1 atado a la protección anticopia del disco.
- Panorámico de SilentPatch en cualquier proporción, con interfaz HD en 4K
- Convierte el ejecutable 1.1 en el ejecutable sin DRM de las reediciones
- Filtrado anisotrópico hasta 16x y campo de visión ajustable
- Corrección opcional de color y gamma en Linux
2004Colin McRae Rally 04
Antes El 16:9 no muestra más escenario, el menú gráfico se detiene en 2048x1536 y se cuelga, y Alt+F4 no hace nada.
- 16:9 con la geometría correcta, mediante dgVoodoo
- Elige el monitor horizontal, y cerrar la ventana funciona
- Gatillos analógicos y un mando ya configurado
- Límite de fps y vsync opcionales
2004Colin McRae Rally 2005
Antes Se cae al arrancar en Wine, y el instalador de GOG se cuelga ahí. Las ediciones en DVD usan StarForce y no son compatibles.
- Instala directamente desde los archivos del instalador de GOG
- 16:9 con la vista panorámica del propio juego
- DXVK en Linux: un tramo que iba a unos 20 fps ahora pasa de 1000
- Partidas guardadas en su propia carpeta
2006OutRun 2006: Coast 2 Coast
Antes El port de PC necesita arreglos de la comunidad y quitar el DRM del disco, y perdió los dos primeros segundos de "Rush a Difficulty".
- OutRun2006Tweaks instalado por ti, en una versión fija y probada
- 4K, filtrado anisotrópico 16x y más distancia de dibujado
- "Rush a Difficulty" completa
- Texturas HD opcionales, vibración y gatillos completos
2007Colin McRae: DiRT
Antes Se cuelga al cargar cualquier carrera en un procesador con muchos hilos, y el arreglo de la comunidad restablece toda la configuración gráfica.
- Su propio arreglo del fallo con muchos hilos, conservando tu configuración
- Large Address Aware, para que el juego use más de 2 GB
- Enlaces duros en lugar de una segunda copia de 9 GB
- El preset Ultra en 4K y XInput nativo
2007Sega Rally Revo
Antes Un microtartamudeo constante por dos bugs de tiempo del parche 4.060, pantalla negra en PC con dos GPU y un configurador que falla en Wine.
- Un arreglo del tartamudeo hecho en clean room: el reloj de carrera queda a menos de 1 ms del tiempo real en el 99,9 % de los fotogramas
- 4K, calidad Ultra, 21:9 y 32:9
- Límite de 60 o 120 fps
- XInput nativo y vibración
2015DiRT Rally
Antes El port de Linux de Feral, de 2017, se cae al arrancar en Ryzen 5000 o más nuevos, necesita bibliotecas que el Linux moderno abandonó y se retiró de la venta en 2022.
- Una pequeña biblioteca en Rust corrige el fallo sin tocar el juego
- Trae las bibliotecas antiguas, solo para el juego
- Salta la ventana previa de Feral y abre en 4K
- Mandos como los de 8BitDo aparecen en la lista del propio juego
Son experimentales. Probé cada uno de punta a punta en Linux, con una RTX 5090 y un mando estilo Xbox. Ninguno se ha probado todavía en Windows nativo; si pruebas uno ahí, abre una issue con el SHA-256 del ejecutable y el log.
Después, la receta se volvió un SDK
Cada lanzador empezó como copia del anterior, y cada copia se fue desviando con sus propios bugs. Así que hice lo que siempre digo: primero las apps, después el framework. rea-launcher-sdk guarda lo que los lanzadores tienen en común, y está escrito para que lo maneje un agente de programación.
El orden que seguí
- Hacer varios proyectos del mismo tipo, cada uno resolviendo su problema real.
- Compararlos lado a lado.
- Refactorizar hasta que todos compartan la misma base.
- Solo entonces extraer las partes comunes a un framework.
- 9
- lanzadores construidos sobre él, para 11 juegos
- 1223
- tests en el SDK y los lanzadores, todos pasando
- 95 %
- de cobertura de líneas en el código del propio SDK, 310 tests
- ~4
- horas por cada lanzador hecho con el SDK, frente a 8 a 18 antes
Contados en mi post del 2 de noviembre de 2026.
Haz el lanzador de tu juego
Clona el SDK, añade REA a tu agente y apúntalo a tu juego instalado. El agente investiga los arreglos de la comunidad, hace la ingeniería inversa y escribe el código. Se detiene en cuatro puntos de control para que decidas y no publica nada sin tu aprobación. Funciona con Claude Code, Codex, opencode o Cursor.
cd ~/Projectsgit clone https://github.com/akitaonrails/rea-launcher-sdk# REA, the reverse engineering MCPnpx rea-agents setup# Claude Code onlyrea-launcher-sdk/scripts/install-skillsCrea un nuevo lanzador rea para Need for Speed: Porsche Unleashed (PC, 2000) usando el SDK en ~/Projects/rea-launcher-sdk. Lee AGENTS.md, docs/STANDARDS.md y docs/playbooks/new-launcher.md y sigue el playbook fase por fase. El juego está instalado en /mnt/games/NFSPU (solo lectura, nunca lo copies al repo). Investiga primero los arreglos de la comunidad y muéstrame lo que encontraste antes de escribir código. No hagas push ni publiques nada sin preguntarme.
Un prompt de ejemplo, adaptado del README del SDK.
Retrogaming asistido por IA

El host queda limpio
Los emuladores y los juegos de Windows arrastran bibliotecas de 32 bits, builds de Wine, paquetes del AUR y versiones de runtime que se pelean entre sí. Nada de eso toca mi escritorio. Todo vive en un distrobox de Arch Linux llamado gaming, Steam incluido, y el host guarda solo lo que el escritorio necesita.

- Steam corre dentro del contenedor, con mi biblioteca y sus prefijos de Proton en su propio disco
- El driver de NVIDIA se pasa al contenedor, y el único caso raro de biblioteca de 32 bits se corrige en el lanzador, nunca en el host
- El contenedor genera las entradas de escritorio; un pequeño script en el host las valida, las instala y quita las de apps que ya no están
- Las partidas guardadas se replican en mi NAS y se restauran cuando hace falta, así que borrar el contenedor no pierde nada
Idempotente, para poder romperlo
Cada emulador, configuración, parche y conjunto de mods es un rol de Ansible. Correr el playbook una segunda vez no cambia nada, así que puedo experimentar sin miedo, restablecer la configuración de un solo emulador o reconstruir todo el contenedor desde cero y recuperar la misma máquina.
ansible-playbook site.yml # the whole box, from scratchansible-playbook site.yml # again: nothing changesansible-playbook reset-configs.yml --tags esde # reset one frontendansible-playbook backup.yml && ansible-playbook restore.ymlansible-playbook site.yml --tags verify # post-setup checks- 96
- notas en docs/, una por juego, port o arreglo
- 497
- commits desde 11 de abril de 2026
La IA investiga y lo deja por escrito
Para cada port, recompilación o juego de Windows testarudo, un agente investigó las fuentes, escribió el rol de Ansible y dejó una nota con dónde conseguirlo, cómo se configura y qué no funcionó. Los juegos de Steam tienen su propia base de compatibilidad con Proton, con cada arreglo local respaldado por una fuente.
Cómo usarlo
Lo más fácil es dejar que un agente lo haga. Clona el repositorio, abre Claude Code dentro de él y dile qué contenedor y qué juegos quieres. Los playbooks y las notas están escritos justo para eso.
git clone https://github.com/akitaonrails/distrobox-gamingcd distrobox-gamingclaudeConfigura el contenedor gaming con ES-DE, Dolphin y PCSX2. Mis ROMs y BIOS están en /ruta/a/tus/juegos.
El repositorio no incluye juegos, ROMs, BIOS ni otros binarios. Tú pones los tuyos y le dices al agente dónde están.
Qué hay en el contenedor
Emuladores
ES-DE como frontend, más shadPS4, Dolphin, PCSX2, DuckStation, Flycast, xemu, RPCS3, PPSSPP, Azahar, Eden, Cemu, Supermodel y RetroArch con sus cores.
Ports, decomps y recomps
Builds nativos como Ship of Harkinian, 2Ship2Harkinian, Starship, SpaghettiKart, Render96ex y Unleashed Recompiled.
Juegos de Windows
Instalaciones y arreglos gestionados con Wine para juegos como la Metal Gear Master Collection. Los juegos de carreras antiguos ahora entran por mis propios lanzadores, más arriba.
Mods reproducibles
Conjuntos de mods de NexusMods por juego, instaladores de DLC y parches para PS3 y Switch, y ajustes de RPCS3 por juego.
Mi propio lanzador, hecho para Omarchy
omarchy-games-menu es un lanzador a pantalla completa al estilo Steam para Omarchy y Hyprland. Lee las entradas de escritorio que exporta el repositorio gaming, así que un juego nuevo aparece solo, y deja todo a un atajo de teclado.

- Un CLI en Rust, ogm, hace el escaneo, el catálogo y la persistencia; un overlay de QuickShell dibuja la cuadrícula
- Portadas y metadatos de SteamGridDB, y chequeo de versiones nuevas en GitHub para ports y recomps
- Orden por más jugados, nombre, fecha de alta o fecha de lanzamiento; escribe en cualquier momento para filtrar
- Escala con la configuración de monitor de Hyprland, se abre con una tecla como Super+G, y los juegos abren a pantalla completa en un workspace propio
yay -S omarchy-games-menu-binogm scan && ogm refreshgames-menu # or bind it: bind = SUPER, G, exec, games-menuTodo lo que hay aquí es código abierto
Las herramientas, las skills y el benchmark son repositorios públicos. Haz un fork y arma la versión que encaje con tu forma de trabajar.
