🎯 Visão rápida
Partida de pênaltis em cartas. Cada jogador começa com 10 cartas idênticas (mesma composição para ambos). A partida consiste em 5 rodadas por jogador (cada rodada: um chuta, o outro defende; depois invertem). Cartas básicas representam direções de chute/defesa; VIPs são cartas consumíveis especiais compradas com $VIRA.
1) Regras básicas (definitivas)
Cada jogador recebe 10 cartas (configurável). As cartas são as mesmas para ambos (mesma composição).
A partida tem 5 turnos de ataque para cada jogador (total de 10 cobranças, alternando roles).
Em cada turno:
Kicker (quem vai chutar) joga uma carta face-down (escolhe direção: esquerda, centro, direita — ou outro esquema de zonas).
Defensor precisa escolher uma carta de defesa (face-down também) para tentar bloquear.
Revela-se ambas as cartas; se a defesa coincidir com a direção do chute → defesa; caso contrário → gol.
Ao final das 5 cobranças por cada jogador, soma-se gols; quem fez mais vence.
Empate → Pênalti de Ouro (morte súbita): cada jogador alterna cobranças até desempatar (mesma mecânica).
2) Cartas básicas (sugestão inicial — ajustável)
Cada carta básica é direção e pode ser usada tanto para chute quanto para defesa. Exemplo de composição sugerida (por jogador):
4 × Esquerda
3 × Centro
3 × Direita
(=10 cartas) — essa distribuição gera trade-offs estratégicos (ex.: Muitos "esquerda" força previsibilidade). Ajustável para balanceamento.
Quando uma carta é usada (como chute ou defesa) ela é descartada para o resto da partida.
3) Cartas vip (consumíveis, pagas em $vira)
todas são consumíveis (uma vez por compra / uso por partida), pagas com $vira. Podem ser remuneradas via compra direta, prêmio ou caixas.
VIPs já definidos (do seu texto):
Visão Noturna
Efeito: revela a carta que o adversário jogou naquele turno (ou seja, o defensor vê qual direção o kicker escolheu antes de jogar a defesa).
Uso: deve ser ativada após o kicker jogar face-down e antes do defensor confirmar a defesa.
Restrição: uso uma vez por partida por jogador (se comprado).
Pagamento: $VIRA (valor sugerido abaixo).
Super Muralha
Efeito: bloqueia qualquer chute naquele turno (independente da direção).
Uso: ativado pelo defensor no lugar de jogar uma carta de defesa (consome o turno de defesa).
Restrição: uma vez por partida. Não requer combinar com carta de defesa.
Observação: Super Muralha não pode bloquear um Gol de Ouro (ver abaixo) se tornar impossível tecnicamente for desejado; mas seu enunciado original diz que “defende qualquer chute” — então por padrão bloqueia tudo, exceto se você explicitamente quiser Gol de Ouro invulnerável (descrição abaixo).
Gol de Ouro
Efeito: garante gol automático naquele chute e vale 2 gols (ponto duplo).
Uso: ativado pelo kicker ao jogar (substitui um chute normal).
Restrição: uma vez por partida (consumível).
Interação: por sua descrição “faz o gol de qualquer jeito e vale 2” — Gol de Ouro é inquestionável, ou seja, não pode ser bloqueado por Super Muralha. (Se você preferir que Super Muralha bloqueie até Gol de Ouro, avise — eu adapto as regras.)
Observação: VIPs são cartas separadas das 10 básicas — quando usadas não gastam as cartas básicas (gastam a carga VIP e consomem um dos 5 turnos de chute/defesa).
4) Fluxo de turno detalhado (implementação)
Para cada sub-rodada (ex.: Jogador A chuta, jogador B defende):
Início do turno (server emite
turn.start, mostra quem é kicker/defender).
Kicker joga: escolhe e envia carta (ID da carta ou tipo) ao servidor — marcada face-down (servidor armazena sem revelar). Tempo limite sugerido: 20s.
Defensor decide:
Pode usar Visão Noturna (se possuir) — paga $VIRA e servidor retorna carta do kicker (revelada só para o defensor).
Agora o defensor joga sua carta de defesa ou usa Super Muralha (se possuir). Tempo limite sugerido: 20s.
Revelação & resolução: servidor revela ambas, aplica VIPs (por prioridade definida abaixo), registra resultado (gol/defesa), atualiza placar e notifica os dois clientes com animação.
Próxima sub-rodada (agora o papel se inverte).
Tempos e falhas: se um jogador desconectar/estourar tempo:
Default: auto-play por servidor (joga carta aleatória do mano / usa VIP se configurado para auto-use) ou abandono com perda automática — escolha do jogo. Recomendo grace period 15–30s + auto-play.
5) Prioridade / Resolução de efeitos (regras técnicas)
Ordem de resolução em cada sub-rodada:
Kicker já jogou a carta (face-down).
Visão Noturna (se for utilizada pelo defensor) revela a carta do kicker antes da jogada de defesa — portanto, influência direta.
Defensor joga carta de defesa ou ativa Super Muralha.
Gol de Ouro, se usado pelo kicker naquele mesmo salto, é resolvido: garante 2 gols independentemente da defesa (ou, se preferir, pode ser configurado para ser passível de Super Muralha — defina a regra).
Caso normal: se direção defesa == direção chute → defesa; senão → gol.
Se houver conflito de VIPs (ex.: Defensor tentou usar Super Muralha mas kicker ativou Gol de Ouro): regras acima determinam o resultado; defina se Gol de Ouro é invulnerável.
6) Economia & compras (sugestão de valores & limites — ajustáveis)
(Valores exemplares em $VIRA)
Visão Noturna: 100 $VIRA (consumível, 1 por partida)
Super Muralha: 200 $VIRA (consumível, 1 por partida)
Gol de Ouro: 500 $VIRA (consumível, 1 por partida)
Formas de obtenção:
Compra direta na loja (gasto $VIRA).
Prêmios em partidas/temporadas.
Caixas/loot por passes.
Importante: VIPs podem ser consumíveis off-chain. Se houver NFT (cartas raras), diferencie: NFTs permanentes (skin, efeitos cosméticos, estatísticas) — não devem quebrar equilíbrio competitivo sem custo.
Resgates: manter política de resgate por catálogo (gift cards, fidelidade) — sem usar termo “saque”.
7) ui / ux (especificações para o front)
tela de partida com 3 zonas claras: sua mão (10 cartas), área de jogo (cartas face-down/face-up), mão do adversário (miniatura).
Interações:
Drag & drop para jogar carta (ou botão “jogar”).
Mostrador de VIPs disponíveis (botões para comprar/usar).
Temporizador visível para kicker e defensor.
Animação de revelação (cartas viram, som, partículas).
Feedback claro de vitória/derrota do turno.
Notificações: “Visão Noturna ativada” (só para quem usou); quando alguém usa vip, apareça animação pública (balancear ux vs. Informação estratégica).
Log de turnos (histórico) para ver quais cartas já foram usadas.
8) Back-end / Autoridade do jogo (requisitos)
Servidor autoritativo: todas as decisões de jogo (validação de cartas, resolução de VIPs, contagem) são feitas no servidor. Clientes apenas enviam intenções.
WebSocket / realtime: para latência menor e experiência síncrona (socket events:
match.create,
match.join,
turn.play, turn.resolve, player.disconnect,
match.end).
Persistência: guardar partidas, histórico, ranking e logs para auditoria de fraudes.
Transações monetárias: compras VIPs e compras de $VIRA via Pix integradas com gateway; pagamentos aprovados devem refletir saldo do usuário imediatamente no servidor.
Autorizações: checar saldo $vira antes de permitir compra / uso de vip; bloquear uso duplicado (flag por partida).
Escalabilidade: partidas curtas → alto QPS (dimensionar autoscaling para sockets).
10) Casos de borda & validação
Tentativa de usar VIP duas vezes → negar (server-side).
Desconexão → policy: espera Xs → auto-play / forfeit.
Tentativa de jogar carta que não possui → negar e reportar (anti-cheat).
Ambos jogadores usam VIPs conflitantes → use regra de prioridade (Visão Noturna antes de defesa, Gol de Ouro resolvido como inquestionável, etc).
Replay/forgery: todas ações assinar com tokens temporários; logs imutáveis por partida.
11) Testes/QA mínimos (aceitáveis)
Partida completa com 5 turnos por lado, sem VIPs — resultados corretos.
Cada VIP testado isoladamente e em combinação (visão vs muralha vs gol de ouro).
Teste de timeout / desconexão / reconexão.
Testes de segurança: tentativa de usar carta não existente.
Testes de economia: débito $VIRA por compra e não permitir uso com saldo insuficiente.
Testes de stress com matchmaking concorrente (1500+ partidas/hora simuladas).
12) MVP — entregáveis para o freelancer
Protótipo funcional (Web/Unity/React Native) com: matchmaking simples, 1x1, 10 cartas, 5 turnos por jogador, VIPs implementados.
Backend mínimo (endpoints + sockets) autoritativo.
UI básico com animações de virar cartas e indicação de VIPs.
Painel admin para forçar resultados, ver logs e ajustar preços $VIRA.
Documentação técnica (API spec + modelo de dados + regras).
Suite de testes automatizados para regras de turno e VIPs.
13) Exemplo de partida (walkthrough)
Round 1: A é kicker. A joga Esquerda (face-down). B decide usar Visão Noturna (paga 100 $VIRA) → servidor mostra a carta de A ao B. B então coloca defesa Direita. Revela → defesa não bate → Gol A +1.
Round 2: Agora B chuta. B usa Gol de Ouro (paga 500 $VIRA) → gol automático, +2 para B. Super Muralha do A não bloqueia (regra: Gol de Ouro inquestionável).
Após 5 rodadas cada, soma-se e define vencedor; se empate vai para morte súbita (novo ciclo com mesma mecânica).
14) Pontos para o freelancer perguntar (se necessário)
(Estou incluindo só para que o dev saiba o que esclarecer contigo)
Deseja que Gol de Ouro seja realmente inquebrável por Super Muralha?
Composição final das 10 cartas (ex.: 4/3/3) — confirmar balanceamento.
Preço final em $VIRA para VIPs e se VIPs podem ser compradas DURANTE a partida ou apenas antes.
Política de desconexão (auto-play vs forfeit).
Integração NFT (sim/não) e se NFTs afetam gameplay.
Contexto Geral do Projeto
Eu tenho a patente e cnpj do jogo físico, estamos lançando esse mês, eu gostaria de fazer o jogo digital nesse formato, tenho o desejo que seja um jogo nft, pois temos o token da moeda, mas seria interessante também ter um para android e ios nesse formato para competições e-sports
Prazo de Entrega: Não estabelecido