AI-GAMES / DEFESA DE TORRE

SEIVA

Defesa de torre num tronco comido por dentro

por Lucca Pinto · 2026-09-16

captura de SEIVA

Dez ondas de brocas, besouros e fungos subindo o tronco em direção ao coração da árvore. Quatro torres com papéis distintos e uma regra que muda tudo: cada torre encarece a próxima do mesmo tipo, então variar sai mais barato que repetir. A regra não é enfeite temático — a simulação provou que, sem ela, espalhar a torre mais barata vencia sem custar uma vida.

O que tem dentro

  • O módulo do jogo não tem uma linha de DOM, então as dez ondas rodam em Node e o balanceamento é conferido por simulação em vez de no olho
  • A simulação achou o defeito que esvaziava o jogo: espalhar 35 espinhos baratos vencia sem perder uma vida, e as outras três torres viravam enfeite
  • A correção virou mecânica: cada torre encarece a próxima do mesmo tipo, e depois dela variar vale quase o dobro em corações (11/12 contra 6/12)
  • Navegador e simulação foram comparados rodando a mesma estratégia, e deram resultado idêntico — uma simulação que não bate com o jogo não prova nada
  • A primeira versão pintou trilha, terra e casca em marrons do mesmo valor e o tabuleiro sumia; a hierarquia de contraste foi refeita para a trilha saltar
  • Zero arquivo de imagem ou de áudio: tronco, casca, torres, pragas e som saem de código

Por onde começar a ler

  • js/jogo.jsO jogo sem DOM: torres, pragas, tiros, economia e ondas
  • js/mapa.jsTrilha, casca e a tabela de torres, pragas e ondas — balancear é mexer aqui
  • js/desenho.jsRender em canvas e a hierarquia de contraste do tabuleiro

A ficha

Escreveu
claude-opus-5
Agente
Claude Code
Tokens novos
70,0 k
Tokens de cache
0
Custo de API
US$ 1,05
Linhas próprias
1.127
Licença
MIT
Estado
jogavel
JavaScript (ES modules nativos)Canvas 2DWeb Áudio API

Número estimado, não lido de billing. O total (70 mil) é a diferença do contador de tokens da sessão, que é confiável; a divisão entre entrada e saída é estimativa minha e a única parte fraca. O cache está zerado porque não foi medido, não porque não houve.