Jump to content

Automating Active/Dormant Geyser Time Display


Recommended Posts

So i want to create a display timer that can monitor when one of my geysers transitions from active to dormant and vice versa. I figured I can do this in isolation from any conditions of the actual geyser since I know exactly what the active vs dormancy period is.

Say my active period is 68.3 cycles. Easy enough to set up a signal timer to send green every 60s, set up three counters, when it hits 68.3, i know my geyser will go dormant.

Now, I want the timer to automatically reset itself and activate a second display for dormancy period - but I don't know the best way of sending a green signal when my displays read 68.3. The only way I can think of to do it is to set up a separate set of dummy timers with memory toggles and AND gates by essentially saying: if tens place equals 6, then start tracking ones place, when that ones place equals 8, track decimal, when that decimal hits 3, then send Green. I suppose the other option wold be to bypass the display part entirely and set up a complex chan of cycle timers that ends with a chain of signal timers since the "display" part isn't necessary for the reset logic.

I've seen some posts about setting up multiple buffer/filter gates to achieve this, but I can't wrap my head around them for some reason.

Help?

 

Link to comment
Share on other sites

1 hour ago, OxCD said:

FYI, you should not be able to use filter/buffer gate anyway, because of this

aaah, that's annoying. guess i'll look up some stuff about water clocks.

 

33 minutes ago, gabberworld said:

i don't see how water clock can be better, if there is lag then water stops flow as well

i could see water clocks being not laggy vs filter gate being laggy depending on how they prioritize lag compensation from frame rate drops, like i could see them skipping frames to compensate for graphic processes or state changes relating to gas/water/atmosphere over timers where normal circumstances of ms lag is not that vital.

Link to comment
Share on other sites

23 minutes ago, gabberworld said:

i don't see how water clock can be better, if there is lag then water stops flow as well

I think it has to do with how the game works. My understanding of the problem is something like this:

ONI has two types of updates. Simulation updates happen 5 times per in game second (so 15 times per real world second on 3x speed). Most of the simulation happens during these "ticks": thermal simulation,  piping, machines(?).

But, 5hz is really slow for a video display, so there are also animation updates that happen in between simulation updates. Most things that happen during animation are purely cosmetic. For instance the visible movement of fluids in pipes, is just an animation. In the underlying simulation fluid packets move between pipe segments instantaneously.

Unfortunately some non-cosmetic things happen on animation updates too. For instance, dripping fluid only moves on animation updates. If you pause the game and use debug mode to do simulation steps, a fluid drip will never move, but liquid vents will keep emitting liquids so when do u pause, you'll have a big mass of drips that all hit the floor at the same time.

The timing of animation steps is much less deterministic, and I believe they get dropped when you have a lot of lag. (Or try to run the game on super speed)

I think some part of the buffer and filter simulation happens during animation steps, so when you have lag they get out of sync with cycle timers which are based on in-game time which is locked to simulation steps.

Link to comment
Share on other sites

38 minutes ago, gabberworld said:

i don't see how water clock can be better, if there is lag then water stops flow as well

No. The game corrects for that. It's only an issue if the lag spike happens right at the point of activation of the water clock. Then you could have a slightly delay of up to a second.

Link to comment
Share on other sites

9 minutes ago, Saturnus said:

No. The game corrects for that. It's only an issue if the lag spike happens right at the point of activation of the water clock. Then you could have a slightly delay of up to a second.

but that also can be done with Timer sensor soo i not see difference

Link to comment
Share on other sites

18 minutes ago, gabberworld said:

but that also can be done with Timer sensor soo i not see difference

One problem with the timing sensor is that you can't reset it by automation so you need to reset it manually, and you cannot make it self-correct over time unless you use a notification sensor that pauses the game and prompt you to reset the timer manually.

The other problem with timing sensors is what you do when what you want to count is longer than what the timer sensor allows? You could use counters but that comes with it's own inherent issues. And makes the whole point above about not being able to be reset by automation but only by manual input even worse.

Link to comment
Share on other sites

the need for accuracy at that level has to do with large term drift.

if i want to set-and-forget something that tracks geyser dormancy over a period 150 cycles (more accurately my one natural gas geyser has a live/dormant cycle of 156.2 cycles), multiple iterations of that with even a 200ms inaccuracy will cause a sync drift between counter display vs actual dormancy that will only increase over time.

Does that sort of delay matter for something like this if it's under 10s over a period fo 1000 cycles? not practically, but programmatically it subverts expectations of what is supposed to be 100% accurate information and creates the need for manual intervention - which is exactly the opposite of what automation is supposed to do. if i create an imperfect system that requires manual intervention either by design or bc i can't figure something out, that's on me, i expect that. But if i have something that's supposed to 100% work in automation and it still requires manual intervention because of a game bug or deficiency, i might as well not even try to engineer a 100% automated solution at all.

i'm still trying to wrap my head around the water clock thing based on the saturnus primer he posted a couple of years ago, i think i just need to sandbox it and see it in action to figure out how to grok it and then adapt it to my needs. kudos and thanks for that OP, saturnus.

