Jump to content

Bug with mealwood?


Recommended Posts

I've noticed today that, sometimes, dupes simply stop delivering dirt to some farm tiles with mealwood planted, while others are normal. I've ruled out lazyness after a whole cycle setting one as top priority, while the farmers would happily deliver dirt to nearby plots. Uprooting and replanting fixes the issue, so it doesn't look like it's the plot itself.

Save is included, if someone wants to have a look at it.

Now, don't ask me why i'm feeding mealwood to my dupes, it's just an... experiment, we can leave it at that ;)

image.thumb.png.1e98abcfb9179d7f707d877f5f183207.png

The Swanky Spaceprison.sav

Link to comment
Share on other sites

I think that generally some delivery targets "lock up". Happend for fridges, mushroms, mealwood in my current base. Fridge is most annoying, as the dupes will just grill everything and drop it on the floor. I probably need to disable the grill not only when the fridge is full, but also when there is more than 30kg in front of it on the floor. 

Link to comment
Share on other sites

I don't know what the cause is, but I have seen this as well, one of the things I also noticed that there's a couple of miligrams of drit in the farm tile. Similar things have cropped up in other devices, such as when my rocket's Oxylite tank has a few milligrams  it, and this causes it that nobody brings any more.

 

Link to comment
Share on other sites

This happens to mealwood, dusk caps and even bristle blossom when you use manual delivery. The farm plot requests something like 20 mcg of dirt/water/slime and there is nothing in the errands tab, like literally no task. Saving and loading fixes it. Apparently it can also happen when delivering resources for buildings but a simple cancel and reorder works there.

Seems like the dupes cannot perform a deliver task below a certain amount. Maybe it is caused by the fix for infinite microgram delivery that kept happening for fridges a few patches ago.

Link to comment
Share on other sites

3 hours ago, Sasza22 said:

This happens to mealwood, dusk caps and even bristle blossom when you use manual delivery. The farm plot requests something like 20 mcg of dirt/water/slime and there is nothing in the errands tab, like literally no task. Saving and loading fixes it. Apparently it can also happen when delivering resources for buildings but a simple cancel and reorder works there.

Seems like the dupes cannot perform a deliver task below a certain amount. Maybe it is caused by the fix for infinite microgram delivery that kept happening for fridges a few patches ago.

Good explanation, now i see where the issue is.

image.thumb.png.469e695fca5a7f7010bc3523c1e182ab.png

Link to comment
Share on other sites

Probably a rounding error. If this is short floats, they only have 23 significant bits + sign. Now, if anybody were to subtract those 0.0000496 kg from, say 100kg, they may well end up with the result still being 100kg. And that seems to be the issue in some way.

Link to comment
Share on other sites

11 hours ago, DyingCrow said:

Good explanation, now i see where the issue is.

image.thumb.png.469e695fca5a7f7010bc3523c1e182ab.png

Imagine growing plants in a greenhouse and all of a sudden one starts to wither because it is missing 49.6 mg of dirt.

Apparently, life does not always find a way.

Link to comment
Share on other sites

1 hour ago, Lacost said:

Imagine growing plants in a greenhouse and all of a sudden one starts to wither because it is missing 49.6 mg of dirt.

Apparently, life does not always find a way.

Naa, computers are just messed up! 

Link to comment
Share on other sites

On 5/20/2019 at 3:29 PM, DyingCrow said:

I've noticed today that, sometimes, dupes simply stop delivering dirt to some farm tiles with mealwood planted, while others are normal. I've ruled out lazyness after a whole cycle setting one as top priority, while the farmers would happily deliver dirt to nearby plots. Uprooting and replanting fixes the issue, so it doesn't look like it's the plot itself.

Save is included, if someone wants to have a look at it.

Now, don't ask me why i'm feeding mealwood to my dupes, it's just an... experiment, we can leave it at that ;)

image.thumb.png.1e98abcfb9179d7f707d877f5f183207.png

The Swanky Spaceprison.sav

ive seen it as well and not just with mealwood.  also with mushrooms and slime.  the only fix i've found is to uproot and plant again :/

Link to comment
Share on other sites

On 5/21/2019 at 9:01 AM, Gurgel said:

Probably a rounding error. If this is short floats, they only have 23 significant bits + sign. Now, if anybody were to subtract those 0.0000496 kg from, say 100kg, they may well end up with the result still being 100kg. And that seems to be the issue in some way.

Decompiling the source seems to indicate the code use floats all over, which is 32 bit. They could have used double, which is 64 bit, but from what I can tell, they use floats. Don't ask me why. It is possible that it's an issue with the decompiler though, though I think it's fairly good for something as simple as telling floats from doubles.

Why even use 32 bit variables today? Do anybody really use 32 bit systems, which are fast enough for ONI?

Link to comment
Share on other sites

1 hour ago, Nightinggale said:

Why even use 32 bit variables today? Do anybody really use 32 bit systems, which are fast enough for ONI?

I doubt any decent decompiler would screw base types up. This is probably a reliable finding. Thanks.

One thing is faster memory I/O, since you only need to move half the bytes. The other is smaller memory footprint. It may not be raw computing speed. A very simple benchmark (just addition) I just did shows pretty much the same speed for float and double. That is with gcc on Linux and the assembler source indicates that SSE2 (which does double) is used. Of course, if this is mostly some vector processing and the SSE unit is fully used, it may have an impact on raw computing speed as well. Would be interesting to see what happens if ONI is compiled with double instead of float. As it is, rounding is tricky and getting it wrong gives the effects we see.

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...