Os Vivos do Vale
ZombiAdA · documento de design · sobreviventes

Os vivos do Vale Cinzento

Quem ainda está vivo na cidade, onde mora, o que quer, o que esconde e de quem depende. E o que acontece com cada um com o passar dos dias: quem morre, quem se fere, quem é mordido e volta como zumbi com nome, quem foge do vale e quem entra no seu grupo. O mundo segue sem o jogador; o jogador só muda o rumo.

31sobreviventes com nome
12grupos e bases
40genéricos por servidor
0pontos de virada
9estados de destino

Mantém os 8 NPCs da página de personagens com os mesmos textos, rotinas e segredos, e adiciona 23 pessoas que já eram citadas nessas histórias (Seu Arnaldo, Bianca, Lívia, a mãe da Jéssica no portão, os seis homens do Brasa) ou que o mapa pedia (família da fazenda que atira, grupo hostil da serra, atirador da base, dono da loja de armas). Nesta versão entram mais 13: Tainá, que chega grávida, o caminhoneiro Lucas, e os fardados do Bloqueio Norte, da PRF, da penitenciária, da Equipe Falcão e o Major Azevedo no bunker. Todos os números são proposta para playtest. Modelos 3D de cada pessoa e de cada base: Retratos do Vale.

Onde vivem

Grupos e bases

Cada sobrevivente pertence a uma base presa a um lugar do mapa. A base tem defesa (0 a 1, reduz o risco diário de quem fica dentro) e estoque de comida em dias. Esses dois números mudam com o que acontece e alimentam o destino de todos que moram ali.

Quem ainda usa farda

Fardados

Exército, polícias e forças especiais não somem no primeiro dia. Cada força vira um grupo com base no mapa, hierarquia, equipamento e uma ordem que fazia sentido antes do surto e vai deixando de fazer. Elas protegem, cobram, atiram e se infectam como todo mundo, e o que carregam é o melhor saque do vale.

Patentes e comando

ForçaEscalaNo vale

Comportamento em campo

  • Patrulha: rota fixa em dupla, lanterna à noite, rádio a cada 30 min. Se a dupla não responde, a base manda outra e vira evento.
  • Posto de controle: escada de tensão em 4 degraus. Chamada a 50 m, parar a 30 m, mãos à vista, revista de mordida. Arma na mão do jogador sobe um degrau; correr sobe dois; no quarto degrau, tiro.
  • Resgate: grupos com reputação 20 ou mais saem para socorrer sobrevivente cercado a até 300 m da base, se tiverem munição.
  • Hostil: emboscada em ponto alto, pedágio, confisco de arma longa e veículo.
  • Contra a horda: fogo controlado e mira na cabeça, mas cada disparo de fuzil chama zumbis num raio de 300 m. Um tiroteio de soldados é proteção e perigo ao mesmo tempo: atrai a horda para cima de quem estiver perto.

Reputação de facção

Cada força tem uma reputação com o jogador de −100 a 100, separada da opinião de cada NPC, e as duas se puxam: matar um soldado derruba a reputação do Exército; ajudar a Lúcia sobe a da PRF.

ReputaçãoO que acontece
≤ −60Atira à vista, caça o jogador fora da base
−59 a −20Hostil: expulsa, confisca, não troca
−19 a 19Desconfiado: revista, cobra pedágio, troca a preço alto
20 a 59Troca justa, escolta, avisa de horda pelo rádio
≥ 60Abre a base, recruta, empresta veículo ou arma pesada

