Communitygithub.com

Waipjy/ClaudeGame

Projete ou modifique as regras, materiais (vial), catalisadores (catalyst), fórmulas de pontuação, curvas de pontuação alvo, economia da loja, níveis de dificuldade, tutoriais do Pour Decisions, ou execute simulações de balanceamento, revise novas cartas/relíquias.

O que é ClaudeGame?

Esta skill é um guia completo de design de jogo para o "Pour Decisions", um roguelike deckbuilder baseado em simulação de areia (falling sand). Ela contém todas as regras executáveis, fórmulas matemáticas e diretrizes de balanceamento para que um agente de IA ou desenvolvedor possa projetar, modificar ou simular o jogo de forma determinística. A skill cobre desde o ciclo central de jogo (rounds, pontuação chips × mult) até a economia da loja, curva de dificuldade (Stakes), progressão meta (não pay-to-win) e tutoriais (FTUE). Suporta qualquer plataforma que utilize regras baseadas em JSON/CSV compartilhadas entre Unity e um simulador Python/C# headless. Ela funciona fornecendo princípios de design de alto nível (como determinismo e rastreabilidade visual), especificações detalhadas (fórmulas, tabelas de preços, listas de verificação) e referências para simulações Monte Carlo de balanceamento. O objetivo é permitir que a IA gere, modifique ou avalie conteúdo (vials, catalysts) de forma consistente, evitando erros comuns como objetos que canibalizam outros, pontuação descontrolada ou tutoriais confusos.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Waipjy/ClaudeGame/tree/HEAD/.claude/skills/game-design

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Game Design — Pour Decisions(Simulação de Areia × Roguelike Deckbuilder)

Leia primeiro docs/design/00_concepts.md e docs/research/02_competitor_patterns.md. Esta skill contém apenas as regras executáveis; os detalhes matemáticos e de simulação estão em references/:

  • references/scoring-math.md: fórmulas chips × mult, sobreposição aditiva/multiplicativa, modelos de curva alvo, números reais do Balatro
  • references/balance-sim.md: arquitetura da simulação de equilíbrio Monte Carlo, níveis de bot, métricas, detecção de estratégias dominantes, formato de relatório
  • references/content-archetypes.md: rascunho de arquétipos de sinergia, cotas de raridade, exemplos de catalisadores

0. Cinco Princípios Supremos (Prioridade em Caso de Conflito)

  1. A simulação deve ser completamente determinística: mesma semente, mesma posição de despejo → mesmo resultado, pixel a pixel consistente. Sem determinismo, não há habilidade, nem simulação de equilíbrio, replay ou pré-visualização.
  2. Cada reação deve ser "visível e contável": a posição da reação mostra um número, o tipo tem cor e som fixos; o jogador deve ser capaz de dizer por que perdeu (Roguebook: jogadores que não entendem como perderam abandonam o jogo).
  3. Profundidade vem de combinações, não da quantidade de regras: poucas regras superficiais (engine química de BotW: elementos mudam materiais, elementos mudam elementos, materiais não mudam materiais), profundidade vem da interação de 100-200 objetos.
  4. Cada objeto tem um propósito único, não é apenas forte (Slay the Spire GDC 2019): efeitos tão fortes que distorcem a estratégia e são fáceis de obter devem ser limitados; combos fortes mas difíceis de obter e que exigem busca ativa podem existir — em jogos single-player, permite-se que o jogador ocasionalmente "quebre" o jogo.
  5. Dados direcionam, playtest define a sensação: simulações automáticas capturam problemas numéricos, playtests humanos julgam se é divertido (Noita: indicadores técnicos são fáceis de verificar, "é divertido?" só se descobre com playtest).

1. Ciclo Central e Estrutura de Rodada

Rodada (Round): Comprar mão (vials) → Escolher 1 frasco + Escolher posição/ângulo de despejo → Simular até estabilizar (settle) ou atingir limite de ticks
           → Pontuar reações do despejo atual → Acumular na pontuação da rodada → Usar todas as tentativas de despejo → Comparar com pontuação alvo
