Only implement quality/recycler randomness at change of recipe.
Posted: Tue Jan 20, 2026 1:48 pm
At the moment as far as I can see it, random walk is the biggest problem with RNG in factorio, and it also encourages save-scumming for high value items.
I would suggest that RNG is only run when the recipe for a machine changes.
Example for recyclers:
One recycler takes in 1 green chip - at present it will have a 25% chance of returning ingredients
I would change this to having it store that green chip until it receives another 3, and then it spits out the recycled parts of 1 chip - no RNG required.
If the recipe changes, then the RNG runs on whatever it has stored up to that point as per the current behaviour
Example for Quality (less important, possibly harder to implement):
If a machine has a 1 in x chance of a quality upgrade, then it will keep a counter of how many items it has produced, and when it passes each multiple of x, it returns an uncommon item. When it passes 10x, it returns a rare item, etc.
If the quality modules in the machine change or the recipe changes, then RNG will run based on how close to x it currently is and the counter will reset.
Thoughts?
ps - as an aside - has any thought been given to implementing specific quality percentages for every quality level? ie a 1 in 5 chance of producing uncommon would then also mean a 1 in 5 chance of that becoming rare, and then 1 in 5 epic, etc? Instead of 10% being fixed for later levels - I think this would help with balance.
I would suggest that RNG is only run when the recipe for a machine changes.
Example for recyclers:
One recycler takes in 1 green chip - at present it will have a 25% chance of returning ingredients
I would change this to having it store that green chip until it receives another 3, and then it spits out the recycled parts of 1 chip - no RNG required.
If the recipe changes, then the RNG runs on whatever it has stored up to that point as per the current behaviour
Example for Quality (less important, possibly harder to implement):
If a machine has a 1 in x chance of a quality upgrade, then it will keep a counter of how many items it has produced, and when it passes each multiple of x, it returns an uncommon item. When it passes 10x, it returns a rare item, etc.
If the quality modules in the machine change or the recipe changes, then RNG will run based on how close to x it currently is and the counter will reset.
Thoughts?
ps - as an aside - has any thought been given to implementing specific quality percentages for every quality level? ie a 1 in 5 chance of producing uncommon would then also mean a 1 in 5 chance of that becoming rare, and then 1 in 5 epic, etc? Instead of 10% being fixed for later levels - I think this would help with balance.