Fardados infectados

  • Mordida escondida: todo NPC armado mordido tem chance de esconder a mordida igual a (100 − estabilidade) / 200. Sinais: manca, sua frio, evita o rancho. Primeiros Socorros 3 percebe.
  • Reanimação dentro da base: um fardado escondido que reanima no alojamento morde 1 a 2 colegas antes de alguém atirar. É o ponto de virada do Vinícius no dia 10.
  • Zumbi fardado: variante pesada do Arsenal (160 a 250 de vida, colete no tronco, capacete reduz um nível na cabeça). A arma fica pendurada e nunca dispara.
  • Saque do corpo: sorteado pela tabela abaixo, sempre gasto ou danificado. O item marcado de um fardado nomeado nunca some.
  • Fardado nomeado: mantém a patrulha antiga a 30% da velocidade. Ferraz zumbi continua indo à barreira às 7h.

Equipamento e saque

O que cada força carrega e o que o jogador pode saquear ou trocar. Armas usam a ficha do Arsenal, viaturas e motos a da Frota, granadas e cargas o Laboratório de Explosões. A lista em dados está em sobreviventes/fardados-itens.json.

ItemForçaTipoOndeEfeito no jogoRaridade

Modelos genéricos

Fardados sem nome usam o gerador de genéricos com um destes modelos de equipamento e comportamento.

ModeloForçaEquipamentoComportamento
Fichas

Elenco

Personalidade nos mesmos 5 eixos do sistema de NPC (0 a 100). O item marcado é o que o NPC carrega sempre: se ele virar zumbi, continua com ele, e é assim que o jogador reconhece quem era. Os segredos ficam fechados; clique para ler.

Quem depende de quem

Teia de relações

As relações são o que faz uma morte valer alguma coisa: quando alguém morre, todo mundo ligado a ele ganha uma memória com peso, muda de humor e às vezes muda de base. Clique em um nome para ver só as ligações dele.

Nenhum nome selecionado. A teia mostra todas as 40 ligações.

Regras

Sistema de destino

Duas camadas decidem o que acontece com cada NPC. A camada de risco roda para todo mundo, nomeado ou genérico, todo dia de jogo. A camada de história são pontos de virada escritos à mão, com dia, condição e desfecho alternativo se o jogador interferir.

Os 9 estados

Como um estado vira outro

vivo→ferido→ cura em 3–10 dias oumorto
vivo→ mordida →mordido→ 48 h →zumbi nomeado
zumbi nomeado→ abatido →morto(evento de luto para quem o conhecia)
vivo→ opinião ≥ 60 + motivo →com o jogador
vivo→ opinião ≤ −60 ou expulso →hostil
vivo→ base caiu, líder morreu →mudou de base
vivo→ capturado, perdido →sumido→ pode voltar
vivo→ ônibus, rota de fuga →saiu do vale(sobreviveu, fora do mapa)

Mordida segue a regra do jogo: sempre mata. Amputação em até 60 s dá 15% de chance, igual para jogador e NPC. Não existe cura, nem para o Dr. Sato.

Camada 1: risco diário

Uma rolagem por NPC por dia de jogo, no tick abstrato. Quando o NPC está perto de um jogador (LOD completo), não rola: o que acontece é o que a simulação real mostrar.

risco = baseRegiao × exposicao
      × (1 − defesaBase)
      × (1 + fome/100)
      × (ferido ? 2 : 1)
      × (radioMuda ? 1,3 : 1)
      × crueldadeServidor
RegiãobaseRegiao/dia

exposicao = fração das horas da rotina passadas fora da base (Kauã 0,8; Zilda 0,1). Se a rolagem falha: 50% ferido, 30% mordido, 15% morto, 5% sumido. A rádio calada (Jéssica morta ou rádio destruída) tira o aviso de hordas e sobe o risco de todo mundo em 30%.

Camada 2: pontos de virada

Cada ponto de virada tem dia previsto, quem envolve, condição para acontecer e o que muda se o jogador agiu antes. Estão listados na linha do tempo e rodam no simulador.

  • Âncora: NPC com ponto de virada nos próximos 7 dias não morre na rolagem aleatória. Evita que a história de alguém acabe por sorteio antes do momento dela. Morte causada por jogador ou por combate real sempre vale.
  • Cascata: desfechos ligam e desligam outros pontos (Mariana morre → Zilda de luto → Arnaldo se solta). Implementado como flags do mundo.
  • Janela: o dia é previsto, não fixo. Cada servidor sorteia ±3 dias na criação do mundo, para dois mundos não contarem a mesma história no mesmo dia.
  • Crueldade do servidor: Cinematográfico (risco ×0,5, âncoras de 14 dias), Padrão (×1, 7 dias), Realista (×1,5, sem âncoras).

Zumbi nomeado

  • NPC com nome que reanima mantém malha, roupa e o item marcado na ficha (fones da Jéssica, terço da Zilda, capacete do Kauã).
  • Fica no LOD do mundo como zumbi especial: vaga pela rotina antiga a 30% da velocidade (Zilda volta à igreja às 6h, Brasa sobe ao telhado às 23h).
  • Categoria do bestiário sorteada pela idade e pela forma da morte. Quem morre no experimento do Sato reanima Corredor.
  • Abater um zumbi nomeado gera memória de peso alto em todos que conheciam a pessoa: alívio (+15) se era um pedido, raiva (−40) se não era.
  • O item marcado é saqueável e abre diálogo com os ligados ("você achou os fones dela?").

Como o jogador fica sabendo

Morte fora da tela precisa deixar rastro, senão não vira história.

  • Rádio: a transmissão das 20h lista mortos, sumidos e hordas. Se a Jéssica morreu, o Nelson assume com metade da informação; se os dois caíram, silêncio.
  • Fofoca: NPCs contam uns aos outros (regra existente de 50% do peso).
  • Rastro físico: corpo ou zumbi nomeado perto do lugar, diário, bilhete na porta da base, cruz no pomar.
  • Diário do jogador: entrada automática quando o jogador descobre por qualquer meio, com data e fonte.

Entrar no grupo do jogador

Opinião ≥ 60 é necessária, mas não basta. O NPC precisa de um motivo: o objetivo dele foi resolvido pelo jogador, a base dele caiu, ou ele foi resgatado. Uma vez no grupo, ele obedece ordens simples, come do estoque do jogador e continua com rotina própria dentro da base nova. Sai se a opinião cair abaixo de 20, se o grupo passar 3 dias sem comida ou se o jogador matar alguém de quem ele gostava. Companheiro morto é morto: não volta, mas pode voltar como zumbi nomeado.

NPCQuando aceitaO que trazO que pode quebrar
Camada 3

Vale vivo

Além dos pontos de virada escritos, o vale gera as próprias histórias: gente nasce, chega pela estrada procurando um parente, se apaixona, briga, trai a base e atravessa a cidade com comida para um amigo. Tudo roda no mesmo tick da meia-noite, como dado, e só vira cena quando um jogador chega perto.

Nascimentos

  • Casal formado (escrito ou sorteado), os dois com 18 anos ou mais e a mãe até 42, base com 8 dias de comida ou mais: 2% por dia de gravidez, se nenhum dos dois tiver ponto de virada nos próximos 20 dias.
  • A gravidez dura 45 dias de jogo (tempo comprimido, como a rotina). A Tainá já chega grávida e dá à luz no dia 38.
  • Parto com alguém da saúde na base (Zilda, Diego, Paula, Cida, Sato, Nicole): mãe morre 3%, bebê 5%. Sem ninguém: 15% e 20%.
  • Bebê é dado, não agente: gasta comida, aparece no colo de alguém, nunca rola risco e nunca vira zumbi nomeado.
  • Casal do mesmo sexo adota um órfão da base (as crianças da Zilda, bebê sem mãe) com 1% por dia.

