Jump to content

Conveyor Rail Thermo Sensor can be blocked by small packets


Tiru
  • Branch: Preview Branch Version: Windows Known Issue

Testing build as of 2021-04-21. Also reproduced (but not reported) in builds back in February.

Alternative issue title, since this bug report is the combination of three issues, not all of which are necessarily bugs: 'conveyor rail packets are blocked at the conveyor rail thermo sensor due to the fact that very small packets do not exchange heat and therefore can't meet the temperature threshold'

As shown in this screenshot a 3861 microgram packet of Iron, at 1312.3 C, fails to meet the 'below 140 degree' threshold of the thermo sensor. The thermo sensor itself is working, so the issue would be that these packets are created, or that they don't exchange heat. There are many scenarios where small quantities of items exist so I don't see any way to get around that, and my guess is that maybe performance reasons set a minimum mass for heat exchange. Not sure. If that is the case, perhaps the easiest fix with the lowest risk of introducing bugs elsewhere would be to have the thermo sensor also use the same minimum mass when checking temperature and simply let these microgram packets through. Currently the only workaround is to manually toggle the sensor from 'below' to 'above', let the packets pass, then back to 'below' once hot packets arrive.

2021-04-20.thumb.png.6a94d1cef3493fdb3e83dfd635f8d34b.png


Steps to Reproduce

1. Create a source of liquid metal that will cool at various rates and possibly produce fractional amounts of material having a mass of only a few micrograms (this is going to be random and take time)

2. Load material into a conveyor loader and cool the material on rails using whatever method is desired

3. Use a conveyor rail thermo sensor to only accept packets below the cooled temperature.

At some point a tiny packet will arrive that will not have cooled.

(the attached save game will eventually reproduce this problem on iron volcanoes at the planet snowiel if given time)




User Feedback


I'm not sure if this is a bug, exactly, because all of the mechanics of the themo sensor and heat exchange simulation are working as intended. What _might_ be a bug, however is the fact that miniscule packets of metal are being generated at all, weather or not lies in the volcano itself or how we have our steam rooms setup, I am not sure yet. The metal volcanos are generating 

 

That said, I was also experiencing this same problem with metal volcanos (though for me it's always the same one aluminum volcano on the forest planet). To get around this, I had to add some extra automation to the sweeper arm and conveyor loader so they are less likely to pick up the microscopic metal pieces. However, since there is always a chance for it to all happen within the few seconds that signal goes green, I still get the tiny packets of metal, albeit less often. After learning from this yet again, my latest tamed volcano is now using a weight plate and double sweeper arm/loaders to make absolutely sure that nothing smaller than 20Kg gets loaded onto the rail.

Share this comment


Link to comment
Share on other sites

same here; the small packets do not exchange heat at all and can go through rail loop forever as their temperature stays high.

one option - make small packets to immediately exchange the temperature.

does not allow sweepers to pick up smaller than 1kg - it is more difficult - I noticed that a sweeper starts picking metal when a volcano erupts but the new portion of hot liquid metal dissolves the previous portion which the sweeper has already started picking up and then the sweeper picks up just this tiny amount. The problem mostly with iron volcanos and I do not have the same problem on gold and Al all due to different setups.

third option is to make rounding {integer} 

Share this comment


Link to comment
Share on other sites

There are probably other things in the game besides volcanos that can produce small packets, or at least packets less than a 1 kg minimum (polluted dirt, oxylite offgassing, rot piles, food, etc) so any attempt to hard-code a minimum pickup weight for all conveyor loaders would probably cause bugs elsewhere. If it was configurable on the loader that would be great - could set it only in places like this. 

The volcano's in particular are probably harder to deal with. Even if they emit metals in 1kg increments they might still cool in fractional units, not sure. Seems like the easiest solution would be just to let these packets pass through the sensor.

@BallisticBuddha - Do you have a  screenshot of your workaround? Do you mean that you have one conveyor drop off on a weight plate and then a second one picks up off the plate? I think if that's what you mean it might be a good option, curious to see it. I'm already consolidating all volcanos into one place for the final cooling so that would be easy enough to add. Thanks.

Share this comment


Link to comment
Share on other sites

That's exactly what I'm doing, yes. So there's one auto-sweeper inside the steam room that just picks up any iron it sees in front of the volcano and puts it into a conveyor loader, you can do this one immediately with no real need for any automation unless you want to optimize the power used by the auto-sweeper arm (because the sweeper can sweep faster than a loader can place onto rails).

 

Then this 1st rail goes strait to a conveyor chute where it drops all of this iron onto a weight plate configured at >199Kg, and that weight plate is connected directly to the next auto-sweeper so it won't pick it up until there is 200Kg (give or take a few milligrams I guess because that was happening). That second auto-sweeper then loads it onto a 2nd conveyor loader that goes through the cooling block (very similar to yours, with metal tiles and radiant pipes).

 

I started a new world since the new update, and I was like 3000 cycles deep in that game so loading it back up can take a while, so I'd rather not grab this screenshot. But hopefully that explanation helps.

Share this comment


Link to comment
Share on other sites

Changed Status to Known Issue

Last year during testing Spaced Out internally we tried allowing temperature exchange between small ores (less than 10 grams) but discovered some issues right before launch so it was reverted. There's an ominous comment in the code from years ago "if we deal with numbers that are too small things explode" and unfortunately the context behind this change has been lost.

A few sim temperature bugs have been fixed since then so we're willing to give it another shot. In the next update to public_testing (prefix EX1 S11) this will be re-enabled. We might disable it for release if issues crop up and fix this bug in a different way.

  • Thanks 2

Share this comment


Link to comment
Share on other sites

@EricKlei, @KonfigSys  I ended up changing the conveyor rail thermo sensors in my game to timer sensors with 1 second on, 29 seconds off. This is fast enough to keep up with all the volcanos over time while also slow enough that the 1 packet per 30 seconds that goes through (Whether it is 20 kg or micrograms due to this bug) doesn't come close to overhwelming the cooling. As a workaround it is fine. I tried the weight plates but found this to be simpler. Got past the immediate problem at least

  • Big Ups 1

Share this comment


Link to comment
Share on other sites

17 hours ago, Tiru said:

@EricKlei, @KonfigSys  I ended up changing the conveyor rail thermo sensors in my game to timer sensors with 1 second on, 29 seconds off. This is fast enough to keep up with all the volcanos over time while also slow enough that the 1 packet per 30 seconds that goes through (Whether it is 20 kg or micrograms due to this bug) doesn't come close to overhwelming the cooling. As a workaround it is fine. I tried the weight plates but found this to be simpler. Got past the immediate problem at least

I have a very long cooling loop and so far I did not get it completely blocked by these small packages. I can see like 10 of them cycling but when new ones come they may combine to create bigger packages that are ok with the temperature exchange.  I left it running without interfering for a while to see if it blocks the loop but so far no blocking.

Spoiler

image.thumb.png.096731cf3836e0ce7783d8a610123b9c.png

 

Spoiler

image.thumb.png.d6b36e88ce491ad00ebd69d2598b775f.png

only iron volcano make this in my setup but gold and Al are free from this problem 

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...