Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blueprint data entities can be placed in huge quantities when laying blueprints #31

Closed
jeron-diovis opened this issue Jun 1, 2017 · 10 comments
Assignees
Labels

Comments

@jeron-diovis
Copy link

jeron-diovis commented Jun 1, 2017

Hi!
Thanks for this mode. So great idea.
I found several issues which make mode using a bit less convenient:

  1. Crafting / Recipe combinators don't keep their settings in blueprints.
    I.e., when, for example, decider combinator, configured to "A = 1000" is saved to blueprint and then placed by drone – it already has "A = 1000". But Crafting and Recipe combinators are always placed with default settings.

  2. Recipe combinator uses first available recipe to get ingredients from it.
    It's about other mods. For example, I'm playing with Bob's mod, and some items there can be crafted in different ways:

screenshot 2017-06-01 21 36 43

But recipe combinator selects first recipe it found, and there is nothing to do with this:

screenshot 2017-06-01 21 45 30

  1. A lot of unknown virtual entities appears in each blueprint.

screenshot 2017-06-01 21 50 11

This one is critical. There are thousands of these things in each blueprint, and due to them when placing blueprints game lags horribly. It took around 90sec for me to place block 15x10, which had 15k of these blue pieces.
After all, I had to delete this mode, because it's painful to play like this.

Is there any chance that in future versions something of this will be fixed?

@theRustyKnife
Copy link
Owner

Hi,
I'm sorry to hear that you're having issues with the mod. I hope I can be at least a little helpful for now, before I get to fixing them:

The first and last problem are actually connected as the virtual entities are what is supposed to save the settings in blueprints. I have no idea why there are so many of them tho, and why, apparently, they don't work the way they're supposed to... I will have to look into this, which may take some time. I guess I should probably at least mention somewhere that the entities are supposed to be there.
If you could perhaps share the blueprint or better the entire save, that would be awesome.

As for the recipe combinator, that's actually one of the reasons the recipe mode exists. A recipe combinator in that mode will output all recipes that produce the given item. I know it's not the simplest to implement this into your builds, but there didn't seem to be any other way to do it. I think the planned change to recipe combinator to make it two-tile (like decider, with ins and outs), will make it a bit easier to use at least.
If you have any ideas on how to make this better, I'm open to suggestions.

Also, thank you for the detailed report, it makes it much easier to work on the fixes ;)

Cheers TRK

@jeron-diovis
Copy link
Author

Here is blueprint example (exported with Foreman mod, is it the correct way to do this?):
blueprint_with_virtual_entities.blueprint.zip

16 wall blocks and 461 virtual entities.

And entire save:
entire_save.zip

Not sure how it will load without all modes with which it was created.


the recipe mode
A recipe combinator in that mode will output all recipes that produce the given item.

Hmm... Do you mean this?

screenshot 2017-06-02 18 09 54

If yes, it's not what I'm talking about. It's reverse case, when one recipe produces several different items. While in my case same single item can be crafted in several different ways.
Or, maybe, I don't understand how does it really work.

For example, two recipes I showed above:

screenshot 2017-06-01 21 36 43

and only one signal in "crafting combinator recipes":

screenshot 2017-06-02 18 25 01

If mod could detect both of that recipes here, it would be a solution we're looking for.

@theRustyKnife
Copy link
Owner

theRustyKnife commented Jun 2, 2017

Thanks for the blueprint and save, however, it does seem like you're playing on Factorio 0.14 and thus not the latest version of the mod.
While I can't say for sure, updating might solve your issues. Also, the recipe mode was added after 0.15 (Crafting Combinator 0.8.0), so that's why you're not seeing it. The mod has just overall gotten better since then.

Regardless, the blueprints are something I haven't paid much attention to for a while, so I will check up on them anyway. From my brief testing, it seems that the 'blueprint data' entities might get placed in large quantities while drag-placing blueprints (even in the new version).

Unless you're using a lot of non-updated mods, I don't see much of a reason to still play 0.14 as 0.15 is mostly stable already and there is a ton of cool new features in it. I think it's even well worth it to start a new game if necessary. However, if updating the game is absolutely not an option for you, let me know. I might try to backport the new version to 0.14. No promises tho, I already have tons of things to work on.

Cheers TRK

PS: 0.15 added a native way of sharing blueprints, so the Forman blueprint-string functionality is obsolete. You might want to read up on the news on the forum.

EDIT: Edited the title to be more accurate.

@theRustyKnife theRustyKnife changed the title Issues with blueprints Blueprint data entities can be placed in huge quantities when laying blueprints Jun 2, 2017
@theRustyKnife theRustyKnife self-assigned this Jun 2, 2017
@jeron-diovis
Copy link
Author

jeron-diovis commented Jun 2, 2017

Unless you're using a lot of non-updated mods, I don't see much of a reason to still play 0.14 as 0.15 is mostly stable

Actually, I didn't update to 0.15 yet only because it's still marked as "experimental". Despite it's 0.15.18 (!!) already. I'm playing through Steam, and by default have only stable updates installed.

If it's ok to use "experimental" version, of course I'll update ASAP. I'm waiting for features from 0.15 very much :)

