AI Agents

Como criei o Quads, um jogo de tabuleiro mobile, com o Claude — de um hackathon de 2 horas à App Store

Alejandro Rioja
Alejandro Rioja
12 min de leitura
TL;DR

O Quads é um jogo de tabuleiro mobile — uma versão limpa do clássico jogo abstrato Quarto — que começou como um hackathon de 2 horas com um amigo na Colômbia e foi lançado nas lojas de aplicativos. Esta é a versão totalmente aberta de como construo com o Claude: worktrees de agentes em paralelo, uma IA de jogo de verdade (não um LLM), design offline-first e as pegadinhas específicas que me custaram horas.

Newsletter gratuita

Toda quarta-feira. 28.400+ operadores. Zero enrolação.

Sumário

Atualizado em julho de 2026.

Resumo: O Quads é um jogo de tabuleiro mobile — uma versão limpa do clássico jogo abstrato Quarto — que começou como um hackathon de 2 horas com um amigo na Colômbia e foi lançado nas lojas de aplicativos. Esta é a versão totalmente aberta de como construo com o Claude: worktrees de agentes em paralelo, uma IA de jogo de verdade (não um LLM), design offline-first e as pegadinhas específicas que me custaram horas.

[Visão do operador] Eu opero mais de 30 agentes em produção, distribuídos entre uma marca de consultoria e a Pickleland, minha instalação de pickleball na região metropolitana de Austin. A maior parte do que construo é software de negócio sério, no qual mantenho o manual em sigilo. O Quads é o oposto — um projeto paralelo divertido que posso te mostrar de cima a baixo. Se você quer ver exatamente como trabalho com o Claude, sem nada aparado, este é o post. Você encontra o jogo em playquads.com.

Começou como um hackathon de 2 horas na Colômbia

A origem é quase constrangedoramente casual. Eu estava numa viagem à Colômbia, e um amigo e eu nos demos um hackathon de 2 horas: escolher algo pequeno, construir com IA, ver até onde a gente chegava. Paramos no Quarto — um jogo de estratégia abstrato lindo e pequeno, fácil de aprender e surpreendentemente profundo. Duas horas depois tínhamos um protótipo jogável, e a ideia era boa demais para deixar num laptop.

O que começou como um desafio com prazo virou um app mobile de verdade, lançado no iOS e no Android. Esse arco — protótipo de brincadeira a listagem na loja — é a razão inteira pela qual acho este projeto digno de ser contado. A distância entre “ideia divertida” e “coisa que estranhos podem baixar” desabou, e o Quads é um estudo de caso limpo de como.

Primeiro, um breve desvio sobre o nome. O jogo é uma reimplementação do Quarto, que é um jogo registrado como marca de propriedade da Gigamic. Então a primeiríssima decisão fora do código foi não chamá-lo de Quarto em nenhum lugar que um cliente fosse ver. Ele foi de Quarto (a mecânica) a alguns nomes provisórios até Quads — um nome que é meu para usar. Se você está reimplementando um clássico, resolva a questão da marca antes de se apaixonar por um nome.

O que o Quads realmente é

Para os não iniciados: o Quads é jogado num tabuleiro 4×4 com 16 peças únicas. Cada peça tem quatro atributos binários — alta ou baixa, escura ou clara, quadrada ou redonda, maciça ou vazada — e as 16 peças cobrem cada combinação possível exatamente uma vez. Você vence completando uma linha de quatro peças que compartilhem qualquer um dos atributos.

A reviravolta que o torna genial: você não escolhe a peça que coloca. Seu adversário te entrega ela. Depois você entrega a dele. Então cada turno é um duplo dilema — você está tentando colocar a peça que recebeu sem armar uma vitória, enquanto escolhe uma peça para dar que não entregue o jogo ao seu adversário. É elegante e genuinamente difícil.

