Code Monkey home page Code Monkey logo

yet-another-factory-planner's Introduction

Community

Very sorry I haven't been actively responding to issues and PRs. Life is hard! I've got a lot going on IRL. I hope to be making big improvements to this project in the coming month or so, though. It's not abandoned, just temporarily inactive!

Info

This is a tool for designing production chains in Satisfactory. You can choose what and how many items you want to produce, and what items and recipes are available to you, and the calculator will calculate the entire production chain for those items. This particular tool was built with designing mega-bases with ridiculous production needs in mind, so the solver is fast regardless of the complexity of the production goals.

Powered by my satisfactory-docs-parser.

Site

https://www.satisfactory-planner.net

Features

  • Choose production goals, available resources, and allowed recipes, and the solver will find the best production chain.
  • Every factory is stored as a sharable link for easy saving and collaboration.
  • All calculations are done in-browser... meaning no server communication to slow down site responsiveness. It's FAST!
  • When choosing production goals you can choose either a target item/min rate, a target number of copies of a recipe, or you can maximize the production given the available resources.
  • You can also choose AWESOME Sink Points as a production goal :D
  • Recipes involving Nuclear Power Plants can be used, unlike other current production planners.
  • All weights that the solver uses when determining the best production chain are made transparent and customizable by the user. Want to reduce how much you value Crude Oil and increase how much you value Copper Ore? Well now you can!
  • Hand-gathered materials can optionally be included as inputs.
  • Detailed Reporting section that calculates some interesting statistics including points produced, estimated power usage (or production), and minimum build area.
  • Detailed breakdown of materials needed to construct the factory (which is SUPER helpful for huge factories). This includes a rough estimate on the minimal number of foundations required, and a list of all buildings required and their total build costs.

Contributing

This repo is currently in the middle of transferring hosting providers and making some related architectural changes. AKA, Heroku was becoming too expensive when superior options are available. Contributions should be put on pause until further notice as I plan to transition the app to a fully serverless architecture. In the end it should be both cheaper, easier to maintain, and maybe even faster for worldwide users.

yet-another-factory-planner's People

Contributors

lydianlights avatar madks13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

yet-another-factory-planner's Issues

Highlight edges between nodes that exceed belt capacity

It'd be nice to be able to set current belt capacity (e.g. 270 for mk 3) and have the planner highlight any edges between nodes that exceed that throughput. For example, if you're making rotors and need 500 screws/min input, you can't fit it all on one belt. This would make it easy to tell which parts of the factory will require some extra consideration for belting. The current belt capacity would be configurable in the controls.

If this sounds like a good feature, I can give a shot at implementing it.

feature: Add extractor power consumption

It'd be nice to have an idea of extractor power consumption. It's not an insignificant amount of usage, especially with Water Extractors and overclocked nodes and would be nice to have an "expected" number even if it overshoots slightly.

Estimation could assume extractors are always normal clocked: (20MW * (water required that is not from waste like aluminum/120)) extractor count e.g. 10,000 water = 83.3... extractors = 1,666.6... MW of power and Miners... well they're weird. Maybe an OC percentage per resource in the Raw Resources screen? You could start with a Mk3 at 250% as "standard" estimation - it'll estimate high in most cases but at least it'd be accurate for big bases.

Mistakes in factory report

Hi,
First of all, thanks for the great job with this factory planner.
I noticed some mistakes in the factory report for the "Total raw resource" section.
It shows a wrong amount in case the raw resource is splint into different recipes.
Example : raw quartz split into quartz crystal ans silica, the total raw resource shows only the quantity required for silica (or vice versa).
See link below for example. https://www.satisfactory-planner.net/?factory=NIwkLZapky5VRjEPFUN6S
The example shows similar issue when iron ore is split into iron ingots and copper alloy ingots.

Just dropping this in case you plan on maintaining ;-)

Adding saving the nodes positions

Hello.

With my other issue (#10) i was thinking that saving nodes positions in the graph might be beneficial in a few ways. For example, the factory i presented in the other issue (https://www.satisfactory-planner.net/?factory=eVGSD6-qaXqc8WSDItVsG) requires a lot of planning on where to produce what.

As such i dragged the nodes to visually represent the factory's spatial organization for easier building. However, the positions reset when the page is reloaded, input is changed or some other event happens.

I think it would be helpful if when saving the plan, it would also save the positions of the nodes.

Is that feasible?

feature: Add underclock percent (and/or quantity, whichever is more precise) to the hover text for a component

When making a build, it'd be nice to have underclocking added to the hover for a component.

Example:
image

Ideally the "quantity" calculation would be shown as well, e.g. 1 at 100% (5/min), 1 at 60% (3/min) since a lot of times percentages are long and useless but the per-minute is a whole number - e.g. Concrete where 240 Limestone = 5.33... constructors. In other words: 5 at 15/min and 1 at 5/min, which is much easier to comprehend.

404 on main page

          ![Screenshot from 2023-08-10 19-35-15](https://github.com/lydianlights/yet-another-factory-planner/assets/28528567/085cc4c3-d34a-4fe5-9294-6f667eadfc18)

404 error on load main page. Check your server please

Improving the factory report

Hello, i think that the factory report might benefit from a little improvement.
On simple planned factories this might not have any use, but for bigger factories, it can save a lot of time. To begin, let me show an example of a planned factory

https://www.satisfactory-planner.net/?factory=eVGSD6-qaXqc8WSDItVsG

This is one of the factories i am working on. It takes time to build, and sometimes i have to shut down the computer between the sessions. Although i can reload the plan with the URI, visualizing the resources is not easy unless one drags them in an ordered manner with columns/rows and such. The visual organization resets if the page is reloaded. This also is reset when fiddling with input such as the alternate recipes list.

I was changing what alternate recipes i was going to use so i can select which resources to use more than others. But it was hard to see the changes with the graph. Had to reorganize the nodes each time or spend time checking them one by one by panning and zooming in/out.

So i think adding those to the factory report would make it much easier during planning and building.

What i think would help the most, is having a list of all steps and their amounts in the factory report.
For example, in the case i presented, there would be a first section for raw resources, then the refined resources, then the items made from refined resources, and so on until we get to the required resources.

In this case, we would get (i am omitting a lot for brevity)

Step 1

  • Raw quartz 347.1429/min
  • Limestone 1392.8571/min
    Step 2
  • Cheap Silica 270/min
    Step 3
  • Infused Uranium Cell 600/min
    .
    .
    .
    Step N
  • Plutonium Fuel Rod 9/min

Is this improvement possible?

satisfactory-planner.net not loading in Chrome&Firefox

Satisfactory-Planner.net stuck on loading game data. Problem startet about 2 days ago.

Errors:
Access to XMLHttpRequest at 'https://lydian-satisfactory-planner.herokuapp.com/initialize?gameVersion=U6' from origin 'https://www.satisfactory-planner.net' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
lydian-satisfactory-planner.herokuapp.com/initialize?gameVersion=U6:1 Failed to load resource: net::ERR_FAILED

feature: Make All/None buttons respect the search input

If I click "Select None" with search results, it clears every single selected recipe.

Expected behavior:

If I click Select All or Select None with a recipe filter, it only enables/disables the recipes that match the filter.

Overclocking

Overclocking is not possible actualy on the site. It is possible to add this option ? Your site is so perfect, simple easy to read, clear.

feature: Add "rounding up" or "remainders" for components somehow

Since I need components for a mall-style storage in every game of Satisfactory, I'd like to round up production if possible.

For example, given this example of "2 Assemblers of Base Motor Recipe and 1 Assembler of Base Turbo Motor Recipe":

image

I want to be able to say "use the output of the 2 motor makers (7.5/min) to make Turbo Motors, and return the remainder (2.5/min) as an output to the plan" so the graph looks like this:

image

The same applies to this graph: I want to somehow tell the "Motors" node to "round up to 2 assemblers and output the extra":
image

Basic recipe selection is reset when saving

If alternative recipes are set in the calculator and the standard recipes are disabled, the standard recipes are reset when the scheme is saved. Influences of browser add-ons checked - have no effect.

Browser: Mozilla Firefox 114.0.2
Calculator version: Update 7
The link with detected bug: https://www.satisfactory-planner.net/?factory=WaFaZEG3SQDcCUx3-Z4YN (highlighted: Cable, Copper Ingot, Heavy Modular Frame, Iron Ingot, Modular Frame, etc. I definitely unchecked them)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.