@theRustyKnife
Copy link
Owner

Well, there have been one or two game-breaking bugs so far, but the devs are awesome and released a patch for them in a couple hours, even if it was on saturday. So yes, I think it's perfectly fine to use the 'experimental' version ;)
I think the state the game is in right now would actually be considered a finished game by most game studios :D

Cheers TRK

@jeron-diovis
Copy link
Author

Ok, I installed update.
After some time spent to updating all my mods (and some frustration because of new icons everywhere) and playing with new features, I saw that virtual items disappeared from all my blueprints.
But, there are some nuances:

  • in the previous save that I gave you before they are still present. Probably, re-saving game while turning mods on/off could affect my current save.
  • in current save, virtual items still can appear in blueprint, but now it is different. They appear only if blueprint contains crafting / recipe combinator with non-default settings, and there is only one item per such combinator – which corresponds to what you said before, that virtual entities are supposed to save the settings in blueprints. Not sure that they should be visible for player though... but at least it is playable now, no more lags.

Also, now when drone places crafting / recipe combinator, it keeps settings from blueprint.

So at least you can be sure that mod does what you expected from it :)

I think, that thousands of virtual items was some crazy glitch, caused by applying multiple mods... or god knows what else. Creating blueprint looked like this:

screenshot 2017-06-03 15 37 08

whereas now that small green crosses appear only on your combinators with non-default settings – just as expected.


As for other issues.

Reviving ghost of combinator, placed by blueprint, with Picker ghost revivier still drops combinator settings. I.e., scenario is:

  • use blueprint to place ghost of crafting / recipe combinator with some custom settings
  • hover that ghost
  • press Q to pick combinator from inventory
  • press Q again to revive ghost.

Not sure whether I should report this to you or to Picker mod authors – but, for example, with bob's adjustable inserters this scenario works fine, revived inserter keeps it's pick and drop positions.


About recipe combinator and items with multiple recipes.
I see "find recipes" mode in combinator, but, to be honest, can't imagine how it can be used at all. Combinator emits all possible recipes, ok – and then I can't select desired one, can't filter them, because any other item of logic circuit knows only about item, not about different recipes:

screenshot 2017-06-03 18 08 05 2

I'm pretty sure that this problem should be solved with virtual signals from "crafting combinator recipes" tab. Partially, it already does this:

screenshot 2017-06-03 18 11 45

The problem is that somehow it can't find all recipes. For example, here is recipes in inventory:

image

and here is virtual signals in "crafting combinator recipes":

image

The logic of populating this tab is arcane for me. But it definitely has the potential to solve this issue.

@theRustyKnife
Copy link
Owner

I'm glad the mod now works as expected. Indeed I'd like the virtual entities to be hidden from the player, but so far, I haven't found a way to do that. I'm currently thinking of a way to completely change how the combinators are stored in blueprints, so maybe that will solve this.
As I said before, there is still a chance that many of the virtual entities will get placed when dragging a blueprint containing some of these entities while placing it. I'll certainly try to fix that, but luckily, it doesn't seem to be a very common case.

About the other issues:

  1. Picker compatibility - I'm not sure what this is caused by just yet, but I'll investigate and report to Nexela if necessary, so don't worry about that. However, due to the nature of this issue, I'm afraid the solution might be complicated, if not impossible (that's just a guess tho).

  2. The recipes in the 'virtual recipes' tab are actually only the ones that didn't have an appropriate item to signal them. Thus your problems with lead and nickel (if I remember the icons correctly) are actually just a misunderstanding of how the system works.
    I have to admit that it's not exactly easy to grasp, but in short: If a recipe has a product named the same as the recipe itself, you can use that product to signal the recipe. If a recipe doesn't have any such product, a virtual signal is generated for that recipe.
    This is quite often made hard to understand by the localization of the recipes, as it can assign the same localized name (the only one the player can see) to recipes with different prototype names (what the mod can see). Unfortunately, I'm yet to come up with a better way of doing this, and it took a lot of iterations even to get it to the state it's in now.

To respond to your exact problem: The mod indeed knows about both of the recipe's variants - one of them is signaled by the result item, and the other by the virtual recipe signal. Which one is which, however, is a different problem. You can figure that out by sending the signals into a recipe combinator, and see what ingredients show up. It's a bit obscure, but as I said - haven't found a better way yet.

Cheers TRK

@theRustyKnife
Copy link
Owner

Ok, the picker issue was actually trivial to solve. Will commit in a bit.

@jeron-diovis
Copy link
Author

I got it. Thanks for details.
Indeed, it's hard to understand all this logic yourself, but with your explanations, I have to admit that current system is enough to play. If I can do this:

screenshot 2017-06-05 01 54 11

then everything is ok.

Also, there is a tiny workaround: crafting combinator in "read recipe" mode always emits desired signal:

screenshot 2017-06-05 02 19 46

This can be used if for some hard reason there is no corresponding virtual signal.

So... probably, I have no more questions to you. As issue with multiple virtual items is an exception rather than rule, I'm only waiting for release of patch for Picker issue.

@theRustyKnife
Copy link
Owner

e6d3fb2 fixes this issue. It will be in the next release (0.9.3).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants