tvwenger / du-factory-generator Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://tvwenger.github.io/du-factory-generator/
License: MIT License
Home Page: https://tvwenger.github.io/du-factory-generator/
License: MIT License
they still come from an earlier game version where they have been inconsistent aswell.
now they should all be called 'Pure Aluminium' instead of 'Aluminium Pure'.
Typing 'pure' in the new factory page shows what is outdated.
Ability to save factory graph as JSON/XML
This can cause a the app to crash, because the "outputRate" can exceed the expected "split" input rate. We should prevent an OutputNode from replacing a split container.
There are several places where we use modular factory styles where you get the sub components from a central area instead of doing it for each factory. This is mainly on pure so instead of starting with the ore the factory starts with the pure input. this cuts down a lot on the machines needed.
not as related but LUA can now change machines over to other recipes so maybe a downtime for some machines could program a switch reducing the factory number even more though that may be a bit more advanced than needed
This parameter will determine the container sizes for byproducts and the default container sizes for the factory outputs. Users can override the factory output container sizes by setting a maintain value.
The optimizer copies a lot of objects each cycle. The data could probably represented as a numeric array.
First: it's awesome, but it has some calculation error and you have to fix it
I tested it with "Glass Panel M" 2 assemblers and maintain 1500,
Another test, what i dont built justs I used https://hq.hyperion-corporation.de to see the values:
Basic Atmospheric Engine L - 2 assemblers and maintain 10,
Just crashes on silicon, iron, or aluminium scrap
Largest PNG I could download was ~few MB.
For a users' large factory, the number of required Smelter M is different from the number of schematics that go in Smelter M
Generate a concise tabulated view for easy use as a shopping list.
Something is wrong with "maintain values" of Pure Carbon and Pure Silicon for making Nitron Fuel.
It says 20 but it's too low.
Skills could be implement as a function, which takes a recipe and returns a new recipe.
ContainerNode ingress and egress calculation includes TransferUnit handling of byproducts
At minimum, container maintain values should be max(industry_batch_size, transfer_unit_batch_size). Maybe it should be something even more sophisticated to prevent stoppage when multiple consumers are in sync.
Add schematics and their quanta prices to parts list.
Load a factory and add new industries/links without changing existing factory
The user is mostly interested in producing items at a given rate (e.g., I want to build 1 warp drive per day). They might not know the production time of every item. It would therefore be useful to either:
I will implement 2 since that seems the easiest.
Cannot be chosen in 3.3
Catalysts are not being routed properly when adding to an existing factory. This can cause a catalyst transfer unit output container to exceed the outgoing link limit.
Currently, the optimizer would connect the input of the machine to its output container. This is an invalid configuration. Transfer units need to be inserted.
Check:
https://kirkmcdonald.github.io/calc.html#tab=graph&data=1-0-0&items=advanced-circuit:f:1
for an idea of how to visualize this in a more eye popping way. May or may not work on this myself based on free time at my disposal.
Any Plan to add Mining Units?
Make the default mode for the Factory Map the PAN-Mode.
Anyone wishing to parse the JSON directly might want to have the industry type listed in the JSON.
For example, have a factory produce all fuels except "warp cells".
Catalysts should go back to their original container after user. Otherwise, we may get a build up of catalysts in one container and an industry will need to keep producing catalysts to fill the original container.
Currently, every container contains only one kind of item and its byproducts. In case of a recipe with 8 or more ingredients, the optimizer would connect the machine to more than 7 containers.
One could either amalgamate containers or add transfer units.
Care has to be taken when amalgamating containers as this could starve machines under certain conditions. If a machine can take an ingredient from either of 2 containers, it will take it from the container which was connected to the machine first.
Hydrogen, oxygen, and refined byproducts will need to be moved with transfer units.
Causes failure when the requested number of assemblers is > 10, since we're forcing all assembler outputs to the same OutputNode.
Getting an error on the current master branch when trying to build one of each of the anti-gravity elements.
When planning just a refining factory the last output links doubles the last by-product links.
Territory Unit is technically "Tier 5", but it can nonetheless be constructed with an Uncommon Assembly. Since it is in the inventory as Tier 5, the factory generator assumes it can only be made in a Rare Assembly. The easiest thing to do is to probably change the recipe to tag it as Tier 3.
In the rare case you need more than three different containers connected to a hub they won't fit into the blue square and make the whole row unreadable.
Do a factory to refine T1 pure with 10 refiners for example.
The recipe list is missing Advanced Military Space Engine L. Also need to check the item list.
A split container can only have one outgoing link to a consuming industry, but it can have other outgoing links to byproduct transfer units. The sanity check function does not allow for split containers that have one industry consumer in addition to byproduct transfer units.
To show the user what needs to be added/changed.
Hi,
I have corrected and added the missing/wrong recipes for atmo and space engine, and typos for MIlitary -> Military as cited in the issues #91
There was in fact several error or missing recipes.
I've tested it locally and everything works fine, at least in my end.
I made a pr request, where you can check what i did.
I always start my sequence as Orebox > Transfer Unit > Ore type monitor box > Refining Unit> Post Process box (Pure) > Smelter >Post Output Box Smelter > Transfer Unit >Link Box
From the Post Process Box (Pure) you can have multiple smelter links, the rest is pretty routine and as you need more outputs you just link another Transfer Unit >Link Box
Would it be possible to have something like this as an option when looking at layouts or have the ability to change a layout to fit this configuration?
Also is there a way to get information on my currently built factory to plug into this layout tool or a build from scratch option?
Great work! Love it so far.
If the factory is supposed to produce steel and basic screws, the optimizer will take steel from the factory output containers to produce basic screws. This results in less steel being produced than specified by the user.
Many compact factories rely on being able to produce a variety of items from the same assembler. I have sold many factories that can make 6 of any industry M an hour from 3 assemblers. So at any given time the factory needs to have enough stock to produce any requested industry at the requested rate, or any combination there of like 1 refiner and 2 smelters, but not enough to produce 3 of every industry at the same time.
Basically you are enforcing AND as the merging condition right now. Consider allowing OR.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.