Chegadas

  • A cada 5 dias, 50% de chance de chegar 1 ou 2 pessoas pela BR-Sul, pelo pátio de trens ou pela trilha da serra. Depois do dia 60, 25%. Uma em cada cinco chegadas é um casal, e às vezes a mulher já vem grávida.
  • Toda chegada tem um vínculo com um nomeado (irmã do Bigode, ex-aluno do Otávio, filho do Major Azevedo). Se o nomeado está vivo, a pessoa vai para a base dele; se morreu, ela descobre ali, e a história começa com luto.
  • Pela BR, a Lúcia anota o nome no livro da PRF enquanto o posto existir. A rádio anuncia às 20h se ainda estiver no ar.
  • Teto de 104 vivos no servidor: sem vaga, ninguém chega.

Laços e rixas

  • Cada par de adultos da mesma base tem afinidade de −100 a 100, que começa na teia (família 80, confiança 60, ódio −60) e anda todo dia: empatia aproxima, fome com ganância afasta, e um pouco de sorte.
  • Afinidade 65 ou mais, os dois sem par e com até 15 anos de diferença: 3% por dia de virar casal.
  • Afinidade −50 ou menos: rixa. Rixa a −70 com alguém de coragem 60: 20% por dia de briga (60% ferido, 10% morte, 30% um dos dois muda de base).
  • Morte de um parceiro gera luto pela regra 3.6 do brief.

Traições

  • Lealdade abaixo de 35, ganância acima de 60 e base com menos de 5 dias de comida: 3% por dia de roubar a despensa e o rádio e fugir para quem está mais forte (delegacia do Brasa, Corvos).
  • Todos da base passam a odiar o traidor (−40). Ele vira hostil e pode aparecer num pedágio contra o jogador.
  • Traições escritas: Lucas conta ao Bigode onde está o diesel (dia 36); Ítalo leva a lista da Rafa (33); Jacaré fecha com o Brasa pelo celular (50).

Entre bases

  • Caravana: base com menos de 5 dias de comida e um morador com afinidade 55 ou mais com alguém de uma base farta: 12% por dia de receber 5 dias de comida. Quem leva corre risco na avenida.
  • Ataque: delegacia do Brasa, Corvos e presos armados atacam a base com menos defesa (4% por dia cada) e levam comida.
  • Resgate: se alguém de outra base com coragem 70 gosta de quem está sendo atacado, 50% de chance de chegar a tempo e trocar a morte por ferimento.
  • Fofoca e rádio espalham cada evento para as bases ligadas.

Para a história ler bem

  • No máximo 1 evento sorteado grande por base a cada 3 dias.
  • Âncora: quem tem ponto de virada nos próximos 7 dias não morre, não briga e não trai por sorteio.
  • Toda morte sorteada deixa rastro (corpo, item, rádio, diário), igual às escritas.
  • Histórias que se cruzam já escritas: o parto da Tainá depende de a Zilda estar viva; sem ela, o Biel busca a Dona Cida na serra. O recruta mordido decide quem manda no Bloqueio, e isso decide se a Equipe Falcão vive. A PRF salva a Ivone e cai junto com o sítio do Dito.

Orçamento de desempenho

Alinhado com a revisão final e o mapa vivo. A vida do vale é dado no servidor e só vira gente com malha quando um jogador chega perto.

ItemLimiteComo
NPCs vivos no servidor104Teto global, não por base. 17 bases com até 8 moradores cada; nascimento e chegada param no teto.
Tick diário inteiro≤ 2 msPontos de virada, risco, luto, laços, nascimentos e eventos entre bases, fatiado em 1 base por quadro (17 quadros), sem pico.
Pares de afinidade por dia≤ 476Só dentro da mesma base: 17 × 28 pares. Nada de todos contra todos.
NPCs em LOD completo≤ 20Fardados e civis no mesmo teto. Zumbis fardados contam no orçamento de zumbis, não no de NPC.
Memória por NPC30As mais leves saem primeiro.
Eventos entre bases no mundosó pertoCaravana, ataque, resgate e traição nascem como dados e só ganham corpo a 150 m de um jogador.
Bebês0 agentesUm campo na ficha da mãe ou da base.

