The test:
We execute the following commands:
Code: Select all
/c dir = defines.direction.north
/c pos={x=0,y=0}
/c for i=1,10 do for j=-1,1,2 do game.player.surface.create_entity{name="car",direction=dir,force="player", position={x=pos.x+3*i,y=pos.y+j*(22+i)/256.}} end end
We then build the following setup around the cars (all inserters extracting from the cars):
![Image](https://forums.factorio.com/images/ext/536983d9aa475e137474ca5f7f9b412a.png)
As can be seen, the inserters can extract starting from the 3rd car (i.e. shifted by +-25/256).
Similarly, for
Code: Select all
/c dir = defines.direction.south
![Image](https://forums.factorio.com/images/ext/ae4a46de6e4a9d8dc4945315f24e0f4a.png)
Note that now inserters only start working at the 4th car.
Going to {0,1000}, things get even weirder:
North pointing cars:
![Image](https://forums.factorio.com/images/ext/feb01e1f96ae2d69669fa364b6010bab.png)
South pointing cars:
![Image](https://forums.factorio.com/images/ext/47dd0e4dc5e5c7246828d9a002b15a36.png)
Going to {0, 100000}:
North pointing cars:
![Image](https://forums.factorio.com/images/ext/d6929d8edd124c2063fc310e69b83037.png)
South pointing cars:
![Image](https://forums.factorio.com/images/ext/67f8ee902ea747542515de12c9371f56.png)
The strange thing is that on one hand, the 1/256 position precision suggests the use of fixed-point numbers, while the behavior seems to originate in floating-point precision loss.