frzyc / genshin-optimizer

An Artifact optimizer for Genshin Impact.
https://frzyc.github.io/genshin-optimizer/
MIT License
784 stars 233 forks source link

Add saving multiple Optimizer Configs, and optimizing for multiple configs at once #854

Open nguyentvan7 opened 1 year ago

nguyentvan7 commented 1 year ago

Not sure how ridiculous this is, but with growing number of needs to optimize multiple times, it would be cool to save "optimize configs" and add them to a list. Then when you press optimize, it will run selected various configs back to back and then combine the build lists, so you don't have to constantly remember to tick conditionals, change target, etc. Could also be the basis for unoptimized weapon optimization

For example, comparing shim4 combo vs non shim4 combo. Or comparing atk SPD sets, or comparing 4p tf sets, or comparing weapons with different er requirements, etc

I think this is nice as a bridge between conditionals in multi target and proper weapon optimization. Just some db changes and chaining the generateBuild calls together, rather than entire engine changes to support those things

It would also be highly wanted to allow graphing here, and combining all of the graphs together. Would require graph targets to be standardized between all configs, so maybe we can just use the currently active graph target? And maybe don't include graph target as part of the "loadout"

StainAE86 commented 1 year ago

similar concept to #439

nguyentvan7 commented 1 year ago

Kind of, but pretty different. It doesn't have any of the pitfalls frzyc mentions in that issue since it's localized to one character, doesn't have dependency chains, and lives inside the optimize tab. It's also a perfectly valid and used optimization tactic, and reduces chance of user error over time ( for example, forgetting to use a non-burst target when optimizing for shim 4p)

Most worrying aspects are:

nguyentvan7 commented 1 year ago

Things required to be in this config:

StainAE86 commented 1 year ago

So you want something that could be as simple as;

Compare a multi-target that includes the Burst (and with SR disabled) to a multi-target that doesn't unclude the Burst (with SR enabled). For example Hu Tao.

to something as complex as;

Compare a character with a certain weapon, team and rotation, to a completely different weapon, team (and conditionals) and rotation? For example Raiden National vs Raiden Hyperbloom.

While it enables possible very incorrect conclusions to be drawn depending on how the user sets it up. I think it's fine because that's nothing new for GO.

I guess this complements the loadouts feature #401 and the ability to compare between them quite well.

nguyentvan7 commented 1 year ago

This also needs: