FactoryPlanner icon indicating copy to clipboard operation
FactoryPlanner copied to clipboard

Add-to-cursor for whole lines

Open ClaudeMetz opened this issue 1 year ago • 0 comments

The idea is to alt-click a recipe and get a blueprint for only that line. This is a much more tractable sub-problem from the whole subfactory->blueprint idea, since it saves the very complex part of linking up the various production lines.

It is of course still quite involved, depending on how complex or configurable you wants to get. The advantage is that it can be done very bare-bones at first, and expanded with more functionality and configuration options step by step.

Each of these parts will necessarily have certain limits that will just have to be accepted, and prevent auto-generation if they are broken.

This all feels a bit like a wholly separate project in scope, if one was to do it properly. Still, small improvements here or there could be a fun distraction, not that I really want more Factorio-related distractions at the moment.

Since this whole thing feels like kind of modular in approach, where you can enable different functionality piece-by-piece, resulting in different interactions depending on what's activated, this feels like a project that needs a good underlying architecture to make it as easily composable as makes sense. This will also help with adding more 'modules of functionality' in smaller pieces.


There are several axis along which this can be made more useful:

  • Whether to support both bots and belts. The difference it pretty obvious, with the bot-based one being way simpler to implement. One limit to consider with belts is the total amount of input+output item types, as you can only have 8 (potentially 12) before a line of machines is not viable anymore.
  • Whether to support fluids at all. The fluid routing in particular is probably okay to do for a single fluid, but getting much more complex for more.
  • Which belts to use. Can have both the option to use the minimal viable belt, or have an overwrite on them to a particular type. Also has the issue of how the items are split between the belts, which could be configurable or not. Not offering this configuration option is less problematic because users can use a vanilla upgrade planner to update them as desired afterwards.
  • How much inserter flexibility is allowed. This is a big topic, as there are throughput and reach distinctions. Same as with belts, they could be determined by throughput limitations, or have an option to be overwritten.
  • Whether to support beacons, and how well. Beacon setups are quite different depending on the size of the machines, the amount of inputs+outputs, and the amount of beacons per machine. Could be limited to supporting the two/three classic setups of 8 or 12 (or 4) beacons per machine, if inputs are not too complex. Another issue would be supporting fluids at the same time as beacons, as this changes their designs significantly.
  • Whether to support power routing. Finding good spots to cover the entire line with power seems like a pretty complex task. Could either not have this at all, or do it in a crude, but simple way.

Some madman actually did the ‘full’ version of this: https://mods.factorio.com/mod/COLOSSUS

ClaudeMetz avatar Jul 25 '23 13:07 ClaudeMetz