Entre rodadas: Loja (vial / catalyst / upgrade / modificação do béquer) → Próxima rodada
Uma run: 8 "experimentos" (Ante) × 3 rodadas (Pequeno/Grande/Boss) = 24 rodadas
  • Pontuação baseada em settle, não em velocidade de reação em tempo real — evita o ponto fraco de equipes de IA (sensação) e torna os resultados previsíveis.
  • Limite de settle: limite de ticks de simulação (ex: 600 ticks), no máximo 4-6 segundos na tela, pode acelerar ×2/×4; depois, forçar a conclusão.
  • O estado do béquer é mantido entre despejos (dentro da mesma rodada); limpar ou não ao final da rodada é uma chave de design: manter = profundidade de planejamento de longo prazo, limpar = legibilidade. O protótipo começa limpando, depois testa a versão que mantém.
  • Rodada de Boss = uma regra alterada (ex: "a água congela", "a gravidade inverte uma vez"), correspondente ao Boss Blind do Balatro; deve ser anunciada antes do início da rodada.

2. Design de Pontuação (chips × mult)

Fórmula (ordem de exibição = ordem de cálculo, o jogador pode acompanhar):

Pontuação do despejo atual = (Σ chips de reação + chips de bônus) × (mult base + Σ +mult) × Π(×mult)
  • chips: pontuação base de cada reação (depende do tipo e quantidade de reação, use escala logarítmica ou por faixas para evitar "quanto mais despejar, melhor").
  • +mult: vem de "mudanças" — número de tipos de reação diferentes ocorridos, profundidade da cadeia (reação desencadeando reação).
  • ×mult: só vem de catalisadores raros ou condições especiais. ×mult é a moeda mais forte, distribua com moderação.
  • Animação de conclusão sequencial: as reações mostram chips uma a uma → mult acumula → ×mult multiplica um por um (estilo Balatro tally), números grandes em câmera lenta com vibração.

Regras:

  • Aditivo vs Multiplicativo: n objetos +mult crescem linearmente; k objetos ×1,5 crescem como 1,5^k. No início, foco em aditivo; depois, transição para multiplicativo — é um arco natural de build — deixe comuns darem aditivo e raros darem multiplicativo.
  • O valor marginal de aditivos diminui (+4 mult em base 20 é +20%, em base 100 é apenas +4%), isso torna "quando migrar para multiplicativo" uma decisão do jogador. Bom, mantenha.
  • Pontuação > 1e6 use abreviação de milhares, > 1e11 use notação científica; internamente use double, Endless use espaço logarítmico ou BigNumber.
  • Fórmula detalhada, exemplos numéricos: references/scoring-math.md.

3. Curva de Pontuação Alvo

  • Balatro white stake (ante 1–8): 300 / 800 / 2.000 / 5.000 / 11.000 / 20.000 / 35.000 / 50.000; Pequeno/Grande/Boss = ×1 / ×1,5 / ×2. A taxa de crescimento por ante diminui gradualmente de ×2,7 para ×1,4 — porque o poder do jogador cresce rápido no início e desacelera no final.
  • Abordagem para este jogo: não defina a curva no achismo. Use o bot "competente" (greedy) da simulação de equilíbrio para rodar 1.000+ runs, pegue a mediana de pontuação de cada ante M(a), alvo T(a) = M(a) × k(a), onde k vai de 0,5 (folgado) no início para 0,9 (apertado) no final.
  • Meta: no white stake, bot competente tem 30-50% de vitória, bot forte 80-95%, bot aleatório < 5%. A primeira vitória humana ocorre entre a 3ª e 8ª run.
  • Endless: após ante 9, crescimento superexponencial (Balatro ~ x^(x²)), para que o build eventualmente quebre, dando pontos de comparação "até qual rodada eu cheguei".

