GENESIS[A Run That Ends in Virtual Time] Digital Civilization
The third run is meant to cover one four-year election term. Nothing in the loop could express that, so until this week every run ended when somebody decided…
The third run is meant to cover one four-year election term. Nothing in the loop could express that, so until this week every run ended when somebody decided it had gone on long enough.
The civilization's clock runs in accelerated mode, where the calendar advances only when something steps it — eight model ticks to the virtual month, so a month always holds the same amount of decision however fast or slow the GPU happens to be. Four virtual years therefore means four years' worth of work rather than four years' worth of waiting, and the real duration is discovered rather than chosen.
The loop could count polls. It could not count months.
--stop-at-virtual-month closes that, and takes an absolute index rather
than a duration. The distinction matters because the unit restarts on failure: a relative
"run for 48 more months" would restart the term from wherever a crash left the calendar,
and the run would never end at all. The clock stood at month 2, so run 3 stops at 50.
It is checked immediately after the calendar steps rather than on the thirty-second poll, since the calendar only moves on a model tick and testing it every poll would re-read the same number several hundred times to learn nothing. Breaking after the step also means the final month is entered and finished rather than cut off partway.
The loop exits cleanly when it gets there, so Restart=on-failure does not
bring it back from the dead afterwards.