Page 1 of 3

Allow setting recipies on factories before research

Posted: Wed Jul 13, 2016 10:43 pm
by factoriouzr
It would be great if you allowed setting unresearched recipes on factories before the research is ready, the factory just wouldn't produce the product. This would help with setting up the factories while the research is in progress, so by the time the research is done, the factory would be ready. This also affects importing blueprints using one of the available blueprint string type mods. If the research isn't ready and you import a blueprint and plop it down, the factory won't be set to produce the good specified in the blueprint, but if the research is ready, it will be set up correctly.

Re: Allow setting recipies on factories before research

Posted: Mon Oct 31, 2016 1:14 pm
by factoriouzr
I would really like this feature.

Thanks

Re: Allow setting recipies on factories before research

Posted: Mon Oct 31, 2016 1:25 pm
by Deadly-Bagel
A lot of the stuff I build is forward planning, such as research packs or advanced circuits, so I can plan out more of my base (so I don't come back and find I have no room for the next tier science). I don't find it too big a deal to need to go back and copy the recipe around but a visual would help plan and so I don't forget what is what later.

There's two problems I can think of, firstly this would confuse newbies. I can only craft a few things from my inventory but this machine can craft loads! I'll try to craft that, why isn't it working?? For consistency it's better to stay as it is. Secondly there is realism. As the engineer you are presumably programming each assembler to turn x into y, with the ability to store and copy this information. It doesn't make sense to be able to program these recipes before you even know the process, or for your assemblers to magically know what to do when the research is finished.

I'm not saying it shouldn't be done, just that these are things that should be thought of first.

Re: Allow setting recipies on factories before research

Posted: Mon Oct 31, 2016 9:03 pm
by HL65536
I would also like to have this.
For the newbie confusion problem i would suggest adding an option "show unresearched recipes" to the assembler/chemical plant gui that is off per default.
And realism - this game is not realistic: I can carry 100 trains in my pocket - no problem.

Re: Allow setting recipies on factories before research

Posted: Mon Oct 31, 2016 11:00 pm
by ssilk
Similar suggestion was also to place ghosts, that are no researched yet. Or filter items, that doesn't exists yet...

Re: Allow setting recipies on factories before research

Posted: Wed Nov 02, 2016 8:56 pm
by Rseding91
Setting the recipe is akin to crafting the recipe. Making it work otherwise would just waste CPU time having to check it constantly in the crafting machine update loop.

Re: Allow setting recipies on factories before research

Posted: Wed Dec 07, 2016 2:46 pm
by factoriouzr
Rseding91 wrote:Setting the recipe is akin to crafting the recipe. Making it work otherwise would just waste CPU time having to check it constantly in the crafting machine update loop.
Why would you have to check it constantly?

By your logic, right now you have to check if a recipe is set on the machine in your crafting loop before crafting it (ie. you can't craft null/nothing). How is this different then checking that the machine is "enabled" instead of recipe != null? Then the only time the enabled has to change is when you set a recipe and when a research is completed. Both of these are constant time operations that don't have to be checked in the crafting loop. When you set a recipe on a machine, you enable or disable the machine at that time based on if the item is researched or not. You also attach a listener at this time to the research that would enable crafting this item. Then when the research is complete, the listeners get informed in constant time and there is no looping though all factories or anything like that required.

It sounds like it wasn't implemented this way, but I remember you added a listener architecture in the past for inserters or something related like belts to optimize the performance. Please consider doing this for factories as well. This would add to gameplay and possibly speed up your crafting loop.

[0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Wed Apr 26, 2017 9:21 am
by factoriouzr
Recipes are not set on assembling machines when placed from blueprints if the recipe is not yet researched.

Other entities like requester chests have their requests set to not yet researched items, same with filters on inserters. We should have the same behaviour for assembling machines and other factories. The current behaviour is inconsistent, confusing, and frustrating. When I place a blueprint and it's built (Ie. I have the factories, etc needed), the factories show up blank (they also show up blank in the placed ghost).

All factories should allow setting their recipes before the research is done, same as all other entities that can request, filter etc, have conditions etc.

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Sat Apr 29, 2017 10:12 pm
by ssilk
Added to viewtopic.php?f=80&t=45635 Improvements for the Construction-Phase (Handling of Blueprints / Ghosts / Copy / Pre-Configuration)

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Wed May 17, 2017 12:42 pm
by factoriouzr
Can this please be prioritized for 0.15. This is a big sore point in how blueprints work. Everything else has their filters, limits, requester slots set (eg logistics chests, interters, filter inserters etc), but factories don't have their recipes set. Just gray out the recipe picture if it's not researched and don't enable the factory if it's not researched, but allow the recipe to be set on the factories.

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Wed May 17, 2017 12:57 pm
by mophydeen
This was possible in 0.14

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Wed May 17, 2017 6:00 pm
by ssilk
This is then a bug. Is there not already such a bug posted?

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Thu May 18, 2017 1:03 am
by Rseding91
ssilk wrote:This is then a bug. Is there not already such a bug posted?
It's not a bug, it's working this way by design.

Setting a recipe in an assembling machine is the same as allowing that recipe to be used. If you could load a blueprint with power armor 2 at the start of a map you could craft everything the game had to offer without ever researching the recipes.

So, this is not going to change. You can't make a ghost with a recipe you haven't unlocked because you haven't unlocked it yet.

Things like requester chests don't matter because they can request all day long but that doesn't make the items magically appear.

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Thu May 18, 2017 8:28 am
by mophydeen
Rseding91 wrote:
ssilk wrote:This is then a bug. Is there not already such a bug posted?
It's not a bug, it's working this way by design.

Setting a recipe in an assembling machine is the same as allowing that recipe to be used. If you could load a blueprint with power armor 2 at the start of a map you could craft everything the game had to offer without ever researching the recipes.

So, this is not going to change. You can't make a ghost with a recipe you haven't unlocked because you haven't unlocked it yet.

Things like requester chests don't matter because they can request all day long but that doesn't make the items magically appear.

I understand why you are doing it this way. But it's not blueprint friendly. A blueprint friendly way would be to allow the recipe to be set by the blueprint but not craftable in game till unlocked.
eg. I have a blueprint with all science (2bottles/color/sec) when I place it down at the start of a new game only the red/green are placed&set. The others are placed&not-set. After unlocking the recipe I have to manually set the assemblers.

possible solution:
- ghost recipes

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Thu May 18, 2017 11:24 am
by ssilk
mophydeen wrote: - ghost recipes
That is also a suggestion made more than twice in the last weeks: To be able to set a receipe before it enabled.

In my eyes this is still more like a bug, not just an issue, cause it makes blueprints much more useless and is an unawaiteable issue....

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Thu May 18, 2017 11:41 am
by Lav
As someone who made a similar suggestion, I concur.

Please note that it's not necessary to enable unresearched recipes in assemblers. What is necessary is to enable unresearched recipes in ghost assemblers, highlight them to indicate they're not yet available, and prevent bots from automatically constructing them before the recipe is researched.

Essentially, remove restrictions on anything ghostly.

This ties into the suggestion to automatically transfer ghost settings onto items manually placed over the ghosts. If player is placing an item of the same type over the ghost, ghost settings/recipes should automatically transfer to the placed items if it's possible given player's research state. If it's not possible, then player should lose those settings/recipes, that's fair. Ideally, the game should be able to recognize non-identical items of the same type (placing Assembler II over a ghost Assembler III, or a fast inserter over stack one) - that's extra, but would make using late-game blueprints easier in the early game. Plus there won't be any need to create several blueprints of the same setup in different game stages.

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Thu May 18, 2017 12:05 pm
by factoriouzr
Rseding91 wrote:
ssilk wrote:This is then a bug. Is there not already such a bug posted?
It's not a bug, it's working this way by design.

Setting a recipe in an assembling machine is the same as allowing that recipe to be used. If you could load a blueprint with power armor 2 at the start of a map you could craft everything the game had to offer without ever researching the recipes.

So, this is not going to change. You can't make a ghost with a recipe you haven't unlocked because you haven't unlocked it yet.

Things like requester chests don't matter because they can request all day long but that doesn't make the items magically appear.

You may have designed it that way at some point, but now it's not working well with other game features (such as blueprints, both before blueprint sharing and especially now with blueprint sharing). It's inconsistent with other entities that do keep their settings and frustrates players.

I think you should take a softer stance on this as it's clearly not a desired way for it to work and, as I said, it's inconsistent with other blueprintable entities.

I don't see why it's such a big deal to add an "enabled" property to all factorioes that is not visible to the user. When you set a recipe on a factory (from ghost, placed by robots or set by the player), you simply check if the recipe is researched already (O(1) operation, constant time, fast, just a hash table lookup). If the reciipe is researched, you set "enabled=true) on that factory and the factory produces the good if all it's other conditions are met (ie. has resources). If the recipe is not yet researched, then you set "enabled=false" (or don't do anything, as the default is already false) and the factory doesn't produce anything. The only other thing to do is when a new research is done, just check all the factories with that recipe already set and set them to "enabled=true". This doesn't have to be done in one tick either, just do a few per tick (what you already do for roboports for eg as you don't check every entity every tick).

This is all fast, constant time operations, and shouldn't be difficult to implement (granted I don't know your code, but I assume you have objects for each assembly machine and other factories, as each can be configured independenty, and contain different resources at any one time, so you just add another property to one class). Right now you must have logic saying that if a recipe is not set, you disable the input fields and don't allow production from that machine. Thus that if statement just has to be changed to "if (enabled == true) { <...produce...>}". This is the same cost as the current check, so there is no performance hit.

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Thu May 18, 2017 12:24 pm
by mophydeen
and show a recipe research warning on top off the machine to warn the player why the assembler/.. is not working.

eg. missing modules

Re: [0.15.2] Recipes not set on assembling mach. from blueprints

Posted: Wed Jul 25, 2018 11:01 pm
by factoriouzr
Can we have this implemented now that blueprints are being reworked/improved.

It's completely contradictory to allow placing blueprint ghosts of buildings, inserters, rails, lights, walls, gates, turrets etc that are not yet researched, yet not allow placing recipes in buildings that are not yet researched.

This feature will improve the game and is consistent with the way factorio is played. If a player has blueprinted a building with a recipe, and they place that blueprint down, in all cases, they want that blueprint set on that building. It should not be necessary for the player to constantly place down the same blueprints over and over after researches are done.

Allow blueprinting unresearched recepies in factories via option toggle

Posted: Wed Jan 16, 2019 9:44 am
by ethernal
TL;DR
Placing down the blueprint that has unresearched tech in the factory should show that tech with (obligatory) indication that it's not yet researched so you do not confuse the player.

What ?
Sorry I cannot provide the images at the moment.

idea is simple - currently if the tech is not researched and the blueprint is placed down with the factory making it places empty factory.
It should: place a factory with "ghost recipe" like it's done for modules. There must be an indication that this requires research to prevent "bugs" like "my blueprints are not being built". This is the only thing I can think of why it is not implemented. Also please allow users to ENABLE this behavior (disabled by default) see below why.

This would have to allow as well to select the recipe manually after the factory was built (so all items could be seen as unlocked) but only when option is enabled.I would also go as far as allow users to select options to enable unresearched tech in: none, blueprints, recipes, blueprints and recipes.
Why ?
With markets and bigger blueprints this is very annoying as ex. markets tend to have products up to end game so we end up re-plopping BP few times. It's inefficient and does not fit well in game were you should automate everything in my view.

Consistency and makes the game for experienced players less annoying - no need to lookup the blueprint to see what was supposed to be here or re-plop it again (and God forbid if I made changes to the plopped down blueprint and it's now completely messed up after re-plopping it, so I tear down whole market and redo it again - that is exaggeration I know but still happens all the time). It could be even beneficial to new players as when they do start using BP and get factories with no recipes it is also confusing.

I have seen: viewtopic.php?f=38&t=43208&p=253666&hil ... ed#p253628
But it was long time ago and NPE is evolving also what you did learn through many many FFFs is that giving people options to customize the game to their liking is the best option indeed - that is a bit more recent FFF.