[0.16.49] More than one loader per tile is not save-stable

Bugs that we were not able to reproduce, and/or are waiting for more detailed info.
Post Reply
User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

[0.16.49] More than one loader per tile is not save-stable

Post by eradicator »

I can already hear the "just don't do this"...but bear with me. Please. I'm posting this soley because of possible determinism concerns.

In a neighbouring thread we discussed the possibility of a loader-based N-splitter to complement the 2-splitter in base.

I did various experiments and thought i ended up with a working 1x1 3-splitter, but i just couldn't get it to stabilitze when not built manually. So yet another hour later i've determined that more than one splitter per tile works only if constructed in a very particular order, and only while the game is running. As soon as you load the game it breaks! And loading should never affect the game-state as far as i understand.

I've attached a video in case anyone thinks this is a photoshop joke. (A gif would be too large)
er-one-tile-per-loader-bugreport.jpg
er-one-tile-per-loader-bugreport.jpg (202.64 KiB) Viewed 1194 times
Demo mod (contains minified loader and reduces chest collision_box):
er-one-tile-per-loader-bugreport_0.0.1.zip
(4.55 KiB) Downloaded 42 times
Demo savegame (it's not save stable, so this is the broken one...):
bugreport_one-tile-per-loader.zip
(934.5 KiB) Downloaded 40 times
Demo video (zipped because forum doesn't like .mkv):
er-one-tile-per-loader-bugreport-video.zip
(7.45 MiB) Downloaded 42 times
How to reproduce:
  1. Load the attached save+mod.
  2. Remove the inputting loader (west side), place it back down (blue side towards belt), rotate it to "input" mode.
  3. Remove and replace the inputting belt segment.
  4. Now it's a bit fiddly...
  5. Remove one of the other loaders (north/south work best) and place it back down. Then replace the belt segment that loader is connected to. If it worked continue. If it didn't try another loader+belt pair first.
  6. Do so for the other two loader+belt pairs.
It's important to rebuild the belt right after the loader. Rebuilding all loaders and after that all belts doesn't work.
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.

kovarex
Factorio Staff
Factorio Staff
Posts: 8078
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: [0.16.49] More than one loader per tile is not save-stable

Post by kovarex »

Hello, well the game is built in a way, that transport belt-like entities should never share tiles. This example breaks it. I could write some non-trivial code to make sure, that it is enforced, and the mod is not loadable if you wish.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: [0.16.49] More than one loader per tile is not save-stable

Post by eradicator »

So roughly what were you intending to check? Naively i'd assume this could "simply" be checked during runtime on entity placement (too expensive perhaps?). And i don't wish to cause startup errors just because my entities *can* be used in a wrong way (which i obvisouly don't do now that i know this happens).
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.

kovarex
Factorio Staff
Factorio Staff
Posts: 8078
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: [0.16.49] More than one loader per tile is not save-stable

Post by kovarex »

I would have to check, that the transport belt related entities have collision boxes and grid settings setup in a way, that it is not possible to have more than 1 transport belt related entity on the same tile, as it breaks the games and creates desyncs.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: [0.16.49] More than one loader per tile is not save-stable

Post by eradicator »

That would definetly break a few nice things for me that rely on grid-free loaders, like having an assembler with "built-in" loaders that share a tile with the machine. So i kindly ask that you just close this report and we can forget about it :).
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.

Post Reply

Return to “Pending”