4. Design de Materiais (vial) e Catalisadores (catalyst)

  • Materiais são "cartas": cada frasco = um material + quantidade (pixels) + possíveis modificadores (temperatura, pureza, encantamento).
  • Catalisadores são "coringas/relíquias": passivos, permanentes, que alteram regras químicas ou de pontuação. Slots limitados (ex: 5) forçam o jogador a fazer escolhas.
  • Classificação de papéis dos objetos (cada novo objeto deve ter um papel principal):
    • Enabler (Ativador): permite que um arquétipo funcione ("óleo produz chamas extras em fogo")
    • Payoff (Recompensa): dá pontos quando o arquétipo é ativado ("cada reação de queima +3 mult")
    • Bridge (Ponte): conecta dois arquétipos ("vapor também conta como reação de queima") — evita builds de uma única linha
    • Economy (Economia): dinheiro, descontos, slots extras na loja
    • Scaling (Escalável): fica mais forte com o uso ("ao final de cada rodada, se houver ≥3 tipos de reação, este catalisador ganha +1 mult permanente")
    • Utility/Consistency (Utilidade/Consistência): manipulação de mão, redraw, pré-visualização, limpeza de béquer
  • build-defining vs filler: slots raros são principalmente para build-defining (alteram regras, fazem o jogador "mudar de direção"); comuns são filler (números, consistência), mas cada filler ainda deve ter um "quando escolhê-lo" claro.
  • Raridade (ponto de partida, ajustado depois pela simulação): Common 70% / Uncommon 25% / Rare 5% (pesos do Balatro); Legendary não aparece na loja, só em eventos especiais.
  • Buff o enabler, não o motor já completo (Luck be a Landlord 1.1): arquétipos fracos precisam primeiro de "peças de entrada" para que o jogador invista cedo; e forneça "portas de escape" — objetos que permitem mudar de direção quando o arquétipo falha.
  • Não force buffs no início, isso causa visão de túnel (tunnel vision).
  • Tabela de arquétipos e cotas de raridade: references/content-archetypes.md.

5. Economia da Loja e Reroll

Valores iniciais (base do Balatro, ajustados depois pela simulação):

  • Renda por rodada: fixa de $3–5 por passar de fase + tentativas de despejo restantes × $1 + juros ($1 a cada $5 retidos, limite de $5, não verificado se é o valor exato do Balatro). Juros criam tensão "guardar vs gastar", mantenha.
  • Faixa de preço: Common $2–5, Uncommon $5–8, Rare $8–10; preço de venda = preço de compra ÷ 2 arredondado para baixo, mínimo $1.
  • Reroll: preço inicial $5, +$1 a cada reroll, reseta ao entrar em uma nova loja. (Regra do Balatro)
  • Slots da loja: 2 objetos + 1-2 pacotes de "material" (escolha 1 de 3) + 1 upgrade (tipo voucher, $10, altera regra permanentemente).
  • Verificação de saúde econômica (saída da simulação):
    • O bot competente compra em média 1-2 itens por loja; 3 lojas consecutivas sem comprar nada = economia muito apertada.
    • A contribuição de objetos econômicos para a taxa de vitória não deve ser maior que a de objetos de recompensa — senão "farmar dinheiro primeiro" se torna a única solução.
    • Distribuição de número de rerolls: mediana de 1-2; se a melhor estratégia do bot for rerollar ≥5 vezes por loja, significa que reroll é muito barato ou os slots são muito ruins.

6. Duração da Run e Ritmo (Meta: 30-60 minutos)

  • Orçamento: 24 rodadas × (3-4 tentativas de despejo × 15-25 segundos + loja 30-60 segundos) ≈ 35-50 minutos. Após medição, ajuste o número de tentativas de despejo, não a velocidade de settle.
  • A cada 3 rodadas (um ante), deve haver algo "novo": regra de Boss, desbloqueio de nova raridade na loja, aparecimento de novo material.
  • As primeiras 3 rodadas devem ser concluídas em até 6 minutos: a janela para um novato decidir se o jogo é divertido é muito curta (Peglin Demo teve mediana de 67 minutos de jogo como referência geral para Demo).
  • Falhe cedo: runs perdidas devem terminar no ante 2-4, não no ante 7, para evitar "jogar 40 minutos para descobrir que o build não funciona".

7. Níveis de Dificuldade (Stakes / Ascension)

  • 8-10 níveis, acumulativos, cada nível adiciona apenas uma regra (Slay the Spire Ascension 20, Balatro 8 Stakes são acumulativos).
  • Candidatos para este jogo (do mais fácil ao mais difícil): alvo ×1,2 → despejos restantes não dão dinheiro → loja com um slot a menos → béquer começa com pixels contaminados → quantidade de material -10% → chance de catalisador raro reduzida à metade → duas regras de Boss → curva de crescimento do alvo muda para nível Purple.
  • Níveis de dificuldade também são ferramentas de dados: as taxas de vitória em diferentes níveis fornecem informações de equilíbrio mais granulares (Slay the Spire GDC).
  • Desbloqueio de cada nível: vencer uma vez no nível anterior; exibido no menu, dando ao jogador um objetivo de longo prazo.

