WIP: Add character file and stat adjusted skeleton actions #2

Closed
TheTaques wants to merge 11 commits from char-file into main
TheTaques commented 2021-08-24 11:26:26 +00:00 (Migrated from github.com)

Basically the title, so far few actions are actually adjusted by char stats.
Some actions actually depend on the amount of already attached other bones, so that probably requires some logic in solve.py.

The challenge calculation functions could probably be consolidated, once i figure out which are actually needed for everything.
I also didn't follow any guide / best practices, so feel free to edit and change everything.

Basically the title, so far few actions are actually adjusted by char stats. Some actions actually depend on the amount of already attached other bones, so that probably requires some logic in solve.py. The challenge calculation functions could probably be consolidated, once i figure out which are actually needed for everything. I also didn't follow any guide / best practices, so feel free to edit and change everything.
Saklad5 commented 2021-08-24 12:34:23 +00:00 (Migrated from github.com)

I’m not sure about this. OR-Tools can’t actually use fractional values, and I want the output of this solver to be fairly deterministic. Moreover, this would require people to change the code to use it properly, which I only just moved away from.

I’m not sure about this. OR-Tools can’t actually use fractional values, and I want the output of this solver to be fairly deterministic. Moreover, this would require people to change the code to use it properly, which I only just moved away from.
Saklad5 commented 2021-08-24 12:36:08 +00:00 (Migrated from github.com)

One of the main issues with treating probabilities as fractions, which I admittedly already do for the Shadowy check, is that you cannot actually achieve that fraction. Due to the mechanics of Exhaustion, that impossible fraction might be more optimal than anything you can actually achieve, which would warp the output.

One of the main issues with treating probabilities as fractions, which I admittedly already do for the Shadowy check, is that you cannot actually achieve that fraction. Due to the mechanics of Exhaustion, that impossible fraction might be more optimal than anything you can actually achieve, which would warp the output.
TheTaques commented 2021-08-24 13:05:55 +00:00 (Migrated from github.com)

I’m not sure about this. OR-Tools can’t actually use fractional values, and I want the output of this solver to be fairly deterministic. Moreover, this would require people to change the code to use it properly, which I only just moved away from.

People wouldn't have to insert their own stats into the code, that's why I implemented a default char. That default char can have all the currently implied defaults. Another way to to it could be more command line arguments, but since the script already has so many, maybe it could offer both (arguments superseding custom char file values)

I hadn't considered how it would affect exhaustion... But it should be more or less fine, since for that calculations the thing gets rounded anyway 🤔

> > > I’m not sure about this. OR-Tools can’t actually use fractional values, and I want the output of this solver to be fairly deterministic. Moreover, this would require people to change the code to use it properly, which I only just moved away from. People wouldn't have to insert their own stats into the code, that's why I implemented a default char. That default char can have all the currently implied defaults. Another way to to it could be more command line arguments, but since the script already has so many, maybe it could offer both (arguments superseding custom char file values) I hadn't considered how it would affect exhaustion... But it should be more or less fine, since for that calculations the thing gets rounded anyway 🤔
TheTaques commented 2021-08-27 12:10:03 +00:00 (Migrated from github.com)

I'll close this, as it actually doesn't really work that well.

I'll close this, as it actually doesn't really work that well.
Saklad5 commented 2021-08-27 22:02:41 +00:00 (Migrated from github.com)

I'll close this, as it actually doesn't really work that well.

Yeah, it isn’t really conceptually feasible.

> I'll close this, as it actually doesn't really work that well. Yeah, it isn’t really conceptually feasible.
Saklad5 commented 2021-08-27 22:05:59 +00:00 (Migrated from github.com)

If the effects of a probability can be isolated and/or repeated, you can use the law of large numbers to work with probabilities. Multiply the results of passing a 60% chance by 0.60, etcetera.

But with the exception of the final Shadowy check (which does use the law of large numbers for evaluation) the Bone Market doesn’t work like that, at least not consistently. You can have wildly divergent outcomes based on the result of a single check along the way, and you can’t average the checks together and get a useful result.

And that’s without even considering computational complexity. I’m sure the solver could be better optimized by someone more familiar with the customization points of OR-Tools, but as it stands it is already quite demanding. This would massively exacerbate the issue.

If the effects of a probability can be isolated and/or repeated, you can use the law of large numbers to work with probabilities. Multiply the results of passing a 60% chance by 0.60, etcetera. But with the exception of the final Shadowy check (which _does_ use the law of large numbers for evaluation) the Bone Market doesn’t work like that, at least not consistently. You can have wildly divergent outcomes based on the result of a single check along the way, and you can’t average the checks together and get a useful result. And that’s without even considering computational complexity. I’m sure the solver could be better optimized by someone more familiar with the customization points of OR-Tools, but as it stands it is already quite demanding. This would massively exacerbate the issue.

Pull request closed

Sign in to join this conversation.
No description provided.