Page 1 of 1

[0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 1:25 pm
by Goufalite
TL;DR : I imported a 0.16 finished game map, and the research panel told me that some parts were red (unavailable) such as control units, lubricant, although I already launched a rocket! I suppose this is because of the technology balancing/spliting.

Image

Image

Steps :
- Download and extract Factorio 0.17.4
- Create a saves folder and put a finished game save inside
- Load that save
- Go to an assembly machine which produces for example control units
- Open the research tab

Expected: either
- research for control units and its prerequisistes is finished (green)
or
- research is yellow/red AND assembly machines/inventory/chests/belts don't show control units

Got:
- research is unavailable (red) BUT assembly machine produce control units and put them on belts

Impact
- although machines already produce this "unknown" part, a new assembly machine will not know this receipe, which is quite inconsistent
- not so blocking for an after-end game (just re-research) but those searching to achieve the "all technologies" trophies might spend more resources...

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 1:57 pm
by CDarklock
Goufalite wrote: Sat Mar 02, 2019 1:25 pm TL;DR : I imported a 0.16 finished game map, and the research panel told me that some parts were red (unavailable) such as control units, lubricant, although I already launched a rocket! I suppose this is because of the technology balancing/spliting.
My thought, for a perfect resolution?

If you have a given technology researched, you must necessarily have all of its prerequisites researched, so the game should automatically start at the deepest level of the tech tree and work up from everything you have already researched - researching any and all prerequisites.

This could get complicated, though. Ideally you fix this in the general case, and then no matter how you alter the tech tree it just magically works.

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 2:18 pm
by posila
CDarklock wrote: Sat Mar 02, 2019 1:57 pmThis could get complicated, though. Ideally you fix this in the general case, and then no matter how you alter the tech tree it just magically works.
No. Then a mod decides to move early tech deeper and when you install the mod and load your mid game save, and migration will mark half of the tech tree as researched.

In my opinion, this is the best way the save could have migrated ... only way is for it to be better is to fix your setups so they work with new recipes and ratios.

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 2:39 pm
by Impatient
The tech tree in 0.17.x is different. Maybe even internal names for technologies which stood the same have also changed. The savegame has a list of names of techs you researched. If there is a new or renamed tech in the middle of the 0.17 tech tree, even if it is an ancestor to a tech you have already unlocked, then it is not in that list of tech names. Therefor displayed as not researched.

Also the game engine seems to just check on valid recipes when selecting a recipe in an assembling machine. Not afterwards every tick (which is a good thing).

Pondering over this out of pure boredom, I think an alogorithm for migrating from one tech tree to another could look like this:

- Make a list of all researched techs in tech tree TTA
- Make a list of all the recipes in that tech list
- Map all the recipes in that list to recipes in tech tree TTB
- Set all techs in TTB to researched which have mapped recipes in them
- Set all techs in TTB to researched which are ancestors to thus researched techs

This would solve the problems you are seeing. In edge cases it could give some recipes for free which were in an unresearched tech in TTA and are in a then researched tech in TTB or are new in TTB and in a then researched tech. It also gives techs for free which are new in TTB and an ancestor to a then researched tech.

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 2:45 pm
by CDarklock
posila wrote: Sat Mar 02, 2019 2:18 pm
CDarklock wrote: Sat Mar 02, 2019 1:57 pmThis could get complicated, though. Ideally you fix this in the general case, and then no matter how you alter the tech tree it just magically works.
No. Then a mod decides to move early tech deeper and when you install the mod and load your mid game save, and migration will mark half of the tech tree as researched.
Why is this bad?

You're playing a save where you've unlocked a given technology. You install a mod that moves this technology downward in the tech tree.

The prerequisite technologies above it are automatically unlocked, along with their own prerequisities. Any technologies that are not prerequisites are left exactly the way they are. Meanwhile, if the mod moves or adds a technology you have not researched, nothing happens.

If this isn't what you wanted, you reload your save and it's fixed. Now you know not to install that mod, because you won't get what you want.

Incidentally, I've not thoroughly considered Impatient's post yet, and I think I may see some other technical barriers hinted at in it.

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 2:51 pm
by Impatient
posila wrote: Sat Mar 02, 2019 2:18 pm Then a mod decides to move early tech deeper and when you install the mod and load your mid game save, and migration will mark half of the tech tree as researched.
True that. I did not take mods into account in general at all.

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 2:55 pm
by Impatient
CDarklock wrote: Sat Mar 02, 2019 2:45 pm
posila wrote: Sat Mar 02, 2019 2:18 pm
CDarklock wrote: Sat Mar 02, 2019 1:57 pmThis could get complicated, though. Ideally you fix this in the general case, and then no matter how you alter the tech tree it just magically works.
No. Then a mod decides to move early tech deeper and when you install the mod and load your mid game save, and migration will mark half of the tech tree as researched.
Why is this bad?
...
If this isn't what you wanted, you reload your save and it's fixed. Now you know not to install that mod, because you won't get what you want.
...
Also true.

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 3:07 pm
by CDarklock
Impatient wrote: Sat Mar 02, 2019 2:55 pm Also true.
Here's a thought.

A mod alters the tech tree, probably by mistake, to move military science packs farther down - under a technology that requires military science packs to research. This renders that entire section of the tree impossible to research. If you have not already researched military science packs in the save where you install this mod, you can't research them. Or anything that requires them. Ever.

Do we have any facility in the game to detect and prevent this?

If not, should we have one?

Is it acceptable, as a corrective measure, that the player has console commands available to unlock the impossible technology?

If so, isn't it similarly acceptable that the player has console commands available to lock undesired technology?

This isn't a simple question, and I don't think it has a "right" answer. I think it has an answer some people like, and an answer other people like. And I'm neither in charge of deciding which people are more important, nor envious of the person who is.

EDIT: Since this is a version upgrade issue, it's also necessarily limited in scope to those who are migrating a save from 0.16 to 0.17, which is quite possibly something we don't want to invest any extra developer time into. It's absolutely valid to say "we don't care if previous saves aren't perfectly migrated."

EDIT2: Case in point, I have a save with a factory in it which is polluting tf out of the area and the biters are going NUTS. The factory is not adequately defended AT ALL. And my immediate response to that is, biters behave differently now and pollution is a bigger deal - so this is absolutely expected and does not need to be fixed. This save may not be salvageable. And that's okay.

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 3:36 pm
by Goufalite
CDarklock wrote: Sat Mar 02, 2019 3:07 pm EDIT: Since this is a version upgrade issue, it's also necessarily limited in scope to those who are migrating a save from 0.16 to 0.17, which is quite possibly something we don't want to invest any extra developer time into. It's absolutely valid to say "we don't care if previous saves aren't perfectly migrated."
Totally agreed. Factorio is alpha and major changes can still occur (for example the 3 to 1 liquid tank change in the citern wagon in 0.16.8). I was just pointing out the inconsistency of "my object must be researched" vs "my object is already in the receipe of some of my already existing assembly machines"
CDarklock wrote: Sat Mar 02, 2019 3:07 pm This renders that entire section of the tree impossible to research. If you have not already researched military science packs in the save where you install this mod, you can't research them. Or anything that requires them. Ever.

Do we have any facility in the game to detect and prevent this?

If not, should we have one?
I suppose this problem goes in the bug tracker of the mod. The developper managed to badly tweak the research tree, the mod is unplayable, the mod must be fixed.
CDarklock wrote: Sat Mar 02, 2019 3:07 pm This isn't a simple question, and I don't think it has a "right" answer. I think it has an answer some people like, and an answer other people like. And I'm neither in charge of deciding which people are more important, nor envious of the person who is.
How about a warning ? "Watch out, the research tree has changed [Auto-research existing items and prerequisites] [Continue]"
CDarklock wrote: Sat Mar 02, 2019 3:07 pm EDIT2: Case in point, I have a save with a factory in it which is polluting tf out of the area and the biters are going NUTS. The factory is not adequately defended AT ALL. And my immediate response to that is, biters behave differently now and pollution is a bigger deal - so this is absolutely expected and does not need to be fixed. This save may not be salvageable. And that's okay.
I had this feeling when they changed the citern. I first was wondering what was happening, and then I said "well, I'll just put another wagon and move that pump..."

Re: [0.17.4]When importing 0.16 map I must research things I already know

Posted: Sat Mar 02, 2019 3:40 pm
by CDarklock
Goufalite wrote: Sat Mar 02, 2019 3:36 pm How about a warning ? "Watch out, the research tree has changed [Auto-research existing items and prerequisites] [Continue]"
Reduces to the same issue: do we want to spend time on this? Adding a warning doesn't just happen, it's the same effort as autoresearch PLUS an additional warning dialog and player choice. ;)
I had this feeling when they changed the citern. I first was wondering what was happening, and then I said "well, I'll just put another wagon and move that pump..."
On some level, I feel like a new Factorio alpha necessarily means "throw out your factory and start over," and any ability you have to salvage old saves and keep playing them is an unexpected bonus.