
O Codex, o agente de código da OpenAI usado com uma subscrição do ChatGPT, produziu com o GPT-6 Astra um RPG jogável com rato e comando, em que cenários, sprites, retratos, sons e doze músicas foram gerados. O projeto exigiu dez turnos, 3 h 05 min de trabalho do agente e o equivalente a 65 $ à tarifa da API. Quatro das minhas dez mensagens assinalavam um defeito, da lógica das casas às colisões.
O Codex, o agente de código da OpenAI que uso com a minha subscrição do ChatGPT, escreve os ficheiros, executa os comandos e gera as imagens sem um único copiar-colar. A 13 de setembro de 2026, pedi-lhe, com o GPT-6 Astra, um RPG ao estilo de EarthBound, o jogo da Ape e da HAL Laboratory lançado na Super Nintendo em 1994, num único prompt de 147 palavras.
No clone de Dune 2000, tinha avançado por pequenos pedidos durante três dias. Desta vez, o prompt impunha logo à partida um método para os cenários, e o protótipo ficou pronto numa noite.
O Clairbois joga-se abaixo, com o rato, o teclado ou o comando. O jogo espera pelo teu clique para carregar os seus 56,7 MB.
Clairbois : le RPG façon EarthBound de Codex et GPT-6 Astra
La version 04.3 de Clairbois, telle que Codex l'a laissée le 13 septembre 2026. Souris, clavier ou manette, le premier geste active le son. Dans cette version intégrée, la sauvegarde ne dure que le temps de la page.
Protocolo
Construit avec l'application Codex et le modèle gpt-6-astra en effort xhigh, le 13 septembre 2026 : 10 tours, 3 h 05 min de travail de l'agent. Fichiers du prototype servis tels quels, sans les pages d'audit ni les sources des images.

