Nem tudo é trabalho. Até eu preciso jogar.
E a minha ideia de relaxar é, claro, transformar minha coleção de games num projeto de software. Jogos da Steam, emuladores, ports para PC, decompilações, fan games e pacotes de mods, tudo instalado, configurado e documentado por agentes de IA num único repositório Ansible. Roda dentro de um container, então meu desktop Omarchy nunca vê nenhuma dessas dependências. Por cima fica um launcher que eu escrevi, pra coisa toda parecer um console.
Fun to Drive: o novo Tesla Roadster num jogo de corrida dos anos 80
Um joguinho que eu fiz no vibe coding com agentes de IA. O Tesla Roadster recém-anunciado, com propulsor de ar frio e pulo incluídos, corre numa estrada estilo Outrun na tela de um painel de brinquedo dos anos 80, como o Playmates Fun-to-Drive e o Turbo Video Driver da Tectoy.
- Escolha uma corrida de dois, seis ou dez minutos e ultrapasse o máximo de carros antes de o tempo acabar. Cada corrida começa na estação do ano e na hora do dia do seu relógio.
- Junte três cargas de ar frio pra disparar o propulsor, e Jump Kicks pra pular por cima do trânsito, a não ser que você caia em cima dele.
- O brinquedo reage na mesa: o volante gira, a alavanca de câmbio mexe e o painel inteiro dá um tranco quando você bate.
- Céu limpo, chuva e neve, paisagens de cada estação, das cerejeiras às árvores peladas do inverno, e cenários da Tóquio neon a Paris. Fique de olho nos eventos raros: um furacão que levanta os carros, uma abdução por OVNI à noite e, se você segurar 88 mph, uma máquina do tempo.
- Dá pra jogar com teclado, controle com vibração ou toque. Roda no navegador, escrito em Rust com Bevy e compilado pra WebAssembly.
Jogos de corrida antigos, jogáveis de novo
Alguns dos meus jogos de corrida favoritos são abandonware: nenhuma loja vende, e eles não rodam num PC moderno sem uma tarde de gambiarras. Então fiz um launcher pra cada um, com agentes de código e a minha ferramenta de engenharia reversa, o REA. O jogo original fica intacto. O launcher conserta o que envelheceu em volta dele, como gráfico, controle, tela e registro do Windows, e depois acrescenta o que um PC moderno consegue fazer.
Você precisa da sua própria cópia de cada jogo. Nenhum launcher traz arquivos do jogo.
1995Trilogia Screamer
Antes Três jogos de MS-DOS. O Screamer 2 da GOG traz um stub de Glide pra Windows que não funciona no DOS, e com o emulador na velocidade máxima o controle analógico nunca responde.
- 3dfx Glide de verdade, com a Voodoo emulada desenhando no dobro da resolução
- Escala com FSR, widescreen Hor+ e distância de desenho maior
- Controle analógico e música do CD
- Geração de quadros experimental a 100 fps
1998Colin McRae Rally
Antes Feito pra Windows 95. Na minha máquina precisava de chaves de registro, modo de compatibilidade do XP, tela presa em 800x600 e uma ponte de teclado pro controle, e mesmo assim rodava em 800x600 e 4:3.
- 4K, widescreen Hor+ e 60 fps, com a física original a 25 Hz
- Arte HD redesenhada com IA no HUD, menus, céus, placas e carros
- Até três vezes a distância de desenho
- Gatilhos como pedais, e rumble
Release v0.8.0CódigoO recomp em RustO primeiro launcher, em detalhe
2003Colin McRae Rally 3
Antes Uma imagem lavada, e um executável oficial 1.1 preso à proteção contra cópia do disco.
- Widescreen do SilentPatch em qualquer proporção, com interface HD em 4K
- Converte o executável 1.1 no executável sem DRM das reedições
- Filtragem anisotrópica até 16x e campo de visão ajustável
- Correção de cor e gama opcional no Linux
2004Colin McRae Rally 04
Antes O 16:9 não mostra mais cenário, o menu gráfico para em 2048x1536 e trava, e o Alt+F4 não faz nada.
- 16:9 com a geometria certa, via dgVoodoo
- Escolhe o monitor em paisagem, e fechar a janela funciona
- Gatilhos analógicos e controle já configurado
- Limite de fps e vsync opcionais
2004Colin McRae Rally 2005
Antes Crasha na abertura no Wine, e o instalador da GOG trava lá. As versões em DVD usam StarForce e não são suportadas.
- Instala direto dos arquivos do instalador da GOG
- 16:9 com a visão widescreen do próprio jogo
- DXVK no Linux: uma etapa que rodava a umas 20 fps passa de 1.000
- Saves numa pasta própria
2006OutRun 2006: Coast 2 Coast
Antes O port de PC precisa de fixes da comunidade e de tirar o DRM de disco, e perdeu os dois primeiros segundos de "Rush a Difficulty".
- OutRun2006Tweaks instalado pra você, numa versão fixa e testada
- 4K, filtragem anisotrópica 16x e distância de desenho maior
- "Rush a Difficulty" completa
- Texturas HD opcionais, rumble e gatilhos completos
2007Colin McRae: DiRT
Antes Trava ao carregar qualquer corrida num processador com muitas threads, e o fix da comunidade reseta todas as opções gráficas.
- Correção própria do crash de muitas threads, sem perder as suas configurações
- Large Address Aware, pro jogo usar mais de 2 GB
- Hard links em vez de uma segunda cópia de 9 GB
- Preset Ultra em 4K e XInput nativo
2007Sega Rally Revo
Antes Um microstutter permanente, vindo de dois bugs de tempo do patch 4.060, tela preta em PC com duas GPUs e um configurador que falha no Wine.
- Correção do stutter em clean room: o relógio de corrida fica a menos de 1 ms do tempo real em 99,9% dos quadros
- 4K, qualidade Ultra, 21:9 e 32:9
- Limite de 60 ou 120 fps
- XInput nativo e rumble
2015DiRT Rally
Antes O port de Linux da Feral, de 2017, crasha na abertura em Ryzen 5000 ou mais novo, precisa de bibliotecas que o Linux moderno abandonou, e saiu de venda em 2022.
- Uma pequena biblioteca em Rust corrige o crash sem mexer no jogo
- Traz as bibliotecas antigas, só pro jogo
- Pula a janela de pré-jogo da Feral e abre em 4K
- Controles como os da 8BitDo aparecem na lista do próprio jogo
São experimentais. Testei cada um de ponta a ponta no Linux, com uma RTX 5090 e um controle estilo Xbox. Nenhum foi testado no Windows nativo ainda; se você testar lá, abra uma issue com o SHA-256 do executável e o log.
Depois, a receita virou SDK
Cada launcher começou como cópia do anterior, e cada cópia foi divergindo com os seus próprios bugs. Então fiz o que sempre digo pra fazer: primeiro os apps, depois o framework. O rea-launcher-sdk guarda o que os launchers têm em comum, e foi escrito pra ser dirigido por um agente de código.
A ordem que eu segui
- Fazer vários projetos do mesmo tipo, cada um resolvendo o seu problema de verdade.
- Comparar todos lado a lado.
- Refatorar até todos terem a mesma fundação.
- Só então extrair as partes comuns num framework.
- 9
- launchers construídos nele, pra 11 jogos
- 1.223
- testes no SDK e nos launchers, todos passando
- 95%
- de cobertura de linhas no código do próprio SDK, 310 testes
- ~4
- horas pra cada launcher feito a partir do SDK, contra 8 a 18 antes dele
Contados no meu post de 2 de novembro de 2026.
Faça o launcher do seu jogo
Clone o SDK, instale o REA no seu agente e aponte pra pasta do jogo instalado. O agente pesquisa os fixes da comunidade, faz a engenharia reversa e escreve o código. Ele para em quatro pontos de checagem pra você decidir e não publica nada sem a sua aprovação. Funciona com Claude Code, Codex, opencode ou 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-skillsCrie um novo launcher rea para Need for Speed: Porsche Unleashed (PC, 2000) usando o SDK em ~/Projects/rea-launcher-sdk. Leia o AGENTS.md, o docs/STANDARDS.md e o docs/playbooks/new-launcher.md e siga o playbook fase por fase. O jogo está instalado em /mnt/games/NFSPU (só leitura, nunca copie pro repo). Pesquise os fixes da comunidade primeiro e me mostre o que encontrou antes de escrever código. Não faça push nem publique nada sem me perguntar.
Um prompt de exemplo, adaptado do README do SDK.
Retrogaming assistido por IA

O host fica limpo
Emuladores e jogos de Windows puxam bibliotecas 32-bit, builds do Wine, pacotes do AUR e versões de runtime que brigam entre si. Nada disso encosta no meu desktop. Tudo mora num distrobox Arch Linux chamado gaming, Steam incluída, e o host só guarda o que o desktop precisa.

- A Steam roda dentro da caixa, com minha biblioteca e os prefixes do Proton num disco próprio
- O driver da NVIDIA é repassado pro container, e o único caso chato de biblioteca 32-bit é resolvido no launcher, nunca no host
- A caixa gera os desktop entries; um scriptzinho no host valida e instala, e remove os de apps que já sumiram
- Os saves são espelhados no meu NAS e restaurados sob demanda, então apagar a caixa não perde nada
Idempotente, então posso quebrar à vontade
Cada emulador, config, patch e conjunto de mods é uma role do Ansible. Rodar o playbook de novo não muda nada, então posso experimentar sem medo, resetar as configurações de um emulador só, ou recriar a caixa inteira do zero e ter a mesma máquina de volta.
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 em docs/, uma por jogo, port ou correção
- 497
- commits desde 11 de abril de 2026
A IA faz a pesquisa, e deixa tudo anotado
Pra cada port, recompilação ou jogo de Windows teimoso, um agente pesquisou as fontes, escreveu a role do Ansible e deixou uma nota dizendo onde baixar, como está configurado e o que não funcionou. Os jogos da Steam têm seu próprio banco de compatibilidade com o Proton, com cada correção local apoiada numa fonte.
Como usar
O jeito mais fácil é deixar um agente fazer. Clone o repositório, abra o Claude Code dentro dele e diga qual container e quais jogos você quer. Os playbooks e as notas foram escritos exatamente pra isso.
git clone https://github.com/akitaonrails/distrobox-gamingcd distrobox-gamingclaudeMonte o container gaming com ES-DE, Dolphin e PCSX2. Minhas ROMs e BIOS estão em /caminho/pros/seus/jogos.
O repositório não traz jogos, ROMs, BIOS nem outros binários. Você fornece os seus e diz pro agente onde eles estão.
O que tem na caixa
Emuladores
ES-DE como frontend, mais shadPS4, Dolphin, PCSX2, DuckStation, Flycast, xemu, RPCS3, PPSSPP, Azahar, Eden, Cemu, Supermodel standalone e o RetroArch com seus cores.
Ports, decomps e recomps
Builds nativos como Ship of Harkinian, 2Ship2Harkinian, Starship, SpaghettiKart, Render96ex e Unleashed Recompiled.
Jogos de Windows
Instalações e correções gerenciadas pelo Wine pra jogos como a Metal Gear Master Collection. Os jogos de corrida antigos agora entram pelos meus próprios launchers, mais acima.
Mods, de forma reproduzível
Conjuntos de mods do NexusMods por jogo, instaladores de DLC e patches pra PS3 e Switch, e configurações do RPCS3 por jogo.
Meu próprio launcher, feito pro Omarchy
O omarchy-games-menu é um launcher em tela cheia no estilo da Steam pra Omarchy e Hyprland. Ele lê os desktop entries que o repositório de games exporta, então um jogo novo aparece sozinho, e deixa tudo a um atalho de distância.

- Um CLI em Rust, o ogm, faz a varredura, o catálogo e a persistência; um overlay em QuickShell desenha a grade
- Capas e metadados do SteamGridDB, e checagem de releases novos no GitHub pra ports e recomps
- Ordena por mais jogados, nome, data de inclusão ou data de lançamento; é só digitar em qualquer lugar pra filtrar
- Escala com a configuração de monitor do Hyprland, abre com uma tecla como Super+G, e os jogos abrem em tela cheia num workspace dedicado
yay -S omarchy-games-menu-binogm scan && ogm refreshgames-menu # or bind it: bind = SUPER, G, exec, games-menuTudo aqui é open source
As ferramentas, as skills e o benchmark são repositórios públicos. Faça um fork e monte a versão que encaixa no seu jeito de trabalhar.
