+3 votes
232 views
in In-Game Help by (390 points)
Yes yes, before I get verbally abused (joking) over splitters not splitting properly, take into mind that I'm looking for logical advice as to why things are happen, rather than even more proof that that they are happening to begin with.

If you have a 270 belt and you split it into a 270 and a 60, you'll get neat little sections of 4 items in a row, and then a gap, without fail.
If you do 450 into a 450 and a 120 you'll get neat sections of 3.

If you do 270 into a 270 and a 120, you'll get neat sections of 2.

This is probably because 270/60 is 4.5, 450/120 is 3.75, and 270/120 is 2.25.
And yet, if you do 450 into 450 and 60, you'll get some sections of 6, and some of 7 with no discernible pattern between. 450/60 is 7.5.

Ultimately belts are transporting discrete items. Items don't round up or down, they can have distance from each other and follow rules; I can't fathom where those sections of 6 are coming from, so I'd be happy to see if anybody else has any ideas on the subject. Any idea is accepted. I'm sure that there's just some point of view that I haven't looked at it from yet.
by (2.3k points)
edited by
Without seeing their code it's impossible to know what causes it.

I wrote some code to simulate belts and when I plug in your numbers I get the expected results, and yes, a 450 into a 450 and 60 gives groups of 7. (With a rate of 394 and 56 items a minute)

If I had to guess, they are heavily abstracting the belt contents for speed and we are seeing artifacts of that.

EDIT: I simplified my code a bit by syncronizing all the belts timers and now I get alternating groups of 6 and 7, exactly what Satisfactory does. Go figure. :)

1 Answer

0 votes
by (2.3k points)
Ok, after a lot of math and simulations I think I understand it. But this is all total guesswork based on zero idea on how belts are coded. So here goes.

To start with, the devs have said what we see on the belts is not real, and internally the game doesn't keep track of every items exact position on a belt. The game fakes it by generating the positions to render the belt items.

So how are they stored? Let's assume a simple array, so if a belt is 100 items long it is an array of 100 slots that get shifted every now and then based on the belt speed.

The important consequence here is you can't have an arbitrary distance between items. A belt slot either has an item or is empty.

So if you have 450 split into 450 and 60, the faster belt gets 390 items a minute (450-60) placed on to it.  So it is 86% full (390/450).

How do you fill a belt 86% full? 7 items, 1 empty slot, 6 items, 1 empty slot. 7+1+6+1 is 15. So 2 empty slots means you have a section that is 13/15 full which is... 86%.

The math works at least.

TLDR: Items on a belt are always the same distance (or a multiple of) away from each other.
by (390 points)
This is a really incredible answer. One of the biggest points that strikes me is the dev's point on belts, which I had never knew, and may answer some of my biggest questions.
However, I'd like to ask what you're real impression is on item belt slots, and if you have a mathematical way to describe it. I haven't considered there to be belt slots in the past, but rather a minimum distance between items, which I very rarely find violated for no good reason.
Furthermore, When working some problems, I consider the base distance to be the tick rate of the input belt, and it is possible for the distance between some items to be a non-integer multiple of that, so I'm  not sure how the multiple-of-same-distance works out.

If you look in math and meta, you may find some streamables (or have already seen them) that I've posted which involve strange behavior, and I'd love to hear your impression on them.
by (2.3k points)
Thanks.  I'm pretty sure the belts use slots, or something similar that cause items to always maintain the same distance.  An array of items is also the most efficient way to code a belt, at least as far as I know.

I've taken videos of belts with partially full belts, and taken screenshots of various frames.  When one item lines up, they ALL line up, regardless of any gaps, and the gaps are always exactly enough to fit an item.

An example of two screenshots pasted on top of each other.   I lined them up on the top conveyor, which had groups of 4 and a gap.  They all line up perfectly, so the gaps are exactly 1 item wide.   The semi-transparent iron ingots are where they were in one but not the other image, and the solid ones are in both images.

https://imgur.com/a/iUhLhpa

I'll take a look at the math channel, I'm on there often.
Welcome to Satisfactory Q&A, where you can ask questions and receive answers from other members of the community.
In order to keep this site accessible for everybody, please write your post in english :)
August 28th update: We've removed downvotes! One major reason is because we don't want to discourage folks from posting legitimate suggestions / reports / questions with fear of being mass downvoted (which has been happening a LOT). So we now allow you to upvote what you like, or ignore what you don't. Points have also been adjusted to account for this change.
Please use the search function before posting a new question and upvote existing ones to bring more attention to them, It will help us a lot. <3
Remember to mark resolved questions as answered by clicking on the check mark located under the upvotes of each answer.
...