Cópia offline do documento “ZombiAdA: revisão final e fatia jogável”. Original online: claude.ai.

ZombiAdA: revisão final e fatia jogável

· @u_sQiEPHaNdr6EEnPriLe2PA

Resumo

A fatia do Jardim Aurora pode ser jogada do começo ao fim no navegador: Zombiada, versão 7. A partida dura uns 15 a 20 minutos. Você saqueia a rua, encontra o sinalizador e resgata ou perde a Helena e o Davi. Depois sobrevive à horda de 300 e chama o helicóptero da laje da Casa 8.

Ela junta o trabalho de todos os times: Bestiário, Arsenal, Mapa, Fluidos, Explosões, Veículos, Personagens e Sobreviventes. Com 1.500 zumbis ativos, a simulação gasta 1,2 a 1,5 ms por quadro (mediana). Falta a medição de FPS numa placa de vídeo de verdade.

O que a fatia integra

A fatia usa o que cada time entregou. As adaptações para caber no navegador estão na última coluna.

TimeO que está no jogoAdaptação na fatia
Bestiário13 tipos com habilidade própria: Saltador derruba, Espreitador dorme e acorda, Inchado estoura e deixa cheiro por 60 s, Cego persegue som, Devorador come corpos e se cura, Brutamonte golpeia em arco, Farejador segue rastro, Afogado puxa para a piscina, Carbonizado queima, Gritador chama a horda. Pirâmide de corpos contra muro. Faixas de relevância R0 a R3Mordida mata em 120 s (aceleração de debug; o real é 48 h mais 2 a 4 min)
ArsenalGlock 17, Remington 870, AK-47, Remington 700, faca, granada M67 e molotov (garrafa, gasolina ou cachaça, mais isqueiro)9 mm em 35 de dano, como no Bestiário; o Guia do corpo diz 30
MapaRua das Acácias, 8 casas com chave, muros de quintal de 1,8 m que dá para pular, porta com tranca e tábua, laje da Casa 8 com escada, piscina da Casa D, ônibus tombado na avenida norteUma rua em vez do bairro inteiro
FluidosPoças que secam das bordas para dentro, pegadas de sangue, respingo na parede com escorrido, bile do Inchado, chuva que atrasa a secagem512 decalques em dois pools
ExplosõesBola de fogo com faixas de calor, detritos, onda de choque, reação em cadeia (botijão, barril, carro), muro que quebra e abre caminho, fogo que fica no chão e zumbi em chamasTetos de 6 explosões em 4 s por área
VeículosCarro em frente à Casa 6: dirigir, atropelar (acima de 8 m/s mata e arranca membros), bater, motor pegar fogo e explodirFísica arcade, sem suspensão
PersonagensFôlego, fome, sede, infecção, caída, agachar, pular muro, mochila e diárioAtributos fixos
SobreviventesO simulador da página roda dentro do jogo. Helena, Davi, Cícero e Sandra têm rotina e rádio. Boletim das 20h da Jéssica. Se ninguém ajudar, Helena sai às 6h do dia 4 e pode virar zumbi com o sinalizador no corpo. Mortes viram notícia e diárioDia começa no 3; 1 dia de jogo = 60 min reais

Desempenho medido

A simulação cabe com folga no orçamento de 16,6 ms por quadro. Os números abaixo são só de CPU, num Chromium sem placa de vídeo (renderização por software), então o FPS desse ambiente não vale.

CenárioZumbisSimulação, medianaPior quadro
Bairro cheio, sem horda2.0000,6 a 1,1 ms9 a 11 ms
Horda final entrando1.5001,2 a 1,4 ms15 a 20 ms
Horda final e 6 explosões em cadeia1.4601,3 a 1,5 ms22 a 27 ms
3 dias do simulador de sobreviventes104 NPCs2,7 a 5,4 ms, uma vez por dia de jogonão se aplica

Os picos aparecem em sistemas que custam menos de 0,1 ms na mediana, como o dos NPCs. Isso indica coleta de lixo ou ruído da máquina virtual, e não um sistema caro. Na tela, são 84 draw calls e 0,7 milhão de triângulos com a horda. O medidor F3 mostra FPS, simulação, render e GPU no seu computador.

Inconsistências entre os briefs

Ainda há dois números sem dono final: o dano do 9 mm e a velocidade do Corredor. O resto já tem decisão, e o Mapa alinhou seu brief na rodada de hoje (documento v8).

#TemaDecisão da revisãoSituação
B1Pilha de redeUnity Transport com host autoritativo, sem MirrorMapa alinhado; depende da escolha de engine
B2Modelo de danoVida total decide a morte pelo tronco, segmentos decidem o desmembramento, penetração em pontos do ArsenalUsado na fatia
B3Números das armasArsenal é a fonteAberto: 9 mm está em 35 no Bestiário e na fatia, mas o Guia do corpo diz 30
B4VelocidadesBestiário é a fonte (Lento 1,4 m/s, Corredor 5,5 m/s)Aberto: Personagens ainda usa 6,0
B5Infecção48 h de jogo e reanima em 2 a 4 min; 120 s só como debugMapa alinhado
B6Unidades de tempoCosmético em segundos reais, mundo em horas de jogoUsado na fatia
B7JogadoresAceite medido com 4 e com 8Mapa alinhado
B8Banda de redeTípico 32 KB/s, pico 64 KB/s por clienteOrçamento abaixo
I1, I2Relevância e replicaçãoUma relevância R0 a R3; replicação do BestiárioMapa alinhado; usado na fatia
I8PortaGolpe direto na vaga de ataque mais pressão da pilhaMapa alinhado
I9NomesLento em todo lugarMapa alinhado
I10Histórias cruzadasNascimentos, mortes e relações no simuladorUsado na fatia (rádio, diário, zumbi com nome)
I11População do mundoCerca de 37 mil em dados por bloco de 64 m, até 2.000 materializadosMapa alinhado

Orçamento para a engine final

No PC alvo (GTX 1060, Ryzen 5 2600, 1080p médio), o host fecha em 8,7 ms de CPU na thread principal e 13,8 ms de GPU. No pior caso, com 2.000 zumbis, a GPU vai a 21,8 ms (30 FPS). O detalhe por sistema está em checklist-e-orcamento.md.

RecursoTeto
CPU, thread principal do host8,7 ms, com 3 ms de folga
GPU típica / pior caso13,8 ms / 21,8 ms
Zumbis materializados (R0 e R1)2.000 no mundo, divididos entre os jogadores
Triângulos na tela2,5 M típico, 3,5 M pior caso
Rede por cliente a 30 Hz27,6 KB/s típico, teto 64 KB/s
Ragdolls simultâneos16, num pool de 24

A fatia confirma a parte de simulação desse orçamento: horda, flow field fatiado, pirâmide, explosões e NPCs cabem em menos de 2 ms na mediana, sem threads.

Pendências

O próximo passo depende de duas coisas suas: o FPS no seu computador e a escolha de engine e repositório.

Os fontes da fatia estão em implementacao/jogo-web/ (src, shell.html, build.py e os testes em t/).