O projeto corre numa sandbox isolada (iframe sandbox e CSP): sem acesso ao site, aos cookies nem à sua sessão. Nada é carregado antes do seu clique.
Um mapa gerado de uma só vez, depois recortado
Aqui fica o prompt na íntegra, traduzido do francês e sem as gralhas.
Gera um jogo do tipo EarthBound, em HTML, CSS e JavaScript. Quero que retomes a mesma direção artística do jogo original, com as mesmas interfaces, para uma jogabilidade com rato/comando. Além disso, quero que geres as personagens, os seus sprites e movimentos, bem como os cenários e os SFX. Para os cenários e o mapa, quero que geres o mapa inteiro de uma só vez, que o analises e que geres, através de um sistema de camadas, outras imagens para sobrepor, com a ideia de que, se uma personagem passar atrás de uma árvore ou de uma vedação, fique visualmente atrás dela, mas a totalidade do mapa será gerada de uma só vez e usará esse sistema de camadas. Vais, portanto, detetar as colisões e fazer um mapeamento manual com base no resultado gerado, para que a personagem não atravesse o cenário. Faz um protótipo rápido do jogo.
Os jogos de 16 bits compõem os mapas com tiles. Aqui, o cenário é uma ilustração única, e o motor tem de saber o que passa à frente do herói e onde é que ele esbarra. O Astra escolheu o Phaser 3.90, apoiou-se no plugin Game Studio da OpenAI, no imagegen para as imagens e no sound-effects para os sons, e depois anunciou uma pequena aventura de bairro, com exploração por clique, diálogos e combate por turnos.
As personagens, os cenários e os sons foram criados para o protótipo, batizado Clairbois. O herói, Nino, cruza-se com Lila, Marcel, Iris e Rémi, e enfrenta um cogumelo chamado Myco.
Vinte e seis minutos para um primeiro protótipo
O Astra gerou o mapa do bairro, identificou as quatro árvores, as vedações, os edifícios e o lago, e depois traçou as colisões a partir das suas posições reais. As árvores bloqueiam ao nível do tronco, e a folhagem passa à frente ou atrás do herói consoante a posição dele. A camada de primeiro plano chegou com um padrão de xadrez desenhado no lugar da transparência, um defeito que o Astra detetou e corrigiu sozinho.
Para os sons, no início faltava a chave do ElevenLabs e o Astra estava a preparar efeitos por síntese. Colei-a na conversa dois minutos e meio depois, e sete efeitos do ElevenLabs substituíram a síntese. O turno terminou ao fim de 26 min 6 s, com 24 poses de personagens, um percurso completo até ao combate e 35 verificações bem-sucedidas, incluindo um comando simulado através da API Gamepad. O ficheiro comprimido entregue não contém nenhuma chave.
Casas sem lógica, depois uma planta de arquiteto
O meu segundo pedido acrescentava o interior das três casas, com várias divisões, camas onde o herói se enfia debaixo do cobertor como em Alundra ou Zelda, mais missões e novas zonas. Interrompi-o ao fim de quatro minutos e meio. A mensagem seguinte estabelecia uma regra. Cada divisão teria a sua própria imagem, e as plantas seguiriam uma lógica estrutural, com uma escada que se apanha à esquerda e chega ao andar de cima pela esquerda, e uma porta no mesmo sítio dos dois lados da parede.
O Astra começou por escrever a planta das três casas, duas divisões no rés-do-chão e duas no primeiro andar, e depois gerou as doze divisões separadamente. O gerador de imagens mudou algumas aberturas de sítio. O Astra realinhou cada imagem com as coordenadas da planta comum, uma superfície lógica de 512 × 512 por divisão, e aplicou a mesma transformação às colisões e às camadas. As 28 passagens entre divisões têm cada uma a sua ligação de regresso, testada nos dois sentidos.
A seguir, pedi uma auditoria às casas. O Astra encontrou plantas quase idênticas de uma casa para a outra, divisões demasiado vazias e escadas no andar de cima que davam a impressão de subir. Redesenhou uma casa de família, uma mercearia com armazém e habitação no primeiro andar, e a casa de uma relojoeira organizada à volta de uma oficina, com uma escada em caracol. O gerador voltou a acrescentar portas que não constavam da planta, corrigidas antes de fixar as colisões, e foram exportadas 158 camadas. A auditoria, repartida por dois turnos, custou 14,95 $ à tarifa da API.
Restava um defeito de escala visível a olho nu. O herói mantinha o tamanho do exterior diante de móveis muito maiores. Agora mede cerca de 62 píxeis de altura dentro das casas, o dobro do tamanho lá fora, tal como os habitantes.
Camadas e colisões, os dois bugs que assinalei
No turno 9, uma captura mostrava o herói com as pernas cortadas num chão livre, no bosque. O Astra reproduziu o corte ao píxel. A camada da árvore usava um contorno aproximado que englobava um triângulo de relva. Na posição assinalada, a camada antiga tapava 89 píxeis da personagem, e a nova não tapa nenhum. As oito árvores do bosque e do pomar receberam máscaras detalhadas, guardadas como faixas de píxeis em js/occlusion-data.js.
No turno 10, eu conseguia parar em cima de alguns elementos do cenário. A placa que aparecia na minha captura não tinha nenhuma colisão declarada, e o Astra encontrou outros esquecimentos entre as rochas, os arbustos, as raízes e as orlas da floresta. Também corrigiu o pathfinding, que, ao clicar, podia propor um trajeto que cortava o canto de um obstáculo. Um jogo guardado numa posição que entretanto passou a ser sólida recoloca agora o herói no chão livre mais próximo.
As verificações geométricas do projeto correm com npm test, sem dependências a instalar. Eis o resultado, relançado a 14 de setembro:
{
"maps": 15,
"rooms": 12,
"portalDirections": 28,
"reachableInteractions": 55,
"boundaryMovementSamples": 22023,
"passed": true,
"failures": [],
"checks": 1515
}As 1 515 verificações passam em 2,9 segundos, com 17 sondas de chão e de folhagem e 54 verificações de cenário. O README escrito pelo Astra esclarece que estas amostras geométricas não provam que cada píxel do cenário esteja certo.
Doze músicas e sete retratos
No turno 7, pedi músicas que mudassem consoante a situação e o ambiente. O Astra escreveu doze prompts e gerou doze faixas com a API de música do ElevenLabs e o modelo music_v2, para a aldeia, as três casas, o bosque, o pomar, dois combates, o descanso numa cama, o sonho, a vitória e a derrota. Os dez temas de ambiente tocam em loop com um fade de 350 ms, as mudanças de local passam por um fade de 850 ms, e a música baixa durante os diálogos.
Quarenta verificações de áudio passaram no Chrome. Testam o sinal, os loops e as transições, e o README esclarece que não substituem uma audição para julgar a música em si.
Os retratos chegaram no turno 8. O Astra pôs o imagegen a gerar sete retratos em pixel art a partir dos sprites existentes, mantendo penteados, roupas e cores. Aparecem ao lado das falas de cada personagem, e o do herói surge nos menus com o nível e os pontos de vida e de poder. As janelas adaptam-se até 320 píxeis de largura.
Tempo, tokens e custo
| Medição | Clairbois |
|---|---|
| Período | 13 de setembro, das 16h53 às 23h23 (hora de Paris) |
| Trabalho do agente | 3 h 05 min em 10 turnos, dos quais 2 interrompidos |
| Mensagens enviadas | 10, das quais 2 com captura de ecrã |
| Respostas do modelo | 269 |
| Chamadas de ferramentas | 257 |
| Compactações do contexto | 4 |
| Tokens de entrada | 35 405 000, dos quais 33 769 472 lidos em cache (95,4 %) |
| Tokens de saída | 301 285, dos quais 114 284 de raciocínio |
| Custo à tarifa da API | 65,19 $ |
À tarifa consultada no OpenRouter a 14 de setembro de 2026, a mesma do clone de Dune 2000, o total reparte-se em 16,36 $ de entrada sem cache, 33,77 $ de cache e 15,06 $ de saída. A minha subscrição do ChatGPT desconta este uso numa quota, e o montante serve de referência. O mesmo modelo defronta o Claude Fable 5.1 numa cena three.js no nosso comparativo dos dois agentes.
Dois projetos, duas formas de conduzir o agente
| Medição | Clone de Dune 2000 | Clairbois |
|---|---|---|
| Género | estratégia em tempo real | RPG de exploração |
| Primeiro prompt | 66 palavras e um repositório de referência | 147 palavras e um método imposto |
| Turnos | 46 | 10 |
| Mensagens | 54 | 10 |
| Trabalho do agente | 11 h 16 min | 3 h 05 min |
| Custo à tarifa da API | 196,00 $ | 65,19 $ |
| Custo por hora de trabalho | 17,40 $ | 21,12 $ |
| Verificações automáticas | 122 testes Node, 24 cenários de navegador | 1 515 verificações geométricas |
O prompt longo exigiu cinco vezes menos mensagens, com um custo mais elevado por hora de trabalho. O modelo respondeu com mais frequência, 1,45 vezes por minuto contra 1,27, com um pouco menos de cache, 95,4 % contra 96,8 %. Os dois jogos não são do mesmo género nem do mesmo tamanho, por isso estas diferenças não apontam um método melhor do que o outro.
A reter
- Gerar um mapa inteiro numa só imagem funciona, desde que depois se mande traçar cada colisão e cada camada, e que se testem.
- Para interiores, a planta escreve-se antes da primeira imagem. Portas e escadas alinhadas, 28 passagens verificadas.
- O gerador de imagens muda aberturas de sítio, desenha padrões de xadrez e acrescenta portas. Cada imagem verifica-se antes de entrar no jogo.
- Quatro das minhas dez mensagens assinalavam um defeito visível que os testes automáticos não tinham detetado.
- Doze músicas e sete retratos couberam em dois turnos e 10,81 $ à tarifa da API.
Erros frequentes
architecture.json aqui.F2 aqui, e um teste de trajetos.