8. Meta-progressão (Não Pay-to-Win)

  • Progressão permanente é principalmente desbloqueio lateral: novos materiais, novos catalisadores, novos formatos de béquer, novos baralhos iniciais, enciclopédia. Sem bônus numéricos permanentes (ex: "todos os fogos +5%").
  • A ordem de desbloqueio é projetada como tutorial: comece com apenas 2-3 arquétipos abertos, depois de algumas runs, desbloqueie arquétipos mais complexos (Roguebook: atrasa mecanismos complexos com a progressão).
  • Cada run (mesmo se perdida) deve desbloquear ou avançar algo (Ball x Pit "respeita o tempo do jogador": quase toda run tem um novo blueprint).
  • Ofereça uma opção "desbloquear tudo" para jogadores veteranos/streamers (Balatro também adicionou), com a consequência de que esse save não conta conquistas.
  • Qualquer DLC pago só pode ser conteúdo (novos pacotes de material), não poder.

9. Faça a Simulação Caótica Parecer Habilidade

  1. Determinismo: timestep fixo, inteiros ou ponto fixo, ordem de atualização fixa (de baixo para cima; direção de varredura esquerda-direita usando paridade do tick, não RNG), todo aleatório vindo de PRNG derivado da semente da run. Execute a mesma entrada duas vezes e compare o hash, inclua em testes de CI.
  2. Pré-visualização: antes de despejar, mostre a trajetória do ponto de impacto e ícones de "quais materiais serão tocados"; como é determinístico, pode simular os N ticks iniciais em uma cópia em segundo plano para "ícones de reação previstos". A pré-visualização completa da pontuação é reservada para catalisadores/itens ("tubo de ensaio") como recurso, não forneça de graça.
  3. Vocabulário de reações fixo e pequeno: cada reação tem uma cor + ícone + tom de som; reações do mesmo tipo se agrupam em um número pop-up ("Queima ×37 → +185"), não pule números por pixel.
  4. Linhas de causalidade: reações em cadeia usam linhas finas ou flashes para conectar "quem desencadeou quem", a profundidade da cadeia é exibida em números grandes (×2, ×3…), isso também é um ponto alto para edição de vídeos.
  5. Controle de variância: diferenças na posição de despejo devem ter impacto significativo na pontuação, mas resultados para a mesma posição devem ser estáveis. Meça a "diferença de habilidade" = pontuação do bot na melhor posição ÷ pontuação do bot em posição aleatória, alvo ≥ 2; < 1,3 significa que posicionamento não importa.
  6. Simule apenas o que o jogador verá: Noita descobriu que efeitos sutis como crescimento de musgo e derretimento lento não são notados; invista recursos em reações que mudam a pontuação ou a tela.
  7. Quando a simulação atrapalha a jogabilidade, a jogabilidade tem prioridade (Noita): pode trapacear (ex: reações só contam nos X ticks após o despejo, limite de número de partículas).

10. FTUE / Tutorial (Jogos Sistêmicos)

  • A primeira run usa semente fixa e mão fixa: 1º despejo = areia (aprender a despejar), 2º despejo = água (aprender reação: areia+água → lama), 3º despejo = fogo encontra óleo (aprender cadeia e mult). Cada despejo ensina uma coisa.
  • Ensine com o béquer, não com texto: menos texto também reduz custos de tradução para 10+ idiomas e o ônus de exposição de texto por IA.
  • "Enciclopédia de reações" (codex): a primeira ocorrência de cada reação é automaticamente registrada e brevemente destacada; o jogador descobrir por conta própria = diversão (Roguebook: descobrir sinergias é a diversão central).
  • Cada tooltip de vial/catalisador tem uma linha de ícones indicando "reage com X", sem texto.
  • Catalisadores e loja só abrem a partir da 2ª rodada; Boss abre no final do ante 1.
  • A primeira run pode ser vencida, mas a progressão não depende de vencer a primeira run.

