Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post pictures and videos of your factories.
If possible, please post also the blueprints/maps of your creations!
For art/design etc. you can go to Fan Art.

xluke
Manual Inserter
Manual Inserter
Posts: 2
Joined: Wed Oct 30, 2024 3:58 am
Contact:

Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post by xluke »

Abstract
This paper (read: shitpost) proposes a novel solution to the early game quality farming boostraping problem. Through the use of speed beacon black magic and circuits so complicated that the author already forgot how it works, it is possible to use one building and one recycler to farm a recipe at all quality levels with a decent speed. It can constantly run the quality module 3 recipe at a speed of approximately 0.18/s, or achieving the equivalent of 6 machines (running the normal quality) plus 3 machines (running the green, blue, and purple quality level recipe). In other words, the proposed blueprint reduced the required number of quality modules from 49 down to 11.
Introduction
At the time of this paper is written, there is generally two approaches to farm for legendary quality products. The maybe better approach is to insert quality modules throughout the product line, and hope that by the time of final product, there will be enough legendary components to craft the legendary end product. There are some obvious problems for this approach. To name a few: the hassle of managing belts with all different qualities, the lost opportunity cost when you could have used productivity module instead, and the hassle of setting up buildings for all different quality levels, for every product you have.

The definitely easier approach is to use quality module for the end product only, and recycle it until you get the legendary version. The problem for this approach (and to a less degree for the first approach as well), is that quality modules reduce crafting speed while speed beacons reduce quality. To compensate, usually one needs multiple buildings for farming. Furthermore, a single building can usually only accept ingredients of a single quality. If one want to use the higher quality recycled components, one often needs to install additional buildings. While in general crafting buildings are not expensive, the quailty modules they require definitely are. Especially considering the fact that legendary quality modules are exponentially better in this craft-recycle loop.

All these observations convinced the author to invent a way that 1. allow the use of speed beacons[*1] for quality farming without sacrificing the probability, 2. use a single machine to handle all different recipes. The result is the Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints:



also a link to factoriobin: https://factoriobin.com/post/bygme2/1
Blueprint Description
This blueprint book contains two pairs of blueprints: the Gacha machine using EM plant and its design baseboard, and that using assembler and its design baseboard. For the rest of this paper, we will focus on the EM plant model.
example.png
example.png (1.05 MiB) Viewed 2690 times
The blueprint takes two parameter:
- batch size: how many crafts will the machine finishes before considering switching recipe, default to 2 for EM plant. This prevents the machine from reset recipe when there are still some productivity progress leftover. If you use a combination of productivity modules and quality modules, adjust accordingly.
- product: the product you want to farm for legendary quality.
After pasting the blueprint, one needs to manually change two things:
- change the machine to "set recipe" mode. I cannot enable it in blueprint because otherwise the parameter system cannot read the ingredient information,
- change the constant "5" to the number of different solid ingredients in the decider combinator between the EM plant and the recycler.

Mechanism:
The constant assemblers to the bottom left stores the ingredient information for all quality levels. the author wishes that there is a way to transform all signals to a specific quality level, but alas. The content in the requester chest, divided by the batch size, is checked against the constant combinator. It will pick the highest quality recipe with enough ingredients[*2] and store in the latch[*3] on the top-right area. The input green inserter[*4] will then insert the exact amount of ingredient for one recipe. Once the machine finishes, it emits a "F" signal which increments the counter to the right. If the counter reaches configured batch size, it will reset to 0, clearing the latch and reevaluate the available quality recipes. By default, only epic and legendary products are preserved, and lower quality items are recycled.

The speed beacons (an independent functionality from the quality-parametric circuits) operates in the following way: when the machine is not crafting (indicated by the missing "W" signal), the blue inserters will remove the modules from the beacon. The input green inserter is also disabled until all speed modules are placed in the steel chests. Once the machines starts, the speed modules are placed back into the beacon, accelerating the EM plant. Since the quality level is determined at the start of the craft, it speeds up the recipe without reducing quality.

The assembler blueprint operates in much the same way. I haven't found the need to roll for legendary items using other buildings yet, well I actually want to have some legendary tokamaks, but I have no where near enough ingredients for that I don't have blueprints for those buildings. But they should work much in the same way.
Caveats
[*1] I don't know when Wube will fix that, so enjoy while it lasts,
[*2] there are two potential problems for the ingredient requesting/selection process:
- by default, the requester chest will only request one stack for each item. Thus, if "recipe amount * batch size > stack size" for any ingredient, it will not work.
- I abused one undocumented behavior of the selector combinator: if all inputs have the same value (1 in this case) and the same icon, the one with the highest quality will be chosen in the ascending selection mode. It might break with any update.
[*3] There was one time the latch and assembler content was out of sync out of 2 hours I was using this blueprint. I suspect it's due to the multi-cycle nature of the circuit network and some robot delivered something during the update cycles. I have no idea how to reproduce it or fix it.
[*4] This is one of the bottleneck (in addition to the recycler for some recipe). Upgrading inserter with higher quality helps a lot, but for some reason legendary inserter will break the ingredient counting/limiting mechanism. I suspect it's rotating faster than my combinators can compute. Maybe the machine content->stack size latency can be improved, but I have swore years ago to never touch latency optimization when I finished the computer architecture course.
Disclaimer
The author is not responsible for any wasted resources due to bugs in this blueprint or Factorio updates changing its dependent mechanisms.

Citations:
The speed beacon part of this blueprint design is largely inspired by this reddit post: https://www.reddit.com/r/factorio/comme ... lity_farm/
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 3451
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post by boskid »

Interesting setup. For 2.0.17 i made it so when received effect on a crafter is changed, the rolled quality resets to the base quality of recipe.
xluke
Manual Inserter
Manual Inserter
Posts: 2
Joined: Wed Oct 30, 2024 3:58 am
Contact:

Re: Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post by xluke »

well, that's Caveat 1 for you. Too bad it doesn't last. :(

Still, it will be useful to condense multiple buildings into one for different quality recipes.
coffee-factorio
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Thu Oct 17, 2024 10:56 pm
Contact:

Re: Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post by coffee-factorio »

boskid wrote: Tue Nov 12, 2024 12:48 am Interesting setup. For 2.0.17 i made it so when received effect on a crafter is changed, the rolled quality resets to the base quality of recipe.
I noticed that you made the game more fun. :cry:
apriori
Filter Inserter
Filter Inserter
Posts: 282
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post by apriori »

Oh, wanted to post my solution and found here's one already...

Differences are:
1. No beacons. Not covered with electricity.
2. Less recipe-specific settings for combinators, so here are...
3. ...more combinators and takes more space.
4. Only one BP for any assembling machine. An AM can be replaced with any other one β€” just connect it to a pole with G+R wires.
5. Easier to use with liquid-containing recipes (?): just remove liquid icon from one constant combinator.
6. Needs no bots to operate (I see purple chest on ya pic). Still needs bots to get recyclable products OR ingredients.
PoC stage

2024-12-19_13-40-13.png
2024-12-19_13-40-13.png (1.52 MiB) Viewed 803 times
TLDR
X β€” unneeded elements (absent in the blueprint)

S1 β€” chest with ingredients
S2 β€” chest to drop excess ingredients when recipe changes
S3 β€” chest for the end-product

M1 β€” loads end-products of unwanted quality grades into Recycler
M2 β€” extracts finished end-product; has a white-list-filter
M3 β€” drops excess ingredients; has a black-list-filter

C1 β€” target recipe, quality-independent (manually parametrized when plopped)
C2 β€” ingredients of the target recipe (autoset according to C1 when plopped)
C3 β€” ingredients of the target recipe for each quality grade
C4 β€” reads from S1, returns ingredients that suffice the recipe
C5 β€” "each / each = 1" (needed for C6)
C6 β€” filters out all signals which are not ingredients for the target recipe
C7 β€” groups sufficient ingredients by quality grade
C8 β€” counts the quantity of types of sufficient ingredients for each quality
C9 β€” counts the quantity of types of ingredients needed for the target recipe
C10 β€” filters out quality grades for which there's not enough types of ingredients
C11 β€” combines the target recipe and the quality grade having enough types of ingredients; this recipe will be set for the next production cycle, when the current production cycle ends
C12 β€” blocks the current recipe change
C13 β€” conditions for C12-blocker
C14 β€” S/R-latch with the current recipe (for the current production cycle)
C15 β€” the target recipe in all quality grades (oops, found a bug...)

R β€” manual resetter
Prod stage
2024-12-19_14-24-07.png
2024-12-19_14-24-07.png (275.15 KiB) Viewed 803 times
2024-12-19_17-20-39.png
2024-12-19_17-20-39.png (1.26 MiB) Viewed 802 times
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.
coffee-factorio
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Thu Oct 17, 2024 10:56 pm
Contact:

Re: Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post by coffee-factorio »

Ah, OP that exploit was nice by the way :) And I think apriori's one is cool, it says it has no speed but ah! My first round on Fulgora I decided to just do something completely funny and roll quality on the scrap collectors. Running scrap.

Because it would be a great learning experience!

Unless you love learning too, you shouldn't do this!

But what I learned was that you lose production progress when you change recipes. And that will probably stay that way, because other wise someone could try to have a foundry that switches between yellow belts and holmium plates on a schedule to get double holmium plates. And thus double fusion cells.

So if you pop open a EM Plant, make some wires of any kind, and switch recipes? The purple bar resets and that happens with circuits too.

Don't despair OP, there's plenty of items where an on demand system makes sense because the low rate of return! A lot of things can only be made in an assembler and that doesn't have productivity. Just, don't try and use it on EM plants as pictured.
xluke wrote: Tue Nov 12, 2024 1:21 am well, that's Caveat 1 for you. Too bad it doesn't last. :(

Still, it will be useful to condense multiple buildings into one for different quality recipes.
Quality's evil. So what it does is: give it more power to make it go faster, smiles, and then every time those buildings make say 100 normals, it looks at what you could make and plucks out a few to keep for itself. And then looks innocent because it's inflicting an effective productivity penalty on a line because you have a building that's moving faster. What's even more evil about that is that it replaces the good building with lower quality ones, which manifests as increased demand on a recycler. But a recycler is so good at it's job you won't notice that you need to build more till you have to start building more than you thought you'd need.

And quality offers the fair rate of 1 quality in 100, up to 6.2 in 100 per module. But it steals 1 to 2.5 items per speed module you put on it. And because of that you can end 50% effective productivity penalties applied on each entry of the table with practical examples and 100% penalties in the worst cases.

And it does this for every entry of the quality table. You just multiply the 100 I started out with by 10 every time.

And if you're like "ah I won't play that game" it still wins because you have to put find away to turn your components into items so you'll need to spend on more machines.
apriori
Filter Inserter
Filter Inserter
Posts: 282
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post by apriori »

Huh, the reason i read coffee-factorio's last post is a finding I wanted to share: switching recipes makes productivity bonus lost.

So our setups seem irrelevant for non-Nauvis machines. Except Aquilo's Cryo-assembler.

Or we should add some logics to take the need to use the bonus into account: start the recipe only if it can be run at least twice (for 50% bonus) and execute even number of times.

Btw you maybe can still use speed-beaconed quality if you insert modules after the production starts and eject them before the production ends. For example, the first run is used to measure the number of ticks the production lasts, and the other runs get speeded-up:
β€’ read the machine's start of work (W signal)
β€’ start modules insertion AND start countdown that ends before the speeded production ends
β€’ when the countdown ends, eject modules
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.
coffee-factorio
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Thu Oct 17, 2024 10:56 pm
Contact:

Re: Speed-Beaconed Recipe-Quality-Parametric Gacha Blueprints

Post by coffee-factorio »

apriori wrote: Thu Dec 19, 2024 7:23 pm
So our setups seem irrelevant for non-Nauvis machines. Except Aquilo's Cryo-assembler.

Or we should add some logics to take the need to use the bonus into account: start the recipe only if it can be run at least twice (for 50% bonus) and execute even number of times.
Quality is a rough mechanic. I won't wager you wrong on the speed part but I won't rely on it; and once it hits a product line it's effect is nasty. Test/ect.

When it you said that last part though, you reminded me about the modulo operation % on arithmetic combinators.

An even number is 2k. An odd is 2k+1. Modulo returns the remainder of division by 2.

2k+0 = 2k.
2k+1+1= 2k+2.
So try adding input + input % 2 = product_target.
Post Reply

Return to β€œShow your Creations”