Factorissimo 2 - notnotmelon fork 🍴


A fork of Factorissimo 2 focused on improving performance by implementing several 1.1 features. Can improve performance by 10X or higher. Also fixes several bugs from the original version.

Content
1 year, 4 months ago
1.1
54.6K
Logistics

i "Simulate" production in buildings to improve UPS/FPS

1 year, 10 months ago

Thank you very much for fixing and improving this mod, while reading the suggestions from the original Factorissimo2, I came across an interesting idea:
https://mods.factorio.com/mod/Factorissimo2/discussion/5f2038b92af6b75871d8f611

This would allow for much larger megabases. I'm guessing it might be a lot of work and thought on how it could be done, so it's a loose suggestion.

1 year, 10 months ago

I've come across this suggestion a lot, but it's not really feasible to implement in Factorio.

There are simply way to many variables to consider when trying calculate exactly what a area of factory could produce. For example, if a script was trying to calculate the average output of a factory building the user could just place a chest down and unload it for the duration of the calculation.

This doesn't even account for other script mods easily breaking this calculation. Examples include robot attrition, blackmarket, autolinked chest, and dozens of others.

Even if it was possible to accuracy predict exactly what outputs would be generated from certain inputs, costly LUA scripts would still need to be used to remove input items off belts and spawn new output items.

1 year, 10 months ago
(updated 1 year, 10 months ago)

Thanks for answer, it's sounds reasonable. It's a pity that the developers didn't implementing multithreading, and instead of enjoying the game we have to work on optimisation UPS.

1 year, 10 months ago

This sort of feature has been thought of before and it's a good idea, but it's difficult to implement. A mod can't really do it effectively, because it would have to do it via lua, and that would greatly reduce the performance gains. The devs themselves would have to do it.

Lossy optimization like this could improve performance in some circumstances substantially, but it'd be a lot of work to properly black-box regions of a factory. Since the devs are extremely dedicated to keeping the game deterministic and perfectly consistent, even when they could get further performance out of multithreading, its not likely that we'll see something like this.

Maybe if there's a way to losslessly compress the activity of builds within bounding conditions. Hmm.

New response