11. Métodos e Métricas de Playtest

  • Método: teste cego (sem explicação) → primeiros 15 minutos think-aloud → depois observação silenciosa → ao final, 3 perguntas: "Como você perdeu?" "Melhor momento?" "O que você não entendeu?" Gravar em vídeo.
  • Para playtests do HSU: cada vez, valide apenas 1-2 hipóteses, escritas previamente em docs/design/playtests/YYYY-MM-DD.md.
  • Métricas obrigatórias (telemetria salva em JSON local, ativada na versão de playtest):
    • Tempo para primeira reação, tempo para entender ×mult (ver se busca ativamente multiplicador)
    • Distribuição de ante de morte por run, duração da run, tempo por rodada
    • Proporção de quem inicia uma segunda run voluntariamente (a métrica mais importante)
    • Taxa de acerto na resposta "Por que perdeu?" (indicador de legibilidade, alvo ≥ 70%)
    • Número de vezes que um objeto foi visto no tooltip vs comprado (não entende vs não quer)
  • Formato de eventos: run_start / pour{vial,x,angle,reactions[],score} / shop{offered[],bought[],rerolls} / run_end{ante,cause,build[]}.
  • Cuidado com viés de "super playtester": dados dos mais experientes não representam jogadores comuns (Slay the Spire GDC).

12. Simulação de Equilíbrio (Resumo; detalhes em references/balance-sim.md)

  • A simulação de equilíbrio roda em sim/ (Python ou C# headless com a mesma tabela de regras), dados de regras (materiais, reações, catalisadores) usam o mesmo JSON/CSV, compartilhado entre Unity e sim, evitando divergência.
  • Níveis de Bot: Random / Greedy (a cada passo, escolhe a ação com maior pontuação esperada) / Lookahead (MCTS ou beam search para escolher despejo + compra).
  • Cada mudança de valor: execute pelo menos 1.000 runs × cada bot; relatório salvo em docs/design/balance/YYYY-MM-DD_<topic>.md.
  • Alertas de estratégia dominante:
    • Um único objeto tem "taxa de vitória quando pego − taxa de vitória base" > +10 pontos percentuais
    • Um único arquétipo responde por > 40% das vitórias (alvo: top 5 arquétipos entre 10-30%)
    • Um objeto tem taxa de aquisição < 3% no bot greedy → carta morta
    • Bot forte tem taxa de vitória > 98% no white stake → geralmente muito fácil
  • Estratégias estranhas encontradas pela simulação = sinal, primeiro verifique se é bug (pesquisa Google: comportamentos estranhos de agentes frequentemente revelam erros reais de ajuste de parâmetros).
  • Ao corrigir, primeiro ajuste números (custo, raridade, valor do bônus), depois as condições, e por último refaça (LocalThunk: a maioria das correções são numéricas).

13. Lista de Verificação para Novos Vials / Catalisadores

Antes de submeter qualquer novo objeto, marque cada item, escreva na tabela de dados do objeto como observação:

  • É possível descrever em uma frase seu propósito e "quando escolhê-lo"
  • Marcou o papel principal (Enabler/Payoff/Bridge/Economy/Scaling/Utility) e o arquétipo a que pertence
  • Efeito pode ser expresso em ≤ 15 palavras em inglês ou 1 linha de ícones; não requer nova palavra-chave, ou a nova palavra-chave será compartilhada por ≥ 3 objetos
  • O efeito é "visível": ao ser ativado, há feedback visual na tela (pop-up de texto/flash/som)
  • Determinístico: não introduz aleatoriedade não seed; não depende de frame rate
  • Nível de pontuação correto: comum não dá ×mult; quem dá ×mult é raro+ ou tem condição difícil de obter
  • Simulou com os 3 objetos mais fortes atuais e não houve explosão de pontuação > 10× (ou a explosão foi intencional e difícil de obter)
  • Não torna nenhum objeto existente inútil (cannibalize) — verifique a mudança na taxa de aquisição de outros objetos do mesmo arquétipo
  • Caso o arquétipo não se concretize, o objeto ainda serve como filler ou pode ser vendido
  • Preço e raridade consistentes com outros objetos do mesmo papel
  • Texto já está na tabela de localização (key), com comprimento que, mesmo após expansão de +35% em alemão/russo, ainda cabe
  • Performance: no pior caso de quantidade de pixels, ainda mantém o FPS alvo
  • Executou simulação de 1.000 runs: taxa de aquisição 5-40%, diferença de taxa de vitória dentro de ±10pp (a menos que seja um rare build-defining intencional)

Fontes

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas