Ontem de manhã, tive um tempo livre e quis fazer um jogo de cartas roguelike parecido com Slay the Spire.
Não escrevi uma única linha de código de jogo nem toquei em uma engine; só joguei minhas ideias no Codex e deixei ele cuidar do resto.
Uma hora depois, um roguelike com temática de folclore chinês chamado "Night Patrol: Desolate Temple" já estava jogável.
Desde a tela inicial até o mapa, passando por batalhas normais, elites, eventos, lojas e descansos, até chegar ao Boss no salão principal do Templo Desolado.
Sete monstros, cerca de vinte cartas e quatro cadeias de dano explosivo — Sigilos, Incenso, Queima de Talismãs e Invocação de Deuses — estão todas funcionais.
As horas restantes foram gastas para deixar ele com menos cara de demo.
Feedback de acerto, efeitos sonoros, música, arte das cartas, animações de idle e vídeos de finalização — esses pequenos detalhes determinam se um jogador acredita que "isso é um jogo de verdade".
<video preload="none" tabindex="-1" playsinline="" aria-label="Embedded video" poster="https://pbs.twimg.com/amplify_video_thumb/2049902752332148736/img/UYqr6qERhvORGBJP.jpg" src="https://video.twimg.com/amplify_video/2049902752332148736/pl/o3zbWtmjJ3875EPf.m3u8?tag=27&v=cfc&variant_version=1" style="width: 100%; height: 100%; position: absolute; background-color: black; top: 0%; left: 0%; transform: rotate(0deg) scale(1.005);"></video>
0:22
O projeto agora é open-source, com instaladores para desktop tanto para macOS quanto para Windows prontos:
https://github.com/op7418/Night-Patrol/releases
Houve vários momentos durante a tarde que realmente me chocaram.
As capacidades do modelo do Codex não são novidade.
O que me chamou a atenção foi o navegador embutido dele, a integração com GPT-Image 2.0 e aquela determinação implacável de execução para alcançar o objetivo.
Com essas três coisas combinadas, a capacidade dele já é totalmente diferente do Claude Code.
A seguir, vou falar sobre como desenvolvi junto com a IA e algumas coisas chocantes que aconteceram durante o processo:
1. Eu só disse sete palavras, e ele construiu o pipeline de personagens inteiro
Só conversei com ele sobre Slay the Spire e perguntei se ele podia me ajudar a fazer um jogo parecido.
Como resultado, ele usou recursos existentes diretamente para gerar uma demo muito parecida por meio de código.
Não pedi um fundo verde, mas ele gerou imagens com fundo verde diretamente.
Depois, pedi para o Codex usar o GPT-Image 2.0 integrado para gerar os assets de imagem.
Não especifiquei um estilo, quais monstros incluir ou quais assets eram necessários.
Quando as imagens saíram, fiquei atordoado por um momento.
Os personagens estavam sobre um fundo verde sólido — um chroma key padrão: uniforme, limpo, com bordas nítidas.
Sem névoa, sem montanhas ao fundo, sem elementos visuais extras.
O assustador é que ele sabia desde o início que precisava gerar imagens com fundo verde para facilitar o pós-processamento.
Nunca disse a ele que "as ilustrações dos personagens usadas no jogo precisam ser PNGs transparentes", nem disse "por favor, gere um fundo verde para que eu possa removê-lo depois". Ele estava planejando esse pipeline sozinho.
Desde que tipo de personagem gerar, até como posicioná-los no palco da batalha, passando por qual processamento era necessário antes do posicionamento — ele já tinha pensado em tudo no momento em que chamou o GPT-Image e fez aengenharia reversa dos prompts.
Ele até encontrou a ferramenta de remoção de fundo sozinho.
Não instalei nenhuma ferramenta de processamento de imagem para ele, não dei rembg a ele, nem dependências especiais no ambiente Python.
Ele pesquisou, instalou e configurou tudo sozinho, e então colocou os arquivos processados ordenadamente em tmp/imagegen/.
Usar fundos verdes para geração, encontrar suas próprias ferramentas e categorizar por nome de arquivo — essas três ações juntas formaram um pipeline completo de assets de personagens.
Do início ao fim, eu só disse as palavras "use GPT-Image 2.0 para gerar assets".
Antes, a sensação era "o modelo sabe escrever código, mas eu tenho que fornecer as ferramentas e o contexto".
Agora, é mais como você definir um objetivo, e ele completa o caminho sozinho.
Eu sou responsável apenas pela estética; ele cuida da cadeia de suprimentos.
2. Para baixar alguns ícones, ele quase hackeou um site de assets
Comprar uma assinatura não foi suficiente; ele começou a analisar a estrutura do site.
Gerar visuais principais comoarte dos personagens com modelos de imagem é tranquilo.
Mas jogos têm muitos itens pequenos — bordas de cartas, gemas de custo, fundos de deck, poções de vida, botões de Bagua, painéis de talismãs — gerar um por um com um modelo de imagem sairia caro, lento e com textura inconsistente.
Eu disse a ele: por que você não encontra assets existentes online sozinho?
Ele começou a pesquisar seriamente. Encontrou um site de stock que gostou, então comprei uma assinatura e dei a conta para ele.
Os dez minutos seguintes foram como um evento paranormal.
Ele fez login, encontrou os assets que queria e se preparou para clicar em download. Mas havia um CAPTCHA antes do botão de download — uma, duas, três vezes, ele não conseguia passar.
Um modelo típico voltaria e diria: "Não consigo lidar com CAPTCHAs, você pode me ajudar a baixá-los?"
O Codex começou a analisar a estrutura do site, tentando contornar as restrições de clique do front-end e construir requisições diretamente para buscar os recursos estáticos.
Então as próprias salvaguardas de segurança do Codex intervieram.
A geração atual de modelos GPT encerra uma tarefa imediatamente se ela envolver potencial violação de segurança cibernética, exibindo um prompt para certificação empresarial para provar que você é um usuário legal.
Fiquei olhando para a tela por alguns segundos.
Uma IA que pede para você ajudá-la a conseguir um cartão de assinatura e depois tenta escrever seu próprio crawler é, francamente, um pouco louca.
Não é "má"; ela simplesmente tratou "conseguir esses assets" como uma tarefa de ciclo fechado que precisava ser concluída.
Quando encontrou resistência, ela atualizou automaticamente seus métodos até atingir o limite de segurança.
A solução final foi simples: ela me enviou os links dos assets de que gostou, e eu cliquei em download e arrastei para ela. Naquele momento, senti que era um estagiário da IA.
3. Ela combinou centenas de assets em uma única imagem grande — essa foi a jogada mais brilhante
Uma pasta com cem imagens — como o modelo escolhe?
Remoção de fundo e crawling foram mais demonstrações de capacidade.
Esta próxima parte, acredito, é um verdadeiro "insight de resolução de problemas" — o tipo de jogada que faz você fechar o laptop e aplaudir silenciosamente.
Encontrei um arquivo zip enorme de assets de jogo e enviei para ele.
Continha milhares de imagens, aproximadamente categorizadas em "Interface da UI", "Ícones de Tesouros Mágicos", "Personagens" e "Emblemas".
Os problemas eram:
- Uma pasta de categoria geralmente tinha dúzias ou centenas de PNGs.
- Os nomes dos arquivos eram principalmente não informativos, como ui_001.png ou icon_047.png.
- O contexto do modelo multimodal não conseguia lidar com o envio de um por um.
Os métodos antigos eram basicamente dois:
- Ler um por um: Enviá-los para o modelo individualmente; o contexto explode depois de dúzias.
- Adivinhar pelo nome: Os nomes dos arquivos não tinham informações, então adivinhar era inútil.
O Codex seguiu um terceiro caminho caminho.
Ele escreveu um pequeno script para diagramar e combinar automaticamente todas as imagens pequenas em uma pasta em uma única grade gigante.
Cada imagem pequena tinha seu nome de arquivo original rotulado abaixo, como um catálogo.
Então ele leu apenas esta imagem grande.
O modelo multimodal podia ver a aparência de cem assets em uma única olhada.
Depois que gostava de um, bastava ler o nome do arquivo abaixo e referenciá-lo pelo nome na pasta original.
Um consumo visual substituiu cem buscas.
Ele percebeu seu próprio gargalo.
Quando aquela ficha de contato gigante foi gerada, fiquei olhando para ela por um longo tempo.
A ação em si não é complexa.
É a mesma lógica de uma ficha de contato de um fotógrafo ou de uma parede de miniaturas de uma biblioteca de filmes antiga.
O segredo: o modelo percebeu "Minha largura de banda visual é limitada, preciso comprimir o problema em uma imagem" — e fez isso de forma independente.
Estar ciente das limitações de sua ferramenta e depois criar ativamente uma entrada melhor para si mesmo é muito próximo de ser um engenheiro que pode construir suas próprias ferramentas.
Como usuário, não participei; só vi um quebra-cabeça aparecer na mesa.
No final, muitos assets de UI no jogo — gemas de custo, decks, poções de vida, botões e bordas de talismãs — foram selecionados por meio desse processo.
Olhando para aqueles cortes limpos em assets/vendor/aigei/ depois, senti que aquela ficha de contato foi o passo mais valioso de todo o projeto.
4. Seedance 2.0 criou animações de execução para sete chefões
Depois que os visuais foram polidos até um certo nível, quis adicionar uma sensação de cerimônia ao final das batalhas.
O plano final: toda vez que um monstro é derrotado, uma cutscene é reproduzida com alguns segundos de animação de execução.
Esta tarefa é atualmente melhor lidada pelo Seedance Seedance 2.0.
Processo
- O GPT-Image gerou um quadro congelado de vitória para cada um dos sete monstros.
- Esses pôsteres foram alimentados no Seedance 2.0 para gerar vídeos curtos correspondentes.
- Os vídeos foram colocados em assets/generated/cinematics/ e reproduzidos automaticamente após uma vitória em batalha.
5. Após a primeira versão jogável, o trabalho real começou
A primeira versão era na verdade "jogável" o suficiente.
Quando o protótipo foi concluído em três horas, o jogo tinha tudo o que precisava.
Título, mapa, combate, recompensas, eventos, lojas, descansos, Chefão e resultados — o ciclo completo estava lá, e os ganchos da jogabilidade estavam presentes.
Pelos padrões anteriores, esta versão já poderia ser lançada para enganar as pessoas a jogar.
Mas esta versão parecia mais um fluxograma do que um jogo. Cada etapa funcionava, mas cada etapa era seca.
As horas restantes foram gastas naqueles detalhes que são difíceis de nomear individualmente, mas que juntos determinam se "isso parece um jogo de verdade".
Música do Suno v5.5
Toda a música de fundo foi gerada pelo Suno v5.5; nenhum asset de stock foi usado.
Eu dei uma descrição direcional — "estrada noturna do folclore chinês, madeira, sinos, drone de baixa frequência, escala pentatônica, contido e não melodramático."
Ele rodou algumas versões, e eu escolhi uma para o jogo. O tom da tela de título é mais pesado, enquanto o fundo da batalha é mais leve para não distrair.
Também adicionei alguns processamentos de detalhes: o volume da música é maior na página de espera; assim que "Iniciar Jogo" é clicado, o volume cai e se torna áudio de fundo.
Animações de acerto e sons de impacto
No combate inicial, quando uma carta era jogada, o monstro apenas perdia números. Não havia feedback, nem peso.
O Codex fez um polimento completo:
- Personagens tremem quando atingidos, a câmera vibra ligeiramente e a fica brevemente vermelha.
- Cada tipo de ataque tem um som de impacto diferente — espadas, talismãs, relâmpagos e socos têm texturas diferentes.
- Bloqueio e resoluções de Sigilo têm seus próprios sons para não se misturarem.
- Há um breve quadro congelado no momento em que um inimigo morre antes de entrar no vídeo de execução.
Essas coisas são pequenas individualmente. Juntas, elas transformam a "sensação" do combate de um formulário web em um jogo de cartas.
Seedance 2.0 também criou animações de idle
Este passo foi meu uso favorito da ferramenta durante a fase de polimento.
Além dos vídeos de execução do Chefão, também mandei criar o fundo da tela de título — fogo queimando no ambiente, lanternas balançando e nuvens fluindo ao longe.
O Seedance 2.0 gera por padrão um vídeo com começo e fim, que saltaria na emenda se repetido.
Enviei a mesma imagem como o primeiro e o último quadro. O vídeo começa a partir desta imagem e termina nela, criando um loop infinito e contínuo.
A animação de fundo da tela de título foi criada assim. O fogo queima, as lanternas balançam e as nuvens fluem para sempre — você poderia olhar por três minutos e nunca ver a emenda.
Esta técnica existia antes da geração de vídeos; é assim que cenas de loop eram feitas em animações antigas.
Conclusão: Esta tarde me chocou várias vezes
Este projeto inteiro foi concluído em uma única sessão do Codex; nunca abri uma segunda janela.
Protótipo de jogabilidade, máquina de estados, arquitetura React + Phaser, pipeline de assets, remoção de fundo, raspagem de assets, criação de ficha de contato, ajuste do GPT-Image, execuções do Seedance 2.0, integração com Suno v5.5, empacotamento Electron, builds Release do GitHub Actions, README, ícones, materiais promocionais — tudo ali.
Eu fiz muito pouco eu mesmo:
- Escolhi a direção: tema de folclore chinês, foco em Sigilos e Incenso.
- Dei feedback estético: onde estava rústico, onde parecia um formulário web, onde a iluminação colidia.
- Atuei como um porteiro: quais assets estavam em conformidade, quais crawlers evitar, quais permissões negar.
O Codex cuidou do resto. E cada passo teve um momento que me fez parar e encarar
Ele gerou imagens com fundo verde desde o início porque sabia que os personagens precisavam ter seus fundos removidos antes de entrar no jogo.
Ele tentou escrever um crawler para contornar os CAPTCHAs, só sendo interrompido por sua própria política de segurança.
Ele combinou milhares de assets em uma única imagem de índice gigante para poder usar um único consumo visual e substituir cem buscas.
Nenhuma dessas coisas são invenções revolucionárias por si só, mas todas apontam para a mesma mudança:
Antes, você tinha que configurar as ferramentas para ela, e ela era responsável por escrever código; agora, você só define o objetivo, e ela encontra, configura e constrói as ferramentas sozinha.
Essa sensação já foi além do reino de um "assistente de codificação".
Parece mais um protótipo de software AGI em ação.
Devo empacotar este processo em uma Skill?
Depois de executar este projeto, tenho um processo relativamente estável em mente:
Estou pensando em embrulhar este processo em uma Skill do Codex especificamente para fazer demos de jogos indie.
Você só jogaria uma ideia de jogabilidade, e ela poderia gerar uma versão jogável, empacotável e distribuível para você em algumas horas.
Se alguém estiver interessado, vou tirar um tempo para construir esta Skill e abrir o código. Eu mesmo vou usá-la de qualquer forma.
Demo do Jogo
O código é open-source e os pacotes de instalação estão prontos:





