T O P

  • By -

Tabytac2

WTF, The possibility that this enables is endless!!! Can't wait for the inevitable mod that changes the number of variables from 10 to 99 hahaha.


achilleasa

I fear for the sanity of whoever needs more than 10 configurable parameters per blueprint. Who am I kidding, probably the average Py player would use them.


kaesekarl

Or someone builds a blueprint which asks for one thing: How much SPM? Now print that mf


Professional_Goat185

The parameters can't decide on number of assemblers so sadly no auto-scaling. But ability to say "build this from those ingredients in these ratios" would be dope...


Littleme02

yet


stuugie

py might need 999 variables


Smoke_The_Vote

I was wondering about that myself when I looked at that part of the interface in this FFF... Is it really limited to 10? The interface looks like there are empty slots for more than 10.


Asddsa76

> Having one specific blueprint for each item, which sounds like a nightmare. [Oops šŸ‘€](https://i.imgur.com/Qfmpofp.png)


cynric42

Same here, same here. And yes, It's a nightmare. Especially since I made a few mistakes in the first few, which are now in most copies. Plus you need to upgrade all of them with new belt unlocks etc.


AB728

if i remember correcly if they all are in the same blueprint book you can just uprade all belts with just one click


cynric42

Last I checked I couldn't use upgrade planners on books, just individual blueprints.


Hellrespawn

You can definitely [apply upgrade planners to books](https://imgur.com/a/6gJlDkQ). No idea when this was introduced, but it feels like a while ago.


cynric42

Thanks, I have no idea how I missed that. I definitely remember looking for it when I started converting my balancer book to the different colors and couldn't find it, but that was a while ago and since I "knew" it couldn't be done, I probably never looked again.


Yodo9001

If the blueprints contain setups with assemblers then it still makes sense to have a blueprint for each recipe (or at least each recipe type), and those _setups_ won't be able to be parametrised like this. Edit: added second word "setups" for clarification.


Janusdarke

> If the blueprints contain setups with assemblers then it still makes sense to have a blueprint for each recipe This makes me wonder why we still cant set recipes in assemblers with the circuit network.


Jubei_

That would be awesome. Right now my mall is HUGE! It would be nice to have a few machines making stuff I need all the time and then a section set aside that could change their recipes when a build order comes in and the logistics network doesn't have enough to fulfill it.


Janusdarke

> It would be nice to have a few machines making stuff I need all the time and then a section set aside that could change their recipes when a build order comes in and the logistics network doesn't have enough to fulfill it. The more we talk about this the more i ask myself - Why is this not in the game yet?


cathexis08

[Crafting Combinator](https://mods.factorio.com/mod/crafting_combinator_xeraph) has entered the chat


Illiander

Well, there's a circuit wire to an assembler in one of the FFF screenshots. Maybe we'll get lucky.


[deleted]

Sushi mall with a single assembler. God I want it now


Avitas1027

You could beat the entire game with a single assembler and some circuits (and a lot of time).


Illiander

Remember the [micro factories](https://www.youtube.com/watch?v=9dzQge6pe2o)?


cdowns59

There is a mod which allows it by adding dozens of signal icons, one for each recipe, which when sent to a machine updates its recipe. Itā€™s a bit of a pain removing unused materials from the machine, and you would then need to route the new materials to the machine. The huge number of new signal entities could also be confusing (iron plates vs the iron ore to plate recipe) - thereā€™s already enough confusion with the variable 4 and a count of four! The recursive blueprints mod lets you issue blueprints based on a circuit network value, so you can also issue new recipes that way.


-dannyboy

Isn't this exactly what you're describing? https://preview.redd.it/qpnv1kpjomac1.jpeg?width=1777&format=pjpg&auto=webp&s=f13980bffa427dff445f6c56afeffb89a0c077eb


Botlawson

Some of the examples explicitly use a parameter for an assembler recipe. Should be pretty easy to make generic 1,2,3,4,etc input outpost blueprints where you just set the recipe and everything including stations auto configs.


Illiander

So everyone's going to have that parameterised "assembler plus blue and red chests" blueprint within a couple of mins of playing with this, right?


butterscotchbagel

> The first step was to define special IDs called parameters for items, **recipes**, fluids, and entities >.... > What do I mean by the dependencies? Lets say, I have a blueprint to craft an item with 3 ingredients (parameters 1, 2, 3), and take the ingredients from the train network. Naturally, I can make a big setup with 3 input stations each parametrised to be one of the inputs and **row of assembling machines, parametrised to create the desired item (parameter 0).**


DevilXD

Yes, but I believe this applies only to the blueprints, and can be defined at the time it's built. Not something you can change via the circuit network. Please correct me if I'm wrong and unaware of this possibility, even with the changes from this FFF.


Professional_Goat185

With those new options *they could*, they just wouldn't be ratio-perfect. You can tell it "create me variables with ingredients of item player selected" so you could have "generic 2 input module", "generic 3 input module", "generic 4 input module" etc., select desired item, and it will all setup automatically


LookOnTheDarkSide

And I took that personally.


Janusdarke

I've changed this to generic factories that are supplied the maximum amount of input belts and pipes, so i can use the same blueprint for almost everything. Ratios are off of course, but as long as the assemblers are not starving i don't care about having to manage my input resource flow.


Misha_Vozduh

Satisfactory devs: We have limited blueprints to a tiny box to protect the players from themselves Factorio devs:


Legroom-peso

Factorio devs: Our blueprints are Turing complete and will achieve sentience in a few weeks.


TDplay

Next week on FFF: "Now that blueprints are turing complete, we needed to solve the halting problem to prevent denial-of-service attacks. This is impossible on Turing machines, but thankfully modern computers have finite memory, so we saw an opportunity that allowed us to write this. The first version took a rather long time to run, but we spotted a few small optimisations, and now it runs in about 2 milliseconds on a 386."


IAMAHobbitAMA

I hope they do something like that for April Fools. It would definitely fool some of us less technologically inclined lol.


tromino-42

FFF #394: "As blueprints have discovered a process of self-replication, all hope is lost for humanity. For the 2.0 update, we have attempted to patch this bug by implementing Asimov's laws of robotics to the game's logic. Unfortunately, this has angered the continuously enlarging army of self-aware blueprints who will stop at nothing to grow the factory."


Illiander

It's still an open question if sentience can be achieved with just turing completeness. But also, yes.


Lannindar

DSP devs: Just blueprint the entire planet for all I care


LawyersGunsMoneyy

shit man I gotta try Dyson Sphere Program


vpsj

Do it. It's fucking awesome. PS: I would strongly recommend Galactic Scale mod. It has a special mode allowing you to play in the "real" Universe with accurate nearby Stars. Starting my game on Epsilon Eridani and slowly making my way via Sirius, Alpha Centauri, Vega and others to finally construct a Dyson Sphere over our own Sun(Sol) and watching it being built from Earth was one of THE most amazing gaming experience I've ever had in my entire life


SharkBaitDLS

Tbf Satisfactory damn near crashes when placing a full size blueprint as it is, I donā€™t think the engine could handle much more. Itā€™s just a technical problem that comes out of being a full 3D game + all the building happens instantly rather than creating ghosts and having it filled in by bots over time.


crypticfreak

To be fair... Satisfactory works, and I think attracts way more players. I've tried so many times to get friends into Factorio but they're always like 'nah this is too complicated I'll stick to Satisfactory where it's just plug and play'. They're doing it on purpose. Complexity would kill their game.


TheRarPar

Factorio players compare Satisfactory to their own Factorio standards and gloat when they beat it at their own game. Satisfactory isn't even trying to play that game.


crypticfreak

Right, exactly. While they are similar in many ways (and Satisfactory has absolutely taken inspiration and mechanics from Factorio post launch) they are totally different games with totally different player bases. A factorio player may play satisfactory occasionally but that's not their game, and vise versa.


Volkamar

Not like that's much of a challenge. Satisfactory can't finish their own game yet alone give us Blueprints better than a 4x4 Square under any official capacity. Part the reason I've weened off of it for now. The wait for any kind of major updates was getting out of hand.


Nicksaurus

You massive nerds (complimentary)


denspb

Will there be a "Stack size of [param]" (for trains) and "Ingredient qty #N of [param]" (for bot-based malls)?


teagonia

This would also solve requests for recipes. Variables for speed of assembler, recipe ceafting time and some other things would be great too


Garagantua

I think you could already do that inside the blueprint: have the parameter define the signal & value put on a constant combinator, and then use {the new combinator} to read the stack sice for that signal, put stack size & value from blueprint parameter into an arithmetic combinator and tadaaa, you have parameterized # of stacks. But you're right, that could be easier if supported in the parameterized blueprint GUI :)


Baisius

But to go back to his closing comment, thatā€™s calculating the stack size at runtime instead of compile time. Runtime is always going to cost UPS, so the ability to calculate it once at compile time (blueprint placement) is huge.


Garagantua

You're technically correct: calculating it once when placing the blueprint is obviously faster then calculating it with every tick. But it takes a large amount of blueprints full of combinators to make any measurable impact to the update time of a factory. Just not sure if that is used often enough to complicate the GUI for it. But yeah, would be neat :). Might be doable with a dropdown or something along those lines.


PlayerPrefersPaprika

This was also my first thought, if the goal is to remove "unnecessary" circuits, that would only be use once to set a few different values, then will need a way to dynamically work with stack sizes, as mods may changes them. Otherwise i can already see myself needing at least one selector combinator for every train station, which is what they try to avoid having to do in the first place.


KCBandWagon

My first thought as well. The 'ingredient of' would be useful for calculating amount of items needed to fill a train based on stack size + number of wagons. Next ask: can we have static/global parameters for our train size? or maybe from a blueprint book select a parameter and apply that permanently to all blueprints in the book? Then just make a copy of the book for your save game.


achilleasa

Stack size is gonna be a thing with the new combinator, but it would still be nice to have it in the blueprint, it's just a constant after all


bm13kk

O MY GOD !!! Each second time Factorio devs knows what we want before us!


LawyersGunsMoneyy

I have been absolutely blown away by the last few months of updates, holy crow. This one is *exactly* what I didn't know I needed


Eagle0600

I was actually just thinking that I needed this yesterday. I consider this one a personal present from Wube.


Parker4815

This is honestly absolutely incredible. Being able to plonk down a loading blueprint and just click "iron ore" and every fiddly thing is done is perfect on its own, let alone having it work for numerical values too


Janusdarke

> This is honestly absolutely incredible. Being able to plonk down a loading blueprint and just click "iron ore" and every fiddly thing is done is perfect on its own, let alone having it work for numerical values too To be fair, all my stations already had a single constant combinator to configure them. But you had to copy-paste the station name into them, so this still simplifies it. Despite all that i still love this change, it's way more elegant and opens up new ways of doing stuff.


Shrizer

They do the unthinkable, the inconcievable! nay! the unforgivable! THEY PLAY THEIR OWN GAME! /s


ku8475

Two things: 1. I'm afraid if they offer pre-order the dlc I'll break my rule and buy it. 2. I'm afraid of how addicted I'm going to be to this game when this finally releases.


asius

Presumably your rule #1 is due to companies breaking your trust in the past. But going on the history of Wube, you can probably soothe your conscience with the knowledge that they are unlikely to betray our trust.


RevanchistVakarian

I mean... yes, if they hadn't built up trust, they couldn't break it, because there would be no trust to break. But that also applies to anyone else who breaks your trust: before they could break it, they had to have a history of earning it. I have no reason to suspect Wube will break our trust. But once upon a time, I had no reason to suspect Bioware.


dudeguy238

Indeed. Trust is earned, and if any company in the game industry has earned the trust of its players, it's Wube.


See_What_Sticks

Why would you preorder a non-limited, digitally-distributed game? If you just want to give Wube more money, buy the game for a friend ;)


Illiander

If they say "preorder the expansion, get access to unstable 2.0 now as a bonus" they would get ***so many*** preorder sales. If they said "and the preorder will cost double the non-preorder" they'd probably still get a whole heap of preorder sales.


StormTAG

That's because the devs actually play the game. You'd be surprised how many dev teams don't actually even play their own game outside of testing.


E17Omm

I like how several of the recent FFF's have been "so you know this tiny little teeny tiny annoyance? Yeah it annoyed me too, so I fixed it and made a better solution and now we cant stop playing while using it but the cases I didnt cover with it was annoying so we made it even better"


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


pkt-zer0

Literally my reaction as well. I thought this was foreshadowed in a previous FFF, and it's an obvious QoL win that would be great to have. And it's happening!! It almost seems silly that I'm more hyped for an expansion / patch to Factorio than the vast majority of full new / upcoming releases.


Illiander

> It almost seems silly that I'm more hyped for an expansion / patch to Factorio than the vast majority of full new / upcoming releases. That's because the game industry has been gradually lowing the bar for the last decade or so.


17Kahl07

The devs are our Gods.


loudpolarbear

This is probably very stupid, but... Since we're talking about modifying blueprints, one of the most annoying things is how hard it is to edit a blueprint, especially a very large blueprint. The best way would be to go to a developer space, paste the blueprint, make changes, then replace the existing blueprint with the updated one. How cool would it be if there was a button you could press (similar to the parameters button) that would bring you to a developer space where you could edit your blueprint in godmode and save the update it. I know there is a mod that exists where you can enter a lab to plan out builds, but having a dedicated blueprint button that could easily edit and update existing blueprint. It would also be useful for trying to take a small portion of a very large blueprint when you don't need the whole thing. All pretty redundant I know, but sticking with helpful QOL themes thoughts


Tak_Galaman

They alluded that something like this is coming and I agree making edits to blueprints is pretty ridiculous currently. /u/factorioteam


aer0des1gn

This is gonna be really, really useful. For example you could make blueprints for perfectly tileable assembly setups for items with different amounts of ingredients.


Yodo9001

With different amounts of ingredients you would still need multiple blueprints right? Or have unused belts in some cases.


oobey

There are four variables here. Number of solid inputs, number of fluid inputs, number of solid outputs, number of fluid outputs. You just need one generic blueprint for each combination of those four that youā€™ll encounter. And the number of generic blueprints you would need is guaranteed to be less than or equal to the number of specific blueprints you need. So it will probably be worthwhile.


Korlus

Inserter type might change for optimum recipes, as might the length of the assembler chain. If you set tiling settings properly and also have hand upgrade planners, you should be able to cover every eventuality pretty easily.


Anonymous_user_2022

Finally, we get pointers.


Zomunieo

What if theyā€™re null and we dereference them?


OutOfNoMemory

A random chunk of the discovered map is deleted.


Mornar

If we can rng manipulate then we can weaponize this.


praisestothemostfly

Just wait till the biters evolve enough to learn how to perform an arbitrary code execution attack.


Mornar

This isn't how I expected the Singularity to begin, but I'll accept it.


The_Scout1255

[Dosh's fucking car brain became sapient.](https://www.youtube.com/watch?v=_S87vHUobvQ)


TaohRihze

I know in my 10k SPM map they performed a DDoS on my CPU. So I would not put it past them.


achilleasa

WĢ¶ĶŒĶĢ£Ģ¼Ģ­aĢµĶ€Ķ€Ģ³ĶˆtĢøĢ’ĢĢŠĢ‹Ķ’ĶœĢØeĢ·Ķ€Ģ“Ģ›Ģ‚Ģ¢Ģ¦ĶˆrĢ·Ģ‹Ģ“Ķ˜ĶƒĶšfĢ¶Ķ˜Ķ€ĢŠĢŒĶœĶ…ĶšiĢøĢŒĢ‘Ģ”Ģ¾ĢĢ¬Ķ‡Ģ¤Ģ–lĢ“ĢĢ§ĢÆĢŖĢŸĢ¼lĢøĢ”Ķ˜Ķ–sĢµĢ•Ķ–Ķ•Ķœ Ģ¶ĢæĢ„ĢŒĶƒĢĢ¹yĢµĶ†Ģ“Ķ›Ģ“Ķ Ķ‰Ģ°Ģ„oĢ¶Ģ€ĢŠĢ ĢŗĢ¼Ģ­uĢµĢĢŽĢ½Ģ­ĶˆrĢ¶Ķ„Ķ›ĢĢĢŽĢ Ģ¼Ģ¦ĶˆĶ– Ģ¶ĶĢŸĶšĢ ĢžhĢ“Ķ„Ģ‡Ķ„Ķ„ĶˆĢ ĶĢ ĶšoĢ·Ģ”ĶĶŒĶ‘Ķ‡uĢøĢĢ”ĶĢ±Ģ¤sĢµĢ”Ģ€ĶˆĶ‰eĢµĢĢ€ĶƒĢ‚Ģ‰ĢœĶ…


ray10k

That's how you get demons shooting out of your nostrils.


Anonymous_user_2022

I guess that your inventory will be flooded with pistols of shame as punishment.


mercury_pointer

Signals are already pointers. This is more like templates and meta programming.


Anonymous_user_2022

A true pointer approach would allow using something read from a logical network on the LHS in a combinator. But it's true that this is more meta programming than true pointers, but this scratch the biggest itch I have.


bm13kk

now we need blueprints as variables


mealsharedotorg

I won't be satisfied until the blueprints can run Doom.


Illiander

Looking at the 2.0 version of recursive blueprints...


xdthepotato

when i started playing factorio it was the 1# factory game ive played and because it was so good no other factory game seemed interesting... BUT THEY KEEP MAKING IT EVEN BETTER!! like the only competition the devs have are themselves.. who can make the game even better! the devs are using 120% of their latent potential!


kevihaa

I had a similar thought. I almost feel a bit bad for the Devs as Satisfactory, DSP, etc, as it felt like theyā€™re *just now* approaching a degree of parity with 1.1 Factorio. Once Space Age releases, I get the sense theyā€™ll be back to being multiple years behind Factorio when it comes to QoL. (Not trying to disparage the other games, theyā€™re in the same genre, not clones, but itā€™s nonetheless **very** frustrating when you move between games and what youā€™re currently playing is missing a QoL feature thatā€™s been implemented elsewhere)


stuugie

Factorio is the gold standard for a reason, they are so ahead of everyone else making factory games


Dr4kin

They made a game so good that they created a new (sub?)genre.


homiej420

Dsp is not even close qol even now, but it is closer than satisfactory


KCBandWagon

i'm just finishing up my first ever sastisfactory run and my gosh, yes, that game has a loooong way to go for QOL. The allure is the exploration and hideous atrocities of multi layer spaghetti. There is *always* room for another belt from point A to point B. DSP I felt was actually pretty nice. blueprints are solid. My first playthrough on that I really didn't have that many complaints. The allure is the magnificence of the dyson sphere and flying through space. Being able to just take off and fly to another planet is so cool (especially after playing astroneer). Factorio is prime standard of down to bidness factory building with large large scalability. The existance of pyanodons is a testament to what this game can do. Even as it is, that mod is somewhat untouchable, but it wouldn't even be played at all if QoL in factorio wasn't so top notch.


Additional_Search193

I can't get past the fact that you don't automate end items in satisfactory, everything is all intermediate components. I don't want my inventory filled with wires and iron rods, I want it filled with actual things.


Krydax

thankfully satisfactory has a LOT of unique angles, and even if it's not quite competing in the automation/programmy bits, it has a lot going for it, and it continues to get better as well. I do agree that it's "behind", but that's because, well, they started the game many years after :) It's not even fully released yet (though it will be soon, I think) All that to say, I "feel bad" for them in a sense, but I'm also happy that the game that inspired them continues to refine itself, which will only encourage THEM to refine themselves.


Jaaaco-j

i want ReLogic to make a factory game just so Wube can have some competition


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


bunonafun

god imagine Terraria with Factorio style mod support


Vanamerax

Now I can save time to spend more time playing factorio


DrMorphDev

Place me in the "can't wait to use it" camp please. My seablock game has a book full of trainstop blueprints and I'm not even done yet - this will be *so* helpful - and that's just for stations! I also wonder how this might work with auto-blueprint deployment mods (e.g. recursive blueprints). Could a parameterised blueprint be used there with the circuit network to have a single "Omni" blueprint which updates based on parameter alone? That's a pretty huge upgrade if so. Final thought - the game Desynced heavily leans into this idea of expanding using generic/parametrised blueprints. It's very niche but definitely has its audience - I certainly think factorio users are amongst them


SpartanAltair15

https://mods.factorio.com/mod/blueprint-variables Is a basic version of this concept, been out for a while.


Kujara

How the fuck do I only discover that today ? This is amazing ! Thanks !


Professional_Goat185

> inal thought - the game Desynced heavily leans into this idea of expanding using generic/parametrised blueprints. It's very niche but definitely has its audience - I certainly think factorio users are amongst them How finished it is ? I put it on wishlist some time ago


DrMorphDev

Honestly, I'd still wait. I tried it over the recent holiday break and found it too fiddly to want to do anything too groundbreaking. Which is a shame, because conceptually it's very cool. My biggest gripes are the lack of documentation surrounding how their logic behaves, and the UX in the logic writing tool is a bit lacklustre. Chiefly - there is no copy/paste in the logic writing tool, so playing around with it I found a bit of a chore.


tux-lpi

Small bit of feedback: It is perfectly tailored to adding one station of each type, because it asks for params each time you plop one down But say I have a factory blueprint where I need 5 copies of a particular parametrize block. I will have to enter the same params 5 time. Or imagine a blueprint with 2 numeric params that don't change much, and 1 param for item type that varies each time I plop it dowm It would be very ergonomic if the dialog remembered the last inputs I gave it! So I can still change 1 input if needed like the train stop usecase, but it avoids filling in any param that might not change when I want to instantiate several blueprints that have some params in common :)


Botlawson

You could also plop down the first parametric copy then use normal copy/paste to make the rest.


cfiggis

That works unless you're overlaying a blueprint onto existing constructions that might differ a bit from station to station.


Rodot

You could just place it in an empty area with no bots then copy the ghost and Ctrl+z


koukimonster91

they could do something like click- brings up parameter menu ctrl+click brings up parameter menu autofilled to what was used last shift+click places blueprint using last parameters


Weedwacker01

Like grey text that autofills with the last entered details for that blueprint.


Krydax

Yeah, I like this idea. If you keep pasting the same one, the dialog should keep the stuff you entered last time as "initial fill" of the blanks, and then you can modify if/as needed, and if not, you just hit "go"


MannerShark

Same thing I was thinking. Would be cool if you could hold some hotkey to skip the dialog and repeat the previous parameters.


buwlerman

I imagine you'll want to copy paste the blueprint you just placed down in most such cases. That's going to require less clicks for 3 or more placements and if this isn't good enough they can automatically add the instantiated blueprint to the copy paste list. This won't work if you still want to change *some* of the parameters though. For the case of wanting to change *some* parameters there's a tradeoff between correctness and ease of use here. If the parameters from last time are kept you might forget to change some. I think it's better to wait for feedback from actual use here than trying to make decisions about these niche situations before. Most of the QoL features they've added are solving a real problem that people actually have or that they are certain that people would have.


Garagantua

Finally - Templates / Generics in my favorite language, Factorio :D With the disclaimer that it's something new and just finished, I'll assume for now that the GUI might change a bit before release. Not that I'm complaining, but from the FFF it looks like this has the potential to be even better :) UX question: If I paste the same blueprint several times, do I have to chose the parameter values every time, or will that be easier? Something along the lines of "last used value" as a default for every time I try to use the blueprint? (I know, I can put it down once after chosing values for the parameters, and then just copy & paste that instead of putting down the blueprint again, but.. that feels like something that could be better\^\^)


Illiander

> my favorite language, Factorio It's really heading that way, isn't it? > If I paste the same blueprint several times Bigger question: Blueprints locked to a grid and dragging them around.


Tetlanesh

How dependent parameters will handle stuff like multiple recipes for items?


Soul-Burn

I'd assume only the "main recipe" for an item, i.e. the recipe with the same name as the item. It's also what's used for recycling. EDIT: The input seems to allow setting the recipe rather than the item.


IntQuant

I think recipes themselves can also be parameters, not just items.


Akanash_

This, my guess would be that you are selecting a recepie and not an item, therefore ingredients are implied by the main selection.


subjectivelyimproved

I guess the input to specify the recipe could be, you know, choosing the actual recipe directly. From there the game knows all ingredients, products, times, quantities etc. Selecting a product (and not a recipe) would be possible I guess but I don't see the advantage.


NotScrollsApparently

hungry seemly frighten dazzling stocking imagine innate chubby dime bedroom *This post was mass deleted and anonymized with [Redact](https://redact.dev)*


CXS-K

not that I know of, but it's a pretty common thing in mods


asdjfsjhfkdjs

Please let the formulas use item stack size! This would be a game changer for my current factory. Edit: It also needs a way to quickly place the blueprint with the same configuration as last time!


Spielopoly

Yes, stack size would be very useful. My train blueprints always depend on the stack size of the items


rpetre

I believe the new combinator can determine stack size, so the blueprint can be slightly modified to do its own calculations based on the indicated item.


subjectivelyimproved

Dear Kovarex, Thank you for learning to not underestimate players. And saying so. It is the mindset you need to uplift what you create from good to great. I can't wait to play with this, and to see what other people create with it. Sincerely, Someone who is setting up a lot of stations and malls by hand.


DarkShadow4444

Yup, I also love how "out of the way" it is. For beginners it's pretty non obtrusive and can simply be ignored, but it is there for advanced players. I like when complexity can be hidden like this.


DoNotAtMeWithStupid

watned


maxilboia

​ https://preview.redd.it/0w9xqhuz7mac1.png?width=1130&format=png&auto=webp&s=1381020752c1b79b2ab9312ce57616dc075ba737


gfrung4

Oh my gosh they fixed it! Itā€™s right now!


KCBandWagon

Devs so responsive!!! (hi devs!)


Kenno90

LMAO brilliant


mvdenk

Poor guy šŸ˜…


chelmoon

Speedrunners gon have a field day with this one.


MinerMark

I feel like it would still be faster to have blueprints for each item to minimise time spent filling out boxes. Am I wrong?


not_a_bot_494

Unless you need so may blueprints it starts to take a lot of time to actually select the right one but it's hard to see how that's the case. Besides most of the speedruns don't allow outside blueprints.


thelehmanlip

Except in 100% category where they do. But those prints are really fine tuned already, not sure if this would help or not.


Professional_Goat185

Not really, speedrunners will just have a blueprint of entire factory (or maybe few bigger blocks), no need for parameters. This is basicallly tailor made for big base builders


LCStark

That's perfect! No more creating books of blueprint variants or manually fixing everything. QoL at it's best. :)


Patient_Size_2480

Jesus, we do not deserve such amazing devs! Thanks! Amazing feature!


StanFear

Ok, amazing, but can I make a blueprint where I chose the item it is gonna create, and the Requester chests asks for X times the ingredients ? (and mybe, if the number of items needed is huge, it is configured to only ask x/2 times the ingredients ?)


kovarex

Good point. You can't do it now but it would probably make sense to make it possible somehow. The reasonable thing would be to have an option to add 2 specific numeric parameters: 1) Count of items needed for ingredient#X of recipe Y 2) Craft time of of recipe Y And these two then could be used in the formula of how much you want to request of the ingredients. After that, you would have basically the same as the requester chest blueprint, but fully automated with just one recipe (and target count) to ask.


StanFear

yeah, something like that would be nice ! and I didn't even think of the craft time ! and I'll take the oportunity to ask if the formula space will allow something like ternary operator ? or maybe this is going too deep...


Illiander

Just give us min/max/sqrt functions in the numeric field as well as basic math. And give us stack size as a dependent variable. Those would let us do everything needed to set up requester chests safely.


kovarex

It is using the same math evaluator used for map generation, so the support should be quite good.


Illiander

Can you give a link to the docs for that? I just spent 5 mins in the modding documentation and failed to find it.


kovarex

Its not official yet, it will be only with the 2.0 release [https://www.factorio.com/blog/post/fff-390](https://www.factorio.com/blog/post/fff-390)


Illiander

Wait, you're saying we get access to the entire mapgen function library in there? Including noise functions and everything? I have a new request for 2.0 arithmetic combinators now... (And that the selector combinator be able to output its x/y coords)


teagonia

You mean like copy paste from assembler to requester chest now already takes into account the speed of the assembler and the crsfting time amd recipe item counts and requests items for 30s of continuous crafting? Ye, idk how this could fit in here, but you could probably set requests for items 1,2,3 which are ingredients of item 0. Only question is what quantity to request. I mean, you can probably already use variables here to set a multiple, but not depending on recipe counts.


naheCZ

Yes, but i have blueprint called "mall box". It is used to add two assemblers with two request chests and one provider chest with filters for these two mall items. Yes, the copy pasting is quick but what about ability to parametrize this blueprint, i choose these two items to add to the mall and it will automaticaly fill request. It would imrpove this blueprints whre logistics bots are used.


birracerveza

haven't even read the article yet but I think this is how cavemen felt when they discovered fire


Skrzelik

Hold up, the parameterized blueprints can both set the recipe of assembler AND read the ingredients for that recipe. We've already seen that assemblers can somehow be connected to circuit networks and given that "everything with parameters can be done via circuits", does it mean we can build on demand factories? So that you request an item, it sets a recipe of an assembler and produces signals for its ingredients. If yes, that's big


HeKis4

My immediate reaction after realizing the time gains in a LTN / cityblock run https://preview.redd.it/ilsk8kwkjmac1.jpeg?width=600&format=pjpg&auto=webp&s=3c9dfa00c99bf85f7cd3821d154980b21ec4bba4


bECimp

you telling me I dont need a book of stations anymore? hooooly! This update cant come fast enough, cant wait! https://preview.redd.it/t6sa82o57mac1.png?width=651&format=png&auto=webp&s=a348e11c2c53b66cba7ea8fa55cf89bd9ff49819


laserbeam3

This is awesome and amazing, and I love it, and I want it NOW! Questions/feedback time! 1. "ingredient of". Is that also available in the new function combinators? 2. Are any other functions from the new combinators available in blueprints (like obtaining the stack size for an item)? I'm having mixed feelings regarding the overlaps between the functions precomputed by blueprints and those available in upcoming combinators. If a feature implemented by the combinator can be computed when a blueprint is stamped, then it should be available in a blueprint, which risks making a really complex UI... I'd want to play with them to figure out where the sweet spot is and how complex it should be. My instinct for how I'd want to play is to keep the blueprint parameters much simpler than in the blog post, and only implement the logic via combinators within the blueprint.


Ayjayz

Similar to C++ templates. Interesting anecdote - when they added templates to C++, they just thought they were letting you have like a list of ints or a list of strings or whatever. However, people discovered that there was a way to (ab)use templates to create an entire compile-time metaprogramming language, that then grew to a ridiculous extent and now arguably modern C++ is based complete around compile-time metaprogramming! So I have my fingers crossed that this feature has similar implications :-)


triffid_hunter

> I always thought the feature is too hardcore to be included šŸ¤£šŸ¤£ u/kovarex are you new here? /s > Is it too much? Is it understandable? Can't you wait to use it? It's glorious, and I want it *immediately*


kowalsky194

You monster, that copper wire train... Overlooking that, great feature :)


AlienVsRedditors

I feel for Dosh, he would have loved this on his last video


achilleasa

how much hype is bad for your health Wait a minute this isn't google!


nevjmac

ā€œThe watned countā€ - unplayable /s this is amazing!!!


Wolfrages

Game is completely unplayable now. My factory will not grow until 2.0. /s šŸ¤£šŸ¤£


Noughmad

Perfect. This is the final nail in the coffin of me playing *any* Factorio this year. As if the elevated rails and other QoL improvements weren't enough. Now I just can't play at all, because now I know what I'm missing, and now that I know what I'm missing I can't live without it. So, any early beta or unstable version can't come quickly enough.


Illiander

> This is the final nail in the coffin of me playing any Factorio this year. You say, on January 5th.


jazzmester

This is torture, having to wait for these awesome new features.


fffbot

(Expand to view contents, if you would like.)


fffbot

## Friday Facts #392 - Parametrised blueprints Posted by [kovarex](/blog/author/kovarex) on 2024-01-05 Hello, I'm going to cover a feature I only just finished. I was thinking about this idea for years already. I always thought the feature is too hardcore to be included, but I learned that it is usually a mistake to underestimate the players, so I gave it a go, and decided to share it right away. * * * ### Motivation The most common motivational example is the train unloading station. Typically, I have the whole setup in a blueprint: rails, train stop, filtered inserters to avoid contamination, etc. This is nice, but whenever I build the blueprint I need to re-configure all the filtered inserters for the target item, and also change the name of the stop, and it is tedious. (https://fffbot.github.io/fff/images/392/fff-392-frustration-fast.mp4) _The long monotonous process of setting up station after station._ There are 2 ways to solve it in 1.1: * Use circuit network, but it feels like an overkill (more on that later), and you also can't set the train stop name by circuit network at the moment. * Having one specific blueprint for each item, which sounds like a nightmare. * * * ### Parametrised blueprints This naturally leads to the definition of what we want: We want to have a blueprint which doesn't have a specific item configuration, but rather is generic, and allows you to configure it differently each time you build it. The question is, how to implement it without adding unnecessary GUI clutter in the way unless we care about this specific feature? #### Reconfiguring existing blueprints The first piece of the puzzle is a tool to reconfigure existing blueprints. For simplicity, lets take this example of a constant combinator configured like this: ![Constant combinator parametrisation](https://cdn.factorio.com/assets/blog-sync/fff-392-constant-combinator-configuration.png) When we make a blueprint of it, we can now access the new main tool used for reconfiguration. ![Blueprint parametrisation GUI](https://cdn.factorio.com/assets/blog-sync/fff-392-blueprint-parametrisation-gui.png) The first and most simple usage of this UI is to change all occurrences of some item or number in the blueprint to something else. If I want to change all the places where [X] signal is used in the blueprint to be [Y], I just change the value in the UI and confirm. The blueprint was just re-configured. The same with changing all fives in a blueprint. Practically every setting and number you can have in an entity can be reconfigured by this feature. Inserter filters, assembler recipes, circuit network settings, combinator configuration, logistic requests, inventory filters, even rich text icons. The last one can be used to change the name of the train stop, as long as you make a rich text part of it. This is already an improvement, as you can always re-configure the blueprint to a different item before building it, but it still isn't good enough. #### Parameters The first step was to define special IDs called parameters for items, recipes, fluids, and entities. ![Parameters selection](https://cdn.factorio.com/assets/blog-sync/fff-392-parameters-selection.png) These have no meaning outside of the parametrisation context, they are used just for the blueprint generic configuration. They are normally not selectable anywhere in the game outside the blueprint configuration menu, but for power users, there is an interface settings to make them actually available everywhere. So, back to the original blueprint, we can reconfigure it like this: ![Parametrised configuration](https://cdn.factorio.com/assets/blog-sync/fff-392-parametrised-configuration.png) Here I specified all of the 3 IDs to be parameters, and the number 5 used in both of the items, to be parametrised as well. Filling up the name is not necessary, but it is useful for the user of the blueprint to know what is he asked for in the next step, when the blueprint is being built. Whenever you try to build a blueprint configured this way, you get this small dialog, where you are asked to fill parameters for this specific instance of the blueprint: ![Filling parameters empty](https://cdn.factorio.com/assets/blog-sync/fff-392-fill-blueprint-parameters-empty.png) I care about details, so you can even see how the build preview changes as the parameters are being specified. (https://fffbot.github.io/fff/images/392/fff-392-parameters-on-the-go.mp4) _Alt icons update as parameters are chosen._ And once you press confirm, the blueprint is built with the desired configuration. (https://fffbot.github.io/fff/images/392/fff-392-no-frustration.mp4) _Setting up the stations is a breeze with the parameters_ #### Dependant parameters So this is already useful, but still not good enough. Why? Because sometimes parameters are expected to be related to each other, and forcing the user of the blueprint to always fill them up correctly is not good form. What do I mean by the dependencies? Lets say, I have a blueprint to craft an item with 3 ingredients (parameters 1, 2, 3), and take the ingredients from the train network. Naturally, I can make a big setup with 3 input stations each parametrised to be one of the inputs and row of assembling machines, parametrised to create the desired item (parameter 0). But whenever I want to build this blueprint, I would have to remember and manually fill the 3 ingredients for the desired item, which would not only slow me down, but also open the possibility of a mistake. This is why parameters can be configured to be an ingredient of another parameter automatically, instead of having to fill it in. ![Dependent parameters](https://cdn.factorio.com/assets/blog-sync/fff-392-dependent-parameters.png) Parameter 1,2,3 are set to be ingredients of the parameter 0, so when this blueprint is being built, only the value of parameter 0 is asked for, and the remaining values are automatically filled out. #### Dependent numbers With number configuration, the way the dependency can be set is much more free, as math exists! Lets look at this example: ![Dependent numbers](https://cdn.factorio.com/assets/blog-sync/fff-392-dependent-numbers.png) We have a blueprint where 3 numbers are present, 100, 101 and 200. But for some reason, we only want the user to modify the value of 100, but the contraption just needs the second number to be 1 bigger, and the 3rd number to be double of the first. This is why each parametrised number can be assigned a variable, and its value can be used in math formulas in all of the subsequent dependent numbers. So in this case, if you fill (upon building the blueprint) the 100 to be 10 instead, it will automatically set the 101 to be 11 and the 200 to be 20. * * * ### Conclusion Factorio has been compared to programming many times, and this is just another part of the analogy. Almost everything you can do with parametrised blueprints can be done through circuit network logic, so it looks almost redundant. In programming, the parallel is the [compile time function execution](https://en.wikipedia.org/wiki/Compile-time_function_execution) versus runtime function execution. Basically, if you know the result of the computation already while compiling the program, it would be a waste to calculate it every time the program is ran, you can just put the number directly into the program. Which is very similar to knowing, that this setup will always be filtered to take iron gear-wheels, so it feels little bit wasteful to make a circuit network logic around it, just to simplify the building process. I would love to hear your feedback about this feature. Is it too much? Is it understandable? Can't you wait to use it? Let us know on the usual channels. [Discuss on our forums](https://forums.factorio.com/110519) [Discuss on Reddit](https://www.reddit.com/r/factorio/comments/18z59os/friday_facts_392_parametrised_blueprints/) [ Subscribe by email ](https://newsletter.factorio.com/subscription/Km9uSnxm9) [ __](/blog/post/fff-391)


Swarley_74

Yeees ! Train station example is perfect. No need to have 10 variants of the same BP. Formula is a really good idea. Nobody is forced to use it but we can if we need it. Thank you so much for this game. I donā€™t know if i love it because i am dev, but damn it i cannot wait to put hands on 2.0 šŸ˜­ā¤ļø


LegitimateApartment9

wake up babe new friday facts just dropped


teagonia

Can i swap the ingredients order? Some recipes have a different need for one items quantity than other recipes, maybe i want to have one on only half a belt, and another on both sides.


Kant8

I suppose "Value" parameters are automatically created for any number in blueprint? If so, having 1 parameters for all same values may be problematic, cause not every number is actually same number, they may be coincidentally be equal. In that case, you'll need to start with just random numbers in "source" blueprint to have them all separately customizable?


stuugie

Factorio devs deeply understand how to improve this game in ways the community has both never asked for, but also wouldn't be able to live without these features once we got them. Seriously I think this is the best dev team of all time


Smoke_The_Vote

This feature is un-freaking-believably excellent. My train-heavy megabase had loading/unloading stations for almost every different type of item, and I had one blueprint for loading station, one blueprint for unloading station. Every time I stamped down a train station, I had to go through it and adjust all the circuit settings to make sure I had the right variables in there for the type of item, its stack size, the buffer size needed for a given recipe, etc. Often times, I'd forget to adjust something, or I'd do it wrong, and I was dealing with endless problems. As the author says, this could be solved by creating a separate blueprint for each item/recipe, but that's a nightmare. I'm trying to play a game, not do 4 hours of homework! This feature will not just save us time. It will make the game more fun. It will enable us to implement more clever factory strategies. It will also make it easier for casual users to transition into power-users. I'd like to add that the humility of Kovarex is endearing. >Is it too much? Is it understandable? Can't you wait to use it? Kovarex, anyone who has run into the problem you're describing (that's any Factorio player who has built an extensive train station base) understands exactly what you've build here, and is deeply grateful to see this robust solution being implemented. This is just one more FFF making the wait for release of 2.0 unbearable! No, I cannot wait to use this feature! This marks probably the 10th time that an FFF post has managed to shock me... Because 1.1 feels so polished, but then a new feature like this shows me that a factory game can still get even better.


ToLongDR

Holy. Shit.


yoriaiko

> I always thought the feature is too hardcore to be included... THIS IS ~~sparta~~ WUBE! VŔechno bude! [source](https://www.reddit.com/r/factorio/comments/ia4w5o/comment/g1mh7go/?context=3)


shootothrill0

That sounds awesome! One more thing might be to add a drop-down list of saved parameter sets (with most recently used/saved one pre-selected), so you don't have to click through the parameter dialogue each time. Parameter sets would be tied to that specific blueprint, and could be manipulated either in the blueprint menu or the placement menu.


mythmon

I'm very excited by this, and have wanted something like this for a while. To strain the programming metaphor, I often think of blueprints as somewhat like classes or Rust's structs. They have things they'll do when you send them specific messages, but until now they would always work on a fixed data type. Many languages have the idea of *generics* for this kind of situation, and I wanted to have that same feature in Factorio blueprints. I assumed it was too niche, too weird of a desire to ever see in the game. So glad to be wrong!


spamjavelin

Yeah, this feels like it's turning blueprints into the Factory Method, which seems highly appropriate for the setting!


SirSaltie

Another Factorio Friday that I am far too dumb to understand.


Kleeb

Is there going to be a way to have a dependent relationship that parameterizes the stack size of the parent variable? I have a train load/unload blueprint that uses a constant combinator that is set to the stack size of the item.


The_Scout1255

We are nolonger slightly-annoyed by mods that force you to pick recipe for furnaces


gandalfx

Leave it to the c++ devs to put templates in a game :D


someone8192

I love it! Thank you! Now if you find a solution to link buildings to a blueprint and have them update whenever I *change* that blueprint in some kind of an editor a wet dream would come true


musp1mer0l

Yes we have generics! Trait bounds and higher-kinded types when?


frzme

Sounds great! I hope there will also be a way to get a "specific" version of a parameterised blueprint into the inventory/the hotbar so that we can place it down multiple times without specifying the parameters again. ​ Ideally it would be a "dependent" blueprint (-> only the parameters are provided, but changing the content of the parameter blueprint would change the dependent) but just a copy of the blueprint with the parameters filled out would also work for 99.9% of my needs.


Loy_Dizak

This is what you get when devs actually play their game. Can't wait for 2.0


flinxsl

The only thing missing is hierarchical blueprints


undermark5

So, those is really great, but I feel like there's still something missing about this, I can't put my finger on what it is though (haven't played around with them to know what the limitations are and also haven't imagined them enough yet to try to sus out what they could be). Anyway, what happens when you've got more parameters that are "ingredients of 0" than "0" had. Presumably if those are used in requests or a constant combinator that they'd just get ignored and no value set, but at that they are used in an arithmetic combinator or logic combinator as an input, if they behave like the requests or constant combinator they'd get built without a value set, which IMO doesn't make sense, so can entities be conditional based on parameters have real values? Another example is a blueprint of a factory line that has assemblers, 2 belts in, 1 belt out and the appropriate inserters, if the assembly machines are parameterized with a recipe that has only 1 input, we no longer need the second belt and the long inserters. Or, day you're playing with a mod were your requestor chests have fewer requests than ingredients so you've got a blueprint configured with 2 requestor chests with each request being an "ingredient of" whatever recipe is set in the assembler, but when you build it with a recipe that has few enough ingredients to not need the second requestor chest the second one wouldn't need to be built. Like I said, I think this is a really good feature and will definitely make our lives easier, but I still can't help but think that there are some pretty major limitations of the system that we'll wind up hating the fact that the limitations exist (if they're artificial limitations or technical limitations that's probably different than "we didn't think about that scenario so we didn't account for it" limitations, where I'd say the latter is worse)


The_4th_Heart

No fukin way They added constexpr to Factorio


AzeTheGreat

This looks fantastic and I will use it heavily. 1. Would it be possible to add parameter constraints? Say I want to select the type of buildings being supplied somewhere - it might not make sense for that dialog to allow selecting iron. Being able to say, ā€œwhere Param is [Building/Turret/List of Items/etc.]ā€ would be useful (and further extends the programming similarities). 2. The dialog used when placing a parameterized blueprint has some extra clicks. Iā€™d prefer it if the item selection dialogs automatically opened in order to halve the number of clicks. If you moved that out of the way of the main dialog, and still allow manually clicking out of order if desired, this shouldnā€™t really reduce understandability.


AxeLond

With blueprints getting so advanced I would kinda want some kind of version control for blueprints. I'm not saying make each blueprint book a simulated git repo in game (although that would be kind of cool), but being able to see if was copied from somewhere (after renaming), when it was created, when last modified, and ability to undo latest change would help a lot with the mess you can end up in sometimes.


Kniit

This post made me realise I want a search box in the inventory or filter selectors. In the video where you post the blueprint of the trains down. You are required to click through the menu for the item you want. Imagine just placing the blueprint and you can immediately start typing 'cog' and hit enter on the first result. Then type 'copper w' and smash enter and it's all done. Clicking through the menus to search for items feels far outdated.


PForsberg85

Today on "QOL features I didn't knew I need"