O app traz quatro modos de jogar, todos totalmente offline: contra o computador em cinco níveis de dificuldade, passa-e-joga num só dispositivo, um desafio diário e um modo assíncrono de “desafie um amigo”. Sem conta, sem servidor, sem login. Essa decisão offline-first guiou boa parte da engenharia, e é grande parte do motivo pelo qual uma construção solo foi tratável.

A lógica do jogo: um conjunto inteiro de regras que sai da matemática de bits

Esta é a minha parte favorita, porque é o tipo de coisa satisfatória tenha uma IA escrito ou não.

Cada uma das 16 peças é apenas um inteiro de 0 a 15. Cada um dos quatro bits é um atributo. É isso — o conjunto inteiro de peças são os números de 0 a 15, porque quatro bits dão a você exatamente 16 combinações.

A detecção de vitória então se torna quase trivial. Para qualquer linha de quatro peças, você mantém dois acumuladores correntes: os bits que são 1 em todas as peças e os bits que são 0 em todas as peças. Se qualquer um dos acumuladores for diferente de zero após as quatro, as peças concordam em pelo menos um atributo — isso é uma vitória. O conjunto inteiro de regras colapsa em um par de operações ANDs bit a bit.

Porque a lógica são funções puras sobre inteiros — sem framework, sem UI, sem estado — ela é diretamente testável em unidade, e é trivial de estender. O Quads inclusive traz uma variante de regra da casa em que os nove quadrados 2×2 também contam como formas vencedoras, o que é um acréscimo de duas linhas em cima do mesmo truque de bits. Quando você e um parceiro de IA mantêm a lógica central assim tão limpa, adicionar uma funcionalidade é uma alegria em vez de um risco.

O adversário de IA não é um LLM (e essa é a escolha certa)

Aqui vai um momento de aprendizado que me importa: nem toda “IA” deveria ser um modelo de linguagem grande.

O adversário do Quads é IA de jogo clássica pura, e assim deve ser. A cada turno ele toma duas decisões — onde colocar a peça que recebeu e qual peça devolver — e a dificuldade escala o quão duro ele pensa:

  • O Iniciante joga essencialmente ao acaso e vai te entregar a vitória.
  • Os níveis intermediários adicionam heurísticas: pegar uma vitória imediata se existir uma, e evitar presentear uma peça com a qual o adversário pode vencer, preferindo a peça que arma o menor número de ameaças futuras.
  • O Mestre e o Grão-Mestre rodam uma busca negamax limitada — busca de árvore de jogo de verdade — mas com um orçamento de nós rígido, para que uma jogada nunca possa travar a thread principal do telefone. No início do jogo, onde a busca perfeita é intratável, ele recorre a heurísticas rápidas; no fim do jogo, onde a árvore é pequena o bastante, ele busca de verdade.

Duas coisas que valem a pena roubar daqui. Primeiro, um modelo de linguagem seria pior aqui — mais lento, mais caro, não determinístico e derrotável — do que cinquenta linhas de negamax. Case a ferramenta com o problema. Segundo, o orçamento de nós é a engenharia de verdade: num dispositivo móvel, “correto mas ocasionalmente trava por quatro segundos” é uma funcionalidade fracassada. Limitar a busca para que uma jogada seja sempre rápida, mesmo que ocasionalmente subótima, é a diferença entre um brinquedo e um produto. Saber quando recorrer a um LLM é o mesmo julgamento que aplico a toda automação — é o cerne de como decido se uma construção de IA vale a pena.

Como de fato toco o Claude: agentes em paralelo em worktrees

Agora a parte que mantenho em sigilo nos meus produtos maiores, mas que posso te mostrar por completo aqui.

Eu não construo com uma sessão do Claude por vez. Eu rodo várias em paralelo, cada uma em seu próprio git worktree, em seu próprio branch. Um agente adiciona internacionalização, outro constrói o sistema de desafio diário, outro faz o modo para daltônicos, outro conecta o som — cada um isolado em sua própria cópia de trabalho para que não se atropelem, e cada um é mesclado de volta quando fica verde. O histórico git do Quads é uma parede de commits Merge branch 'worktree-agent-…', que é exatamente como esse fluxo de trabalho parece visto de fora.

