Histórico de Partidas e Estatísticas

Resumo

Define o que o jogador vê sobre suas partidas passadas e seu desempenho acumulado. São duas camadas distintas: um histórico detalhado das últimas 10 partidas (com dados por partida e uma linha do tempo das fases) e um conjunto de estatísticas agregadas de vida toda (W/R por time, partidas jogadas, ofensiva, conquistas, Nível de Honra). A visibilidade é assimétrica: estatísticas do jogador são públicas; o histórico de partidas só é público se o usuário permitir. A retenção dos dados depende do Unity UGS (custo/limites de armazenamento).

Esta nota registra as decisões do card Definir histórico de partidas e estatísticas do jogador (2026-06-01).

Duas camadas: histórico vs. agregado

A distinção é estrutural e tem consequência de armazenamento:

CamadaO que éTamanhoRecompute?
Histórico de partidasDetalhe das últimas 10 partidas (dados + linha do tempo)Pesado (eventos por fase, 12 jogadores)Janela deslizante — a 11ª empurra a 1ª para fora
Estatísticas agregadasContadores de vida toda (W/R, partidas, ofensiva, etc.)Leve (poucos números)Não derivam das 10 — são contadores persistentes

Ponto crítico de design: as estatísticas agregadas não podem ser recalculadas a partir das 10 partidas visíveis — elas precisam ser contadores acumulados que sobrevivem além da janela. W/R de vida toda depende de somar todas as partidas já jogadas, não só as 10 retidas em detalhe.

Dados armazenados por partida

Cada entrada do histórico (das 10) guarda:

DadoNotas
Duração da partidaTempo total da sessão.
Time vencedorQual facção venceu (ver Times).
Seu timeTime do jogador naquela partida.
Habilidade e condutaA habilidade e a conduta que o jogador teve.
Quando morreuEm que fase/momento o jogador foi eliminado (ou se sobreviveu) — ver Jogador Morto.
Nome de usuárioIdentidade do jogador na entrada (Nome e Avatar).
Linha do tempo (gráfico)Timeline com bolinhas representando cada fase e o que aconteceu de relevante — ver abaixo.

E como ações sobre a entrada (não dados, mas botões):

  • Reportar jogador — mesmo formulário de Denúncias; o histórico já era um dos quatro pontos de entrada de report previstos lá.
  • Adicionar amizade — mesma ação de Amigos a partir do contexto da partida.

O card listava também kills e investigações como possíveis dados por partida. Não foram adotados como contadores discretos — esses acontecimentos aparecem como eventos na linha do tempo (abaixo), não como números separados. Se virarem métrica agregada no futuro, esta seção e a de estatísticas precisam ser revistas.

Linha do tempo da partida

  • O gráfico desenha a partida como uma sequência de bolinhas, uma por fase (Turnos: NightStart → NightEnd → DayStart → DayMiddle → DayEnd, por rodada).
  • Cada bolinha marca o que aconteceu de relevante naquela fase: mortes, votações decisivas, uso de habilidade, infecção/reanimação, etc.
  • Funciona como um replay-resumido — o jogador relê a partida sem precisar de um replay completo. É o lar natural de eventos como “investigação” e “eliminação” que não viram contador.
  • Nível de detalhe, quais eventos entram, e densidade visual da timeline ficam pendentes com UI/arte.

Estatísticas agregadas (perfil)

Exibidas no perfil do jogador:

MétricaDefinição
W/R por TimeTaxa de vitória por facção (Sobreviventes, Fascistas, Mercenário, Fanático — ver Times).
Partidas JogadasTotal de vida toda.
OfensivaSequência atual de vitórias — ver ofensiva de vitórias.
ConquistasConquistas desbloqueadas (tipo “conquista” de Missões e Desafios).
Nível de HonraÍndice de reconhecimento dos pares, medido em Pontos de Honra acumulados (fontes: Elogios recebidos e voto de MVP — ver Elogios e Pós-Partida). Par positivo do contador de Strikes de Sanções.

O card pedia W/R por role (função); a decisão entregou W/R por Time (facção), granularidade menor. Se o detalhe por função for desejado depois, é um incremento — não está no V1.

Nível de Honra e Elogios — conceitos a fechar

  • Os conceitos abaixo, antes em aberto, agora estão definidos na nota própria Elogios — par positivo de Denúncias.
  • Nível de Honra é um índice positivo de reconhecimento dos pares, que sobe conforme o jogador acumula Pontos de Honra. É o par positivo do contador de Strikes de Sanções.
  • Fontes dos Pontos de Honra: os Elogios (o oposto da denúncia, dados no fim da partida em Pós-Partida, com orçamento ganho — você dá tantos elogios quantos recebeu na partida anterior) e o voto de MVP (Pós-Partida). Regras completas, anti-abuso e pendências remanescentes em Elogios.

