Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Maybe that's the problem?
The "Container" shows it has 1 empty slot, it will shred when the "Container" is completely full.
I decided to use -1 because I already setup a lot of demands with default 0 and decided not to go around updating them all in case I forget about one and screw up deliveries by accident. But as the next reply says this shouldn't affect the result.
Ohh, so it does work for you? Thanks for confirmation but then it's weird. I wonder what else it may depend on.
The workaround is to save and reload, but it may happen again and again.
to reproduce - launch the game for 5+ hours, and all the storage will stuck(
I also have the same problem.
For me, this is a gamebraking bug.
This game has now died for me.
I have almost 250 hours in the game. I loved playing it.
But at this point it doesn't make sense to sacrifice time for.
This mistake is so strong that it kills the game for me.
It could also be something even more spooky. Modern architectures like to "learn" to predict things and will run conditionals differently as they are exposed to the same code. When multiple storages fill up, you'll get a lot of conditional operations along the same line, polling the same area of memory to see what its condition is. If you have 500 bots, only 1 out of 500 requests (potentially) are going to result in a condition of deliverable. The CPU scheduler then learns to return with the >99% value, and depending on how the branching code is implemented, the code dependent upon that conditional is off to the races before the CPU recognizes the cache miss and gets back around to correcting itself. Because the "full" inventory condition will almost certainly be loaded into cache, the "empty" inventory condition will be at a more distant layer of memory, creating a scenario where the process effectively locks with an entire sequence of conditionals completing before the "oops" gets delivered, and there being no process to go back and recover the whole program branch. It would be interesting to see if this problem has variations across hardware and/or if it exists when running a stripped down build of the game on an architecture without a much branch prediction baked into it.
How I would approach it, at least. As a random idiot on the internet who has done more study of programming than actual programming.
Don't sweat it. The game uses a numerical reservation system. If an item will be moved, the number goes up. If the item was delivered or the transfer cancelled, the number goes down.
When it bugs out, the reservation amount is not decreased and it will appear the last slot(s) are still expecting item deliveries that will never come.
No concurrency is involved, the accounting is done on the main thread, guaranteed by Unity.
So far, the devs and modder(s) were unable to pinpoint where that decrement is missing from.
Or in case it only reserves the destination after picking up the resource it's because autocrafter steals the resource from the drone's inventory while drone is still near it. Drone doesn't notice that and "delivers" the resource, but can't unload it so the slot is never unreserved.
Anyway, that's my theory about this situation. I have no idea how to actually reproduce it.
Edit: nvm, tested it and both theories are wrong. Second one doesn't work because drones are not treated as storage by autocrafters (they flied freely above autocrafters without them stealing resources when it was just a single resource required to finish the craft). And case about autocrafters stealing resources from storage before drones get there also didn't lead to the bug even though I had some unrelated issues with drones filling Priority 1 storage before Priority 5 for some reason. Eventually I managed to setup the production that steals resources from mines few seconds after they are mined and drones go to pick them up for shredder and it didn't trigger the bug.
One day you will find it and wonder how you couldmiss that for so long. Until then don't give up.