O botão “Medir 1.000 sementes” no simulador roda o vale inteiro em JavaScript, com e sem a base cheia de 104 pessoas, e mostra o tempo por dia simulado. É a mesma medida que o simulador headless do jogo precisa reportar.

Se ninguém interferir

Linha do tempo padrão

O que acontece nos primeiros 90 dias se o jogador não tocar em nada. Em verde, o desfecho alternativo quando ele age a tempo. A ordem importa: cada ponto depende do estado deixado pelos anteriores.

Teste a regra

Simulador de destino

Marque o que o jogador fez e arraste o dia. O estado de cada sobrevivente é recalculado com os pontos de virada desta página. Abre no dia 90 sem nenhuma ação e com o mundo vivo desligado: o vale que o jogador encontra se ficar parado. Ligue o mundo vivo para somar a camada de risco e a vida sorteada; cada semente conta outra história, sempre a mesma para a mesma semente.

90
Mede vivos no dia 90, nascimentos, chegadas e o tempo por dia simulado, com o elenco normal e com o vale cheio de 104 pessoas.
O que aconteceu até este dia
O resto da cidade

Sobreviventes genéricos

Os 40 genéricos do servidor usam o gerador do brief de personagens e a mesma camada de risco. Não têm ponto de virada escrito, mas têm o suficiente para parecerem gente.

O que o gerador sorteia

  • Nome brasileiro, idade 16–75, profissão, atributos válidos, personalidade.
  • Base: entra num grupo com vaga (máx. 8 por base) ou vira nômade.
  • Um vínculo com um NPC nomeado (irmão do Bigode, ex-aluno do Otávio, cliente da Rosa). Dá peso às mortes genéricas.
  • Um item marcado de uma lista de 60 (aliança, crachá, boné de time, foto) para o zumbi nomeado genérico.
  • Um medo e um desejo de listas curtas, usados em diálogo por opções.

Reposição

  • A cada 5 dias de jogo, se há menos de 40 genéricos vivos, chega 1 a 3 sobreviventes de fora pela BR ou pela ferrovia.
  • Depois do dia 60 a reposição cai pela metade: o mundo fica mais vazio.
  • Chegada sempre por um lugar com sentido (posto BR-Sul, pátio de trens, trilha da serra), anunciada pela rádio se ela ainda funciona.

Promoção

  • Genérico que passa 15 dias no grupo do jogador ganha uma história curta gerada por modelo (5 campos: antes, surto, perda, objetivo, segredo) a partir das memórias dele.
  • Daí em diante entra na teia de relações como qualquer nomeado.
Para o time de código

Implementação

O brief completo para agente de código está em sobreviventes/briefs/sobreviventes-destino.md na pasta do projeto. Resumo do modelo de dados:

Fate {
  state: Ok | Ferido | Mordido | Zumbi | Morto | Sumido | Grupo | Hostil | Mudou | Partiu
  baseId, note, since (dia), signatureItemId
}
TurningPoint {
  id, day, jitterDays: 3, who: npcId[],
  when(world) -> bool,               // condição; falso = não acontece
  ifPlayer(world) -> Outcome | null, // desfecho se o jogador agiu (flag/quest)
  otherwise(world) -> Outcome
}
Outcome { text, changes: [{npcId, state, note}], setFlags: [] , radioLine }
WorldFates.TickDay():
  1. resolve TurningPoints com day == hoje (ordem por id)
  2. para cada NPC em LOD abstrato sem âncora: rola risco diário
  3. Mordido há 48 h -> Zumbi nomeado (spawn no lugar da rotina)
  4. camada 3, fatiada por base: laços, gravidez e parto, brigas,
     traições, caravanas, ataques, chegadas (teto de 104 vivos)
  5. gera linhas da rádio das 20 h e entradas de fofoca