User talk:Vasiln

From Dwarf Fortress Wiki
Revision as of 20:39, 22 August 2011 by Vasiln (talk | contribs) (Pressure plates)
Jump to navigation Jump to search

Pressure plates

In your recent edit to the DF2010 pressure plate article, you stated that a creature stepping onto a pressure plate, off of it, then immediately back onto it would generate a second "on" signal before the first "off" signal - are you absolutely sure this is what's happening? From my own experience, this sort of thing does not happen using liquids, otherwise a partially submerged pressure plate linked to a gear assembly would become desynchronized (and lots of examples of mechanical logic illustrate that this doesn't happen). --Quietust 18:31, 22 August 2011 (UTC)

To clarify, the understood behavior for liquids is that the pressure plate "turns on" when the condition is satisfied and "turns off" once the condition has been unsatisfied for 100 ticks, and it only sends on/off signals when its state actually changes between on/off. If this is not the case, then it needs to be clearly stated in the article, since it is directly contrary to what most people would expect. --Quietust 19:28, 22 August 2011 (UTC)
(Am I supposed to reply on my own page or on your page?)

Yeah, I'm sure this is what's happening. My tests are based on creatures and not fluids, but if you think about it, you'll see that actually, this characteristic of pressure plates is what keeps gear assemblies synchronized, rather than causing any desynchronization.

Let's take an example. Pressure plate activates pretoggled gear on 3 or less of water, such that when there's 4+ water, power flows; when there's 3- water, power doesn't. We put the pressure plate in the middle of a cistern of 3-4 water. 4/7 flows over at tick 0, leaves at tick 25, flows over at tick 50, and leaves again at tick 75, to just make up example numbers. Pressure plate generates on signals at 0 and at 50; it generates off signals at 125 and at 175. Power flows between 0 and 50 and between 125 and 175, because gear assemblies toggle; at the end of all of this, water is 3/7, gear is off (toggled 4 times), so it's in sync.

What if pressure plates didn't function this way? If the off signal from the first triggering didn't occur, because the pressure plate saw the second trigger and said, "Oh wait, let's skip the off at 125 and only send the off at 175," then gear assemblies would get out of sync. The end-state would be water 3/7, gear on (toggled only 3 times). The only other way they could work without desyncing gears is to institute a refractory period such that they also ignored the on signal at 50 (and any on signal, until 125), and some observation of spike traps shows that there is no such 100+ refractory period for pressure plates. Also, were pressure plates to have such refractory periods (if they were to work the way your clarification says most people would expect), then a goblin would never, ever escape from the following:

  1. g.^h. ->to map edge and freedom!

Yet they do escape, because aimless motion permits them to get the on-off signals on the hatch desynced. You can actually watch them do this.

Does that make sense? There is always the possibility that I'm missing something or making a stupid mistake. The edits I've been making are based on personal research, and we all know how flawed that can be, especially in these fiddlier bits of the game. I would be excited if anybody wanted to perform research to confirm or refute. In the meantime, as per your request, I'll review the pressure plate article, see if there's any extra emphasis that ought to be put anyplace.Vasiln 19:55, 22 August 2011 (UTC)

I've just done a quick test with liquid-triggered pressure plates and I can confirm that the behavior you described does not happen. With a 1x3 chamber containing three pressure plates (each linked to a gear assembly with condition "4/7 water") filled with 10 units of water (3/7 + 3/7 + 4/7), all 3 gear assemblies stay Disengaged, enabling only briefly if the water happens to stay on one side for more than a second - if pressure plates behaved the way you described, they would be constantly toggling on/off as the water appeared and disappeared. Just like levers, pressure plates have a state (as reflected by their appearance - ^ is Untriggered and ^ is Triggered) and they only send signals during state transitions, and being triggered during the 100-tick cooldown timer only cancels the timer until it's untriggered again later - in your scenario above, the pressure plate sends an "On" signal at tick 0, starts its 100-tick deactivation counter at tick 25, cancels said timer at tick 50, then restarts it again at tick 75, finally generating the "Off" signal at tick 175. --Quietust 20:12, 22 August 2011 (UTC)

I'll do some tests on fluid, document them here, correct the page if I was mistaken and you haven't already. Then I'll have to figure out what's up with my creatures if that's the case.... Thanks for the interest, conversation, and experiment.Vasiln 20:39, 22 August 2011 (UTC)