Aller au contenu

Déterminisme et graines

Pourquoi une même graine donne la même nuit sur tous les appareils dans SysAdmin Crisis : comment la simulation reste déterministe, et ce que cela apporte.

Dernière mise à jour:

Rien dans la simulation n'est vraiment aléatoire. Chaque choix que fait la nuit — quel incident arrive, quand, contre quelle machine, si un flood est distribué — provient d'un générateur pseudo-aléatoire à graine. Donnez-lui la même graine et vous obtenez la même nuit, à chaque fois, sur n'importe quel appareil.

Comment tout tient ensemble

Deux propriétés rendent cela possible. La simulation avance par pas fixes de 250 ms, si bien que le résultat ne dépend jamais de la fréquence d'images ni de la vitesse de votre machine. Et il est interdit au moteur — par des règles de lint, pas par simple convention — d'appeler l'horloge système ou le générateur de nombres aléatoires de la plateforme.

Les tirages aléatoires sont en outre répartis en flux séparés par consommateur. Ainsi, ajouter une fonctionnalité qui consomme de l'aléatoire à un endroit ne décale pas la séquence partout ailleurs, et les anciennes nuits continuent de se rejouer correctement.

Ce que cela vous apporte

La même nuit deux fois. Vous pouvez rejouer une garde perdue et retrouver exactement les mêmes incidents dans le même ordre — c'est la différence entre s'entraîner et simplement rejouer.

Des sauvegardes qui reprennent honnêtement. Comme une sauvegarde enregistre la position de chaque flux aléatoire, la reprise n'est pas une approximation. La nuit continue là où elle en était, pas quelque part de plausible.

Des gardes partageables. Sur le web, la graine peut être fournie dans l'adresse sous la forme ?seed=, si bien qu'une nuit précise peut être transmise à quelqu'un d'autre exactement comme vous l'avez jouée.

D'où viennent les graines

Dans la campagne, chaque nuit dérive sa graine de la partie, de sorte que la nuit quatre d'une campagne n'est pas la nuit quatre d'une autre. Le mode infini tire une nouvelle graine à chaque partie, sauf si vous en fournissez une.