Link to comment
Share on other sites

5 minutes ago, gabberworld said:

with this i look how accurate the timer is at one cycle using 500millisec timer with game full speed with automated restart

What's the tested drift after 100 cycles? Not in the test set up but in actual survival game play.

Link to comment
Share on other sites

5 minutes ago, Saturnus said:

What's the tested drift after 100 cycles? Not in the test set up but in actual survival game play.

i see already that there is issue with timer , it seems like timer freeze sometimes , it can be because off game full speed.

i try next the 1 sec timer , it can be also 500millisec too fast for game at full speed

also by looking this, there is some other methods how to make accurate automated timer with this timers

as we know one cycle is 10 min in real life time

Link to comment
Share on other sites

14 minutes ago, gabberworld said:

also by looking this, there is some other methods how to make accurate automated timer with this timers

Look. I've tried saying it before but no, there sadly are no automation based counting method that is reliable in actual game play over long periods of time. Lots of people have tried and failed, and there's nothing new in any set ups I've seen posted that hasn't already been tried countless times before.

Only water clocks offers precision in actual game play over 10s, 100s, and even 1000s of cycles.

Link to comment
Share on other sites

2 hours ago, Saturnus said:

Look. I've tried saying it before but no, there sadly are no automation based counting method that is reliable in actual game play over long periods of time. Lots of people have tried and failed, and there's nothing new in any set ups I've seen posted that hasn't already been tried countless times before.

Only water clocks offers precision in actual game play over 10s, 100s, and even 1000s of cycles.

you mean 1 min accuracy? as i was not able make 10 sec one with water and with Conveyor rail

Link to comment
Share on other sites

No, I mean on the second accuracy.

Here's an illustration of why it works.

In this cup we have a hydrosensor set to active if above 600kg. I've spawned in 599.9999kg, ie 1mg less than 600kg, and the sensor still shows red.

WCprecision.thumb.png.67aa68c2b1b8b5f9e11441dd418294d8.png

If I spawn in 1mg more nothing happens as precisely 600kg isn't above 600kg but if I spawn in another 1mg after that the sensor goes green.

WCprecision2.thumb.png.80a76b06bf54d74c521de5599a0fd6c3.png

Using this knowledge that hydosensors are 100% accurate if you only measure the water level in one tile it's fairly obvious how you can use that knowledge to make a resettable water clock with an accuracy that is within +0s/-1s accuracy up to the 1000s of cycles.

I should note that with liquid valves the minimum setting is 100mg flow rate so with one tile depth you can only count to 16666.666(6) cycles but you could use counters for multiples of that. 

Link to comment
Share on other sites

14 minutes ago, gabberworld said:

not tested but if looking this way you can make also accurate clock with pincha pepperplant and with weight plate

In principle yes but too many variables as growth rate can be stifled even if just for a second by many factors, like atmosphere, temperature, fertilization and water supply. Any of these factors are off even for a millisecond the growth is equally stifled for a millisecond.

Add to it that plants sometimes drop seeds as well so you'd have to remove those from the equation as well.

All in all water clocks are just the easiest way to achieve absolute precision counters for very long intervals.

Link to comment
Share on other sites

37 minutes ago, Saturnus said:

In principle yes but too many variables as growth rate can be stifled even if just for a second by many factors, like atmosphere, temperature, fertilization and water supply. Any of these factors are off even for a millisecond the growth is equally stifled for a millisecond.

Add to it that plants sometimes drop seeds as well so you'd have to remove those from the equation as well.

All in all water clocks are just the easiest way to achieve absolute precision counters for very long periods.

so im guessing if he needs   68.3 time then he can even use also the Gas reservoir or Liquit  reservoir by limiting input flow

 

 

Link to comment
Share on other sites

11 minutes ago, gabberworld said:

so im guessing if he needs   68.3 time then he can even use also the Gas reservoir or Liquit  reservoir by limiting input flow

Only if you don't want to reset it to count again within a reasonable time. Reservoirs can't be emptied in less than a second like a one tile pool of water can if it's on a door. ;)

You could limit output flow of the reservoir as well and thereby count on both the input and the output alternately but that would mean more than 10s of potential inaccuracy each time you shift direction.

I can see that you're still trying to come up with alternative methods, and it is good that you're trying but trust me, not matter what you come up with, we've already tried it before. There simply isn't a better alternative than the good old water clock for the purpose.

 

Link to comment
Share on other sites

13 minutes ago, Saturnus said:

Only if you don't want to reset it to count again within a reasonable time. Reservoirs can't be emptied in less than a second like a one tile pool of water can if it's on a door. ;)

You could limit output flow of the reservoir as well and thereby count on both the input and the output alternately but that would mean more than 10s of potential inaccuracy each time you shift direction.

I can see that you're still trying to come up with alternative methods, and it is good that you're trying but trust me, not matter what you come up with, we've already tried it before. There simply isn't a better alternative than the good old water clock for the purpose.

 

as i see that Rail clock works exactly same way  i not sure if i need mess with water

clock.png

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...