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:
| Camada | O que é | Tamanho | Recompute? |
|---|---|---|---|
| Histórico de partidas | Detalhe 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 agregadas | Contadores 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:
| Dado | Notas |
|---|---|
| Duração da partida | Tempo total da sessão. |
| Time vencedor | Qual facção venceu (ver Times). |
| Seu time | Time do jogador naquela partida. |
| Habilidade e conduta | A habilidade e a conduta que o jogador teve. |
| Quando morreu | Em que fase/momento o jogador foi eliminado (ou se sobreviveu) — ver Jogador Morto. |
| Nome de usuário | Identidade 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étrica | Definição |
|---|---|
| W/R por Time | Taxa de vitória por facção (Sobreviventes, Fascistas, Mercenário, Fanático — ver Times). |
| Partidas Jogadas | Total de vida toda. |
| Ofensiva | Sequência atual de vitórias — ver ofensiva de vitórias. |
| Conquistas | Conquistas 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
| Item | Visibilidade |
|---|---|
| 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