So Neal Stephenson came out with a book last year, Anathem. It's a thousand pages, but a rough summary is that it's a different world, one where a kind of non-religious order of knowledge monks guard and store and build up all the information (and I mean ALL) of every civilization that had ever existed in their world, through seven thousand years of various empires rising and falling, from stone age up to atomic manipulation and back to stone age.
So tall walls, safe little monks scuttling around building and brewing and growing and digging and working. Kind of like DF (although what isn't), with the occasional siege when the outside world turns against them for any one of a hundred reasons.
The idea is that there are four layers, each increasingly gated and protected, to each Concent (the monk-fortresses): The Annuary, Decenary, Centenary, and Millenary Gates. Each gate opens only when the appropriate year is begun, for ten days - so for 3586 only the Annuary gate would open, but for 3590 the Annuary and Decenary gates would open, and in the year 4000 all the gates would open.
When a gate opens, the inhabitants recruit for that particular section of the Concent, collected knowledge from each section is relayed inward, then the gates close again.
So of course, I want to build this.
The systems in the book are all automated, tied to a huge well-maintained clock system. Thus I would need the same - four nested internal layers of fortress, each self-sufficient, each increasingly well protected against interlopers. I would need a clock system, automated, that would trigger the four drawbridges once every one, ten, hundred and THOUSAND years for a period of time.
The nesting is easy. The self-sufficiency and increasingly elaborate traps are easy. The clock is hard. I've seen gate-level logic implemented, but building such a thing with NAND gates makes me want to die. If I can derive a frequency from the oscillator circuit described on the wiki, it may be a starting point. But how to implement a counter?
And since bridges can only be tied to levers, is there any way for machines to trigger levers? I'm rudimentary with respect to mechanisms in DF, mostly limited to lever-make-floodgate-work-ooga-booga.
Logic follows:
Counter=0;
foreverloop{
Counter increases;
if (Counter indicates a year has gone by){
open Annual gate;
if (Counter DIV 10==0) open Decade gate;
if (Counter DIV 100==0) open Century gate;
if (Counter DIV 1000==0) open Millenium gate;
wait (some time);
close all gates;
}
}
Hopeless to automate completely? Or just hopeless?