A razão pela qual os worktrees importam é simples: agentes em paralelo editando o mesmo diretório de trabalho se atropelam instantaneamente. Dê a cada um um checkout isolado e você pode genuinamente ter quatro funcionalidades em construção ao mesmo tempo, e depois mesclá-las como quaisquer outros branches. É a mudança de maior alavancagem na forma como trabalho — passei de uma conversa, uma funcionalidade, para uma pequena frota.

Se você quer a disciplina por trás dos prompts que esses agentes rodam, é a mesma que descrevo em como escrever system prompts de agentes de IA que não falham em produção: a alavancagem está em especificações claras e atualizadas, não em fraseado engenhoso.

A pegadinha que me custou uma hora (para que não te custe uma)

Todo projeto te ensina uma lição idiota e cara. No Quads foi esta: a ferramenta de preview nem sempre mostra o branch que você acha que ela está mostrando.

Quando você roda vários agentes em vários worktrees e visualiza o trabalho deles, o preview pode ser lançado de um diretório diferente daquele em que sua sessão atual está — então você tira um screenshot do app, não vê nenhuma das suas mudanças e começa a depurar uma UI “faltando” que nunca esteve faltando. A funcionalidade estava boa; o preview estava apontando para o checkout errado. Perdi tempo de verdade com isso antes de descobrir o que estava acontecendo, e anotei nas próprias notas do projeto para que o meu eu do futuro (e qualquer agente a quem eu entregue o repositório) confira o alvo do preview antes de depurar bugs fantasmas.

A armadilha relacionada: o arquivo de configuração que define esses previews é compartilhado entre as sessões em paralelo, então dois agentes editando-o ao mesmo tempo podem silenciosamente sobrescrever as entradas um do outro. Se você vai rodar uma frota, trate a configuração compartilhada como um recurso disputado — ela vai te morder exatamente uma vez, e nunca mais se você anotar a lição.

Esse hábito — capturar cada pegadinha arduamente conquistada num arquivo durável que a próxima sessão vai ler — é a espinha dorsal silenciosa de construir com IA em qualquer escala. O contexto evapora entre as sessões; as lições escritas não.

Os truques offline-first dos quais me orgulho

Como o Quads não tem backend, alguns problemas precisaram de respostas engenhosas e sem servidor:

  • O desafio diário é escolhido de forma determinística a partir do dia local do ano, então todo jogador no mundo recebe o mesmo desafio com zero coordenação de servidor. (Lição bônus: eu lancei, e imediatamente corrigi, um erro de um a mais por causa do horário de verão nessa conta de datas. Datas são sempre mais difíceis do que parecem.)
  • O “desafie um amigo” codifica um desafio em um código de texto curto — algo como QC1-01-03-3 — protegido por um checksum, para que um erro de digitação não possa produzir um desafio válido-mas-errado. Seu amigo digita isso na própria cópia do app e joga a posição exata, inteiramente offline. Sem contas, sem matchmaking, sem servidor.
  • Os previews ricos de links são o único lugar em que usei um pouquinho de código de servidor. Quando você compartilha um link de desafio, uma única Cloudflare Pages Function renderiza tags Open Graph por código, para que o link se expanda direitinho no iMessage ou no WhatsApp. Os rastreadores sociais não rodam JavaScript, então um preview renderizado no cliente pareceria idêntico para cada link — uma pequena função resolve isso sem precisar de um backend de verdade.

Nenhum desses é difícil depois que você os vê, mas cada um é um lugar onde a resposta preguiçosa é “subir um servidor e um banco de dados”, e a resposta melhor é “fazer a coisa engenhosa offline”. Evitar um backend por completo é a razão pela qual uma única pessoa pôde lançar e manter isto.

