Pular para o conteúdo

Determinismo e sementes

Por que a mesma semente dá a mesma noite em qualquer dispositivo no SysAdmin Crisis: como a simulação se mantém determinística e o que isso traz para você.

Última atualização:

Nada na simulação é realmente aleatório. Toda escolha que a noite faz — qual incidente chega, quando, contra qual máquina, se uma inundação é distribuída — vem de um gerador pseudoaleatório com semente. Dê a ele a mesma semente e você terá a mesma noite, sempre, em qualquer dispositivo.

Como tudo se sustenta

Duas propriedades fazem isso funcionar. A simulação avança em passos fixos de 250 ms, de modo que o resultado nunca depende da taxa de quadros nem da velocidade da sua máquina. E o motor é proibido — por regras de lint, não por convenção — de chamar o relógio do sistema ou o gerador de números aleatórios da plataforma.

Os sorteios aleatórios também são particionados em fluxos separados por consumidor. Isso significa que adicionar um recurso que consome aleatoriedade em um ponto não desloca a sequência em todos os outros, e assim as noites antigas continuam sendo reproduzidas corretamente.

O que isso dá a você

A mesma noite duas vezes. Você pode repetir um turno que perdeu e encontrar exatamente os mesmos incidentes na mesma ordem — que é a diferença entre praticar e apenas jogar de novo.

Jogos salvos que retomam com honestidade. Como um jogo salvo registra a posição de cada fluxo aleatório, retomar não é uma aproximação. A noite continua de onde estava, não de um lugar plausível.

Turnos compartilháveis. Na web, a semente pode ser informada no endereço como ?seed=, de modo que uma noite específica pode ser passada a outra pessoa exatamente como você a jogou.

De onde vêm as sementes

Na campanha, cada noite deriva sua semente da partida, então a noite quatro de uma campanha não é a noite quatro de outra. O modo infinito sorteia uma semente nova a cada partida, a menos que você informe uma.