Recently, I've been doing a lot of research on build order. Because this stuff is tl;dr for a lot of folks, I'm going to start with the practical stuff:
Screw pumps pump in the reverse order in which they were built. This is probably the most useful finding for most people. By building top to bottom, you can maximize fluid throughput of a pump stack-- fluid climbing the stack will take z ticks to climb a stack built bottom-to-top, but only a single tick to climb a stack of any height built top-to-bottom. You can also use this to make improved mist generators. By building a climbing loop in the direction of water travel, you can guarantee that water spends a single tick in every tile of a mist generator-- to return to its reservoir tile and fall once again into the intake tile of the initial screw pump.
The gist of the theory is that buildings are evaluated from most recently built to first built. Each building has its own routine it calls during its part of the tick. The cool part is that
all buildings do this. By paying attention to build order, you can, for instance, pump water into a tile with a pressure plate, trigger that pressure plate with water, and then pump water back out of that tile, all in a single tick.
When you build a pressure plate before a bridge, the pressure plate evaluates its trigger conditions earlier in the tick than the bridge looks for an open signal, and so you get an open in 100 ticks. When you build a pressure plate after a bridge, the bridge looks for the open signal, doesn't see one, and only later in the same tick does the plate send an open signal, leading to a 1 tick delay in the open signal.
There are some interesting oddities involved in this that I want to detail:
Hatches and doors don't evaluate their own open signals. Unlike with other furniture, the opening of doors and hatches is not something affected by build order.
Instead, the triggering device opens the door/hatch itself.The timing of a lever is determined by the 'build order' of the dwarf pulling it, not by the build order of the lever. Mostly, this doesn't matter, because all dwarves are evaluated before any furniture is evaluated. However, there's one very interesting experiment that I've done, that you can recreate. Take two dwarves, and have them take turns pulling a lever to drop the other via the hatch. One of the dwarves will consistently take 6 ticks to fall, while the other will take 7 ticks. Why?
Because the hatch is opening before the first dwarf checks to see if he should fall, but after the second dwarf thinks about falling! I think this is just so cool. Dwarves, like furniture, appear to be evaluated in reverse order.
Gear assemblies appear to be unaffected by build order, but the actual delivery of power is affected by build order. This is one of the weird ones. If you build two gear assemblies, one built before and one after a toggling pressure plate, both gears will change from 'engaged' to 'disengaged' and vice versa on the same tick.
However, the engaged gear assembly built after the pressure plate will not actually deliver power on that tick, whereas the engaged gear assembly built before the pressure plate will!I realize this kind of stuff isn't very interesting to very many people on the forums, but it's so interesting to me that I felt like I had to share. If you want to about the various experiments I did to figure this out, I've been keeping an experiment journal at
my wiki page.