SC-ProductionPlanner
SC-ProductionPlanner copied to clipboard
Wrong number of Refineries for a specific production plan
In this example, 784 Crude Oil goes into x0.9 Refineries on the HOR recipe. The number of refineries should be close to 26.
https://satisfactory-calculator.com/en/planners/production/index/json/%7B%22Desc_SpaceElevatorPart_7_C%22:%222%22,%22Desc_SpaceElevatorPart_6_C%22:%222%22,%22Desc_SpaceElevatorPart_8_C%22:%222%22,%22Desc_SpaceElevatorPart_9_C%22:%222%22,%22altRecipes%22:%5B%22Recipe_ResidualFuel_C%22,%22Recipe_ResidualPlastic_C%22,%22Recipe_ResidualRubber_C%22,%22Recipe_Alternate_CoatedCable_C%22,%22Recipe_Alternate_CoatedIronPlate_C%22,%22Recipe_Alternate_CopperAlloyIngot_C%22,%22Recipe_Alternate_CopperRotor_C%22,%22Recipe_Alternate_DilutedPackagedFuel_C%22,%22Recipe_Alternate_ElectroAluminumScrap_C%22,%22Recipe_Alternate_HeavyOilResidue_C%22,%22Recipe_Alternate_PolyesterFabric_C%22,%22Recipe_Alternate_PolymerResin_C%22,%22Recipe_PureAluminumIngot_C%22,%22Recipe_Alternate_RecycledRubber_C%22,%22Recipe_Alternate_SteamedCopperSheet_C%22,%22Recipe_Alternate_SteelRod_C%22,%22Recipe_Alternate_EnrichedCoal_C%22,%22Recipe_Alternate_WetConcrete_C%22,%22Recipe_Alternate_DilutedFuel_C%22,%22Recipe_Alternate_SloppyAlumina_C%22,%22Recipe_Alternate_SuperStateComputer_C%22,%22Recipe_Alternate_TurboBlendFuel_C%22,%22Recipe_Alternate_TurboPressureMotor_C%22,%22Recipe_Alternate_CircuitBoard_1_C%22,%22Recipe_Alternate_Computer_1_C%22,%22Recipe_Alternate_CrystalOscillator_C%22,%22Recipe_Alternate_ModularFrameHeavy_C%22,%22Recipe_Alternate_HighSpeedConnector_C%22,%22Recipe_Alternate_IngotSteel_1_C%22,%22Recipe_Alternate_ModularFrame_C%22,%22Recipe_Alternate_Plastic_1_C%22,%22Recipe_Alternate_ReinforcedIronPlate_1_C%22,%22Recipe_Alternate_EncasedIndustrialBeam_C%22,%22Recipe_Alternate_Screw_2_C%22,%22Recipe_Alternate_Stator_C%22,%22Recipe_Alternate_Wire_2_C%22%5D%7D
I've seen this myself. Here is a simpler example, recipe for 192 packaged fuel. https://satisfactory-calculator.com/en/planners/production/index/json/%7B%22Desc_Fuel_C%22%3A%22192%22%2C%22altRecipes%22%3A%5B%22Recipe_ResidualPlastic_C%22%5D%7D
Specified 1.1 refineries producing fuel + polymer resin, which is too few.
I think the bug is triggered by not having balanced your byproducts. In my example, I need enough polymer resin from fuel production to make 192 canisters, but that means I'm producing 342 units of fuel, way more than the 192 I need for packaging.
If I balance it by marking 192 units of liquid fuel as an output, it shows the correct refinery counts: https://satisfactory-calculator.com/en/planners/production/index/json/%7B%22Desc_LiquidFuel_C%22%3A%22192%22%2C%22Desc_Fuel_C%22%3A%22192%22%2C%22altRecipes%22%3A%5B%22Recipe_ResidualPlastic_C%22%5D%7D
In your case you are producing 1045 HOR, but only using 219, leaving an excess of 826. If I add an additional output of 2478 petroleum coke to yours, it then balances (ish) and shows the correct number of refineries: https://satisfactory-calculator.com/en/planners/production/index/json/%7B%22Desc_PetroleumCoke_C%22%3A%222478%22%2C%22Desc_SpaceElevatorPart_7_C%22%3A%222%22%2C%22Desc_SpaceElevatorPart_6_C%22%3A%222%22%2C%22Desc_SpaceElevatorPart_8_C%22%3A%222%22%2C%22Desc_SpaceElevatorPart_9_C%22%3A%222%22%2C%22altRecipes%22%3A%5B%22Recipe_ResidualFuel_C%22%2C%22Recipe_ResidualPlastic_C%22%2C%22Recipe_ResidualRubber_C%22%2C%22Recipe_Alternate_CoatedCable_C%22%2C%22Recipe_Alternate_CoatedIronPlate_C%22%2C%22Recipe_Alternate_CopperAlloyIngot_C%22%2C%22Recipe_Alternate_CopperRotor_C%22%2C%22Recipe_Alternate_DilutedPackagedFuel_C%22%2C%22Recipe_Alternate_ElectroAluminumScrap_C%22%2C%22Recipe_Alternate_HeavyOilResidue_C%22%2C%22Recipe_Alternate_PolyesterFabric_C%22%2C%22Recipe_Alternate_PolymerResin_C%22%2C%22Recipe_PureAluminumIngot_C%22%2C%22Recipe_Alternate_RecycledRubber_C%22%2C%22Recipe_Alternate_SteamedCopperSheet_C%22%2C%22Recipe_Alternate_SteelRod_C%22%2C%22Recipe_Alternate_EnrichedCoal_C%22%2C%22Recipe_Alternate_WetConcrete_C%22%2C%22Recipe_Alternate_DilutedFuel_C%22%2C%22Recipe_Alternate_SloppyAlumina_C%22%2C%22Recipe_Alternate_SuperStateComputer_C%22%2C%22Recipe_Alternate_TurboBlendFuel_C%22%2C%22Recipe_Alternate_TurboPressureMotor_C%22%2C%22Recipe_Alternate_CircuitBoard_1_C%22%2C%22Recipe_Alternate_Computer_1_C%22%2C%22Recipe_Alternate_CrystalOscillator_C%22%2C%22Recipe_Alternate_ModularFrameHeavy_C%22%2C%22Recipe_Alternate_HighSpeedConnector_C%22%2C%22Recipe_Alternate_IngotSteel_1_C%22%2C%22Recipe_Alternate_ModularFrame_C%22%2C%22Recipe_Alternate_Plastic_1_C%22%2C%22Recipe_Alternate_ReinforcedIronPlate_1_C%22%2C%22Recipe_Alternate_EncasedIndustrialBeam_C%22%2C%22Recipe_Alternate_Screw_2_C%22%2C%22Recipe_Alternate_Stator_C%22%2C%22Recipe_Alternate_Wire_2_C%22%5D%7D
It would not work properly if I tried to make the HOR itself an output.
I think, the planner does not work properly when there is excess fluid.
Tha ks for the concrete examples. Will try to fix when back home
I'm getting something similar: 2.6 refinaries to produce 272+17+33 heavy oil residue. https://satisfactory-calculator.com/en/planners/production/index/json/%7B%22Desc_SpaceElevatorPart_7_C%22%3A%221%22%2C%22altRecipes%22%3A%5B%22Recipe_Alternate_AdheredIronPlate_C%22%2C%22Recipe_Alternate_CoatedCable_C%22%2C%22Recipe_Alternate_ElectrodeCircuitBoard_C%22%2C%22Recipe_Alternate_PolyesterFabric_C%22%2C%22Recipe_Alternate_SteamedCopperSheet_C%22%2C%22Recipe_Alternate_ModularFrameHeavy_C%22%2C%22Recipe_Alternate_HighSpeedConnector_C%22%2C%22Recipe_Alternate_ModularFrame_C%22%2C%22Recipe_Alternate_EncasedIndustrialBeam_C%22%2C%22Recipe_Alternate_Screw_C%22%2C%22Recipe_Alternate_Wire_1_C%22%5D%7D?switchGameBranch=Experimental
Since the author has no time (or motivation) to fix bugs, remember that there is another tool that works perfectly fine with everything you throw at it: https://www.satisfactorytools.com/production
We got time and motivation, there is also other priorities ^^
Alt recipe problems have existed at least since Feb 2021 #12
Building count should be better for recipes using by products, but still need to add a second pass to merge the that are now counted differently depending on what is required by the previous nodes.