Colisão “Honra” — resolvida (2026-06-29). Antes a Pontuação de Honra do MVP (perícia) e o Nível de Honra (comportamento) eram tratados como eixos distintos com o mesmo nome. Foram unificados: Honra é reconhecimento dos pares, e MVP + Elogios são duas fontes da mesma Honra. Skin de Honra e Borda de Honra são cosméticos dessa Honra. Ver Nomenclatura e Pós-Partida.

Quantidade no histórico

  • 10 partidas. O histórico detalhado guarda as últimas 10; a 11ª partida empurra a mais antiga para fora da janela visível.
  • O cap baixo é coerente com o custo de armazenamento do detalhe por partida (timeline + dados dos 12) e com a retenção via UGS (abaixo).
  • As estatísticas agregadas continuam contando todas as partidas — sair da janela de 10 não apaga a contribuição da partida para W/R, ofensiva e partidas jogadas.

Visibilidade

ItemVisibilidade
Estatísticas do jogador (agregados)Públicas — qualquer um vê.
Histórico de partidas (detalhe das 10)Público apenas se o usuário permitir — controle de privacidade do jogador.
  • O perfil público sempre expõe os agregados; o detalhe das partidas é opt-in pelo dono do perfil.
  • Estado default do toggle de histórico (público ou privado por padrão) fica pendente — recomendação: privado por padrão, jogador habilita.

Isonomia em partida ativa — resolvido (2026-06-29). Decisão: durante a partida tudo fica anonimizado — perfil, estatísticas, nível e nome não aparecem; só voltam no lobby e na pós-partida (a identidade já some na seleção de personagem). Logo, não é possível abrir o perfil de um adversário no meio da partida para ler tendências. Regra única em Isonomia.

Retenção no servidor

  • Depende do Unity UGS (Unity Gaming Services). A persistência, o tempo de vida e o custo de armazenar histórico e estatísticas seguem o que o UGS oferece e cobra.
  • A escolha de 10 partidas no detalhe é, em parte, uma decisão de custo: contadores agregados são baratos de manter para sempre; o detalhe completo de cada partida é pesado e por isso limitado.
  • Mapeamento exato para os serviços UGS (Cloud Save? Leaderboards? armazenamento custom?), limites de tamanho por jogador e política de expiração ficam pendentes com o time técnico.

Pendências (a definir em rodadas futuras)

  • Sistema de Elogios: definido em Elogios (onde, orçamento ganho, anti-abuso, Pontos de Honra). Pendências remanescentes — thresholds de nível e reconciliação com reports — migraram para lá.
  • Honra (resolvido 2026-06-29): Nível de Honra e a antiga “Pontuação de Honra” do MVP foram unificados — ver Nomenclatura. Resta definir quanto de Honra o MVP concede e os thresholds (em Elogios).
  • Fórmula do Nível de Honra: thresholds de Pontos de Honra por nível e como “sem reports” se combina com os elogios — ver Elogios.
  • Default de privacidade do histórico (público vs. privado por padrão).
  • Acesso ao perfil durante partida ativa (resolvido 2026-06-29)anonimizado: perfil/estatísticas só fora da partida. Ver Isonomia.
  • Conteúdo e densidade da linha do tempo: quais eventos entram, granularidade visual.
  • Mapeamento de retenção no Unity UGS: serviços, limites de tamanho, expiração, custo.
  • W/R por função (além de por time) — incremento futuro.
  • Definição de “ofensiva” exibida: só vitórias? Alinhar com ofensiva de vitórias.
  • Estatísticas e bots: partidas com muitos bots (Quórum) contam igual para W/R? Há risco de inflar W/R farmando contra bots?

Ver Também

  • Leaderboard — ranking público; Pontuação Total e UGS Leaderboards
  • Pós-Partida — fonte dos dados por partida; Honra via MVP
  • Progressão — perfil público e exibição de nível/estatísticas
  • Denúncias — botão de reportar; Elogios como par positivo
  • Sanções — “sem reports” alimenta o Nível de Honra
  • Amigos — botão de adicionar amizade
  • Turnos — fases que viram bolinhas na linha do tempo
  • Times — W/R por time
  • Missões e Desafios — conquistas exibidas no perfil
  • Jogador Morto — “quando morreu” por partida