Do hackathon à listagem na loja

O trecho final — a parte que ninguém te conta sobre um “projeto de 2 horas” — é tudo o que existe entre “funciona no meu telefone” e “estranhos podem baixar”. Internacionalização em oito idiomas de uma só varrida. Textos de loja que nunca usam o nome registrado como marca. Ferramentas de build para as lojas de aplicativos, versionamento e as limpezas de permissões específicas de cada plataforma que impedem uma revisão de loja de te barrar. Isso é sem glamour, e é onde muitos projetos paralelos morrem em silêncio.

Fazer isso com o Claude não deixou a lista mais curta, mas deixou cada item barato o bastante para eu de fato terminar. Essa é a história de verdade do Quads: não que a IA escreveu um jogo de tabuleiro — muita gente consegue prototipar um — mas que ela baixou o custo da última milha o suficiente para que uma brincadeira de hackathon virasse um produto lançado.

Se você tem uma ideia pequena engavetada, essa é a minha proposta inteira. Comece a versão de 2 horas. Você vai se surpreender com o quanto a linha de chegada se aproximou. E se você quer ver até onde na escala esse mesmo estilo de trabalho vai, eu o levei até o topo, para um SaaS multitenant completo — como criei o Courtlines, uma plataforma de gestão de clubes, com o Claude.

Jogue Quads em playquads.com.

Perguntas frequentes

O que é o Quads?

O Quads é um jogo de tabuleiro mobile para iOS e Android — uma reimplementação limpa do clássico jogo de estratégia abstrato Quarto. Você joga num tabuleiro 4×4 com 16 peças únicas, e a reviravolta é que o seu adversário escolhe a peça que você tem que colocar. É gratuito para jogar, com modos solo, passa-e-joga, um desafio diário e desafios assíncronos. Encontre-o em playquads.com.

O Claude escreveu o jogo inteiro?

O Claude escreveu a grande maioria do código, trabalhando a partir do design e das decisões que são minhas. Eu rodei várias sessões do Claude em paralelo, cada uma em seu próprio git worktree, construindo diferentes funcionalidades que mesclei. A lógica do jogo, o adversário de IA, a internacionalização, os sons e o sistema de desafios foram em grande parte construídos assim e revisados por mim.

O adversário de IA dentro do jogo é movido por um LLM?

Não — e deliberadamente. O adversário usa IA de jogo clássica: heurísticas nas dificuldades mais baixas e uma busca negamax limitada nos níveis mais altos, com um orçamento de nós rígido para que uma jogada nunca trave o dispositivo. Um modelo de linguagem seria mais lento, mais caro e mais fraco para este trabalho. Escolher o tipo certo de IA para o problema importa mais do que sempre recorrer ao maior modelo.

Quanto tempo levou para construir o Quads?

O primeiro protótipo jogável saiu de um hackathon de 2 horas com um amigo numa viagem à Colômbia. Transformar esse protótipo em um app polido e pronto para ser lançado em ambas as lojas de aplicativos — com internacionalização, um adversário de IA de verdade, desafios offline e conformidade com as lojas — levou consideravelmente mais tempo, mas cada passo individual foi barato o bastante com IA para que o projeto de fato chegasse à linha de chegada.

Qual é a maior lição de construir o Quads com o Claude?

Duas coisas. Primeira, rode agentes em git worktrees isolados para poder construir várias funcionalidades em paralelo sem que se atropelem. Segunda, anote cada pegadinha num arquivo durável que a próxima sessão vai ler — o contexto evapora entre as sessões, mas as lições escritas se acumulam. Para o panorama maior desse estilo de trabalho, veja como criei o Courtlines com o Claude.

Continue lendo

Posts relacionados

Continue lendo

Receba o manual de IA na sua caixa de entrada

Toda quarta-feira. 28.400+ operadores. Zero enrolação.

↵ ver todos os resultados esc esc para fechar