Select stuff - see inputs/outputs (granular production reports)

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
Johntron
Burner Inserter
Burner Inserter
Posts: 7
Joined: Fri Jan 09, 2015 2:30 am
Contact:

Select stuff - see inputs/outputs (granular production reports)

Post by Johntron »

It would be nice to see the inputs and outputs for a set of equipment – something like the production overview, but on a more granular level. Imagine being able to view the consumption of all ingredients for an assembling machine producing science pack 2 – including inputs/outputs of intermediate machines.

Select this:
Screen Shot 2019-01-17 at 9.16.17 PM.png
Screen Shot 2019-01-17 at 9.16.17 PM.png (204.47 KiB) Viewed 2157 times

Get something like this (but even more useful):
Screen Shot 2019-01-17 at 9.15.07 PM.png
Screen Shot 2019-01-17 at 9.15.07 PM.png (181.57 KiB) Viewed 2157 times

Benefits:
  • Less time spent doing boring stuff: searching for bottlenecks on complicated production lines, forecasting changes to production lines, etc.
  • More time doing fun stuff: change stuff (e.g. belt layout) and see how it affects output at all stages of production
Really, total inputs/outputs for the things you selected is only helpful for very simple production lines. When you start producing things with 2+ levels of intermediate inputs/outputs, it's difficult to see where bottlenecks occur. This is similar to Max Rate Calculator (awesome work Jeff!), but this mod doesn't give you information about intermediate steps in a production line.

For instance, if you're producing Science Pack 2, and the assembly machine building the inserters runs out of iron plate, it takes a while to sort though things to find the problem (stoppage). Similarly, if you forget to add enough inserters between the Copper Cable and Electronic Circuit, you'll still get Science Packs, just at a much slower rate (bottleneck).

While there are fancy visualizations that might work really well for something like this (alluvial diagrams maybe), a tweak to Max Rate Calculator might add a lot of utility: letting the player select/deselect machines from a list of those they selected. Imagine getting a list of all the assembly machines from a Science Pack 2 production line, and being able to select individual machines. Doing so would update the production report UI with inputs/output for the production line serving as input to that machine.

Here's some prior art:
Last edited by Johntron on Sat Jan 19, 2019 5:06 am, edited 2 times in total.

RubeGoldbug
Burner Inserter
Burner Inserter
Posts: 8
Joined: Thu Jan 10, 2019 10:50 am
Contact:

Re: Granular production reports

Post by RubeGoldbug »

Hey that could be a very good feature! We could have a very precise idea of what's going on in detail without doing the maths every time.

User avatar
WIZ4
Fast Inserter
Fast Inserter
Posts: 209
Joined: Thu Apr 07, 2016 1:36 pm
Contact:

Re: Granular production reports

Post by WIZ4 »

+1
I want it for a long time
My native language is russian. Sorry if my messages are difficult to read.

weaknespase
Long Handed Inserter
Long Handed Inserter
Posts: 59
Joined: Sat Mar 24, 2018 8:19 am
Contact:

Re: Granular production reports

Post by weaknespase »

Looking nice, but seems to be a performance nightmare, just imagine, how much of sampling data game has to keep in case of a somewhat large factory. Megabases would be slowed down to a crawl, again :)

For trying out different setups without hassle of factory-building i usually use the Factory Floor scenario.

https://mods.factorio.com/mod/factory-floor

Johntron
Burner Inserter
Burner Inserter
Posts: 7
Joined: Fri Jan 09, 2015 2:30 am
Contact:

Re: Granular production reports

Post by Johntron »

weaknespase wrote:
Fri Jan 18, 2019 10:38 pm
Looking nice, but seems to be a performance nightmare, just imagine, how much of sampling data game has to keep in case of a somewhat large factory. Megabases would be slowed down to a crawl, again :)
This suggestion might be a performance problem, or it might not. When I build software, I generally start with what's valuable to implement, and later explore performance as part of the larger technical analysis.

Since you brought it up though, Factorio already has a production report for the entire factory (press P). Ignoring megabases for a second, if global production reports are possible, it should also be possible to get this same information for a subset of the factory in a performant way (though it might require a lot of engineering). This would still be useful for a lot of gameplay – we don't all spend 100% of our time in megabases.

In the case where megabases cause significant performance degradation due to this feature, some simple heuristic could be checked to avoid degrading gameplay due to production calculations. For example, if the base contains more than 500 entities, disable this feature.

Johntron
Burner Inserter
Burner Inserter
Posts: 7
Joined: Fri Jan 09, 2015 2:30 am
Contact:

Re: Select stuff - see inputs/outputs (granular production reports)

Post by Johntron »

I thought through the user experience, discovered Max Rate Calculator, and updated the post with more info. I also posted in the Max Rate Calculator thread – maybe that mod could provide the additional functionality I described above.

weaknespase
Long Handed Inserter
Long Handed Inserter
Posts: 59
Joined: Sat Mar 24, 2018 8:19 am
Contact:

Re: Select stuff - see inputs/outputs (granular production reports)

Post by weaknespase »

Well, we can have a lot of optimizations here and there, but from my viewpoint it's a waste of resources. 6-7 ring buffers, moving values every tick for every machine while current system can shutdown entire blocks of machines wasting only a few cycles checking wake up conditions per entire group. If it weren't critical no one would implement such system at all, it's not what you do while you have a ton unrealized features.

Otherwise that graph will show only current rate for current selection and won't work like the production statistics screen works.

Max Rate Calculator references EfficienSee mod which computes machine utilization by sampling machines. Of course it's lua, but still, sampling a lot of machines frequently makes the feature unusable on large bases, as author states. Even if native performance would be 20-40 times better that still would be noticeable hit. Disabling this feature on large bases seems counter-productive, because it would be most useful in this case specifically.

And not every player requires such feature - for example, i don't miss it at all, i don't care how much product is made on some part of my factory, all i care about is total throughput only, which perfectly covered by total production stats screen.

Post Reply

Return to “Ideas and Suggestions”