Pitch: Criei um jogo 3D de construção de cidades usando Claude Code
Tudo começou como um experimento: até onde eu conseguiria desenvolver um jogo 3D usando apenas vibe coding com o Claude Code?
O resultado foi o Hexaera, um jogo de construção de cidades em um tabuleiro hexagonal, baseado em turnos, que também foi pensado para funcionar como um jogo de tabuleiro físico.
Você pode jogar gratuitamente aqui: https://hexaera.vercel.app
Funciona diretamente no navegador, tanto no computador quanto no celular, sem precisar instalar nada.
Como funciona o jogo?
Você começa com uma fogueira, uma pequena população e apenas 7 hexágonos inexplorados ao seu redor.
A partir daí, precisa explorar o mapa, coletar recursos, construir estruturas, alimentar sua população, desenvolver tecnologias e defender seu território de ataques.
O objetivo é evoluir sua civilização por 7 eras históricas:
Primitiva
Bronze
Ferro
Medieval
Industrial
Moderna
Contemporânea
Cada era introduz novas construções, recursos e desafios. O objetivo final é alcançar a era contemporânea e construir o monumento Smart City.
Algumas funcionalidades
O jogo acabou ficando consideravelmente mais complexo do que eu imaginava inicialmente.
Entre as funcionalidades implementadas estão:
Tabuleiro 3D: construído com React Three Fiber, utilizando uma estética de diorama voxel. Há plantações balançando com o vento, animais andando pelo mapa, chaminés soltando fumaça etc.
Logística: estradas e trilhas conectam hexágonos, enquanto ferrovias podem ser construídas selecionando uma origem e um destino, com curvas e conexões geradas automaticamente.
Economia: mercado com preços dinâmicos, contratos comerciais e gerenciamento de recursos.
Infraestrutura: geração e consumo de energia elétrica, poluição e diferentes cadeias de produção.
Eventos: acontecimentos que afetam sua civilização ao longo da partida.
Modo sandbox: para experimentar construções e mecânicas sem as restrições da campanha.
Tutorial: para ajudar novos jogadores a entenderem o funcionamento.
Áudio procedural: efeitos sonoros em estilo chiptune e sons ambientes gerados por código, sem arquivos de áudio.
Como foi desenvolver tudo isso com vibe coding?
Minha proposta era experimentar um fluxo de desenvolvimento no qual eu ficaria responsável principalmente por descrever o que queria, tomar decisões e jogar, enquanto o Claude Code cuidaria da implementação.
E foi basicamente isso que aconteceu.
O Claude Code criou e manteve um documento de game design (GDD) dentro de uma vault do Obsidian, implementou as regras, o tabuleiro 3D, as interfaces, a versão mobile e até os deploys.
Meu papel foi principalmente definir a direção do projeto, experimentar as mecânicas, identificar problemas e solicitar ajustes.
A parte mais interessante: um bot para testar o próprio jogo
Uma das coisas mais úteis que fiz foi pedir ao Claude Code para implementar um bot capaz de jogar centenas de partidas automaticamente, sem interface gráfica (headless).
O objetivo era encontrar problemas de balanceamento que seriam difíceis de perceber jogando manualmente.
E funcionou.
O bot identificou alguns problemas importantes:
Deadlock entre aço e energia: determinadas cadeias produtivas acabavam dependendo umas das outras, impedindo o progresso.
Espiral de fome: quando a produção de alimentos começava a falhar, a civilização entrava em uma sequência de problemas da qual dificilmente conseguia se recuperar.
Problemas de ritmo: algumas eras demoravam demais para avançar, enquanto outras passavam rapidamente.
Depois de 8 rodadas de ajustes, a taxa de vitória do bot passou de 0% para aproximadamente 67%.
Atualmente, uma campanha completa leva em torno de 290 turnos.
Isso não significa necessariamente que o jogo esteja perfeitamente balanceado para jogadores humanos, mas foi uma maneira interessante de testar e melhorar as regras sem precisar jogar centenas de partidas manualmente.
E os gráficos?
A direção visual mistura elementos de jogos de tabuleiro com construções em estilo voxel.
Os ícones 2D e as ilustrações das cartas foram gerados com o ChatGPT.
Já os elementos 3D vieram de duas fontes:
Um pacote gratuito de assets feitos no MagicaVoxel.
Modelos criados pelo próprio Claude Code, diretamente em código.
Algumas construções mais complexas, como instalações industriais, estádios, usinas nucleares e ferrovias, foram modeladas programaticamente.
Para manter a consistência visual entre esses modelos e os assets do MagicaVoxel, também foi utilizado um shader com estética voxel.
O que aprendi com o experimento?
O que mais me chamou a atenção não foi simplesmente conseguir gerar um jogo 3D com IA, mas perceber como o processo de desenvolvimento muda quando você consegue delegar boa parte da implementação.
Passei muito mais tempo pensando nas regras, na progressão, nos problemas de balanceamento e na experiência do jogador do que escrevendo código.
Ao mesmo tempo, ficou evidente que conseguir implementar funcionalidades não é a mesma coisa que criar um jogo divertido.
O balanceamento, o ritmo da progressão e a clareza das mecânicas continuam exigindo bastante experimentação.
O bot de playtest ajudou muito com os problemas matemáticos e sistêmicos, mas ainda preciso entender melhor como o jogo funciona na prática para pessoas que nunca tiveram contato com ele.
Queria feedback da comunidade
O Hexaera ainda é um projeto experimental, e gostaria bastante de ouvir a opinião de outras pessoas, especialmente sobre dois pontos:
Os primeiros 10 minutos são intuitivos? Dá para entender o que fazer sem precisar ler muitas instruções?
A progressão parece interessante? O ritmo de exploração, construção e evolução entre as eras funciona ou fica repetitivo?
Também aceito sugestões sobre mecânicas, interface e balanceamento.
Link para jogar: https://hexaera.vercel.app
Não precisa instalar nem criar conta. É só abrir e jogar.
Se alguém experimentar, ficarei feliz em saber o que achou!