Replies: 4 comments 8 replies
-
Ping: @eltank, @kevingranade? EDIT: You may wish to change the title to "Failure rate clustering at high completion percentages", BTW. |
Beta Was this translation helpful? Give feedback.
-
I don't have much to add other than yes, I have observed this as well. In the current state of the game when grinding proficiencies it is usually more efficient (in terms of material and time) to give up on failure, throw away the in-progress craft and start again from scratch. I'm willing to volunteer my time to implement a better crafting failure mechanism in the C++ code but I don't feel qualified to design (or review a proposed design) on my own because I don't fully understand the intended behavior or the game balance requirements. I'm hoping that can be done by the core devs or with their guidance. |
Beta Was this translation helpful? Give feedback.
-
I love the graph work. Since so many smart people are here. > 4skill dice with 16+int sides vs 4difficulty dice with 24 sides So many have worked on so much in the last ~3 years I feel like a jerk offering stuff you didn't ask for, still I'm going to. Why not an old-fashioned lookup table roll, AD&D style? Then instead of constant variables value-checked in how much you % work you lose, it's a table value that's pulled from threshold ranges? Then say you percentile RNG every so often, we'll say 10 times per item, every 10% for this example - that's why the the standard lookup table method is "better" (well), and you can just pass threshold modifiers as you will, each time, not hard-coded... Anyway, the fictitious 'making' call, weighted by proficiencies mastery and overall stats:
There would be no clustering possibilities as the weighting values for success or failure would just shift the threshold points more likely <> less likely. Hey why not actual injury, even chance of death? If you are doing something stupid and dangerous that's ## levels above your skill(s) (maybe additive/cumulative?) and it's a weapon, explosive, fuel-related, etc? Welding on a gas tank with fuel in it? OK but if you roll a 00 and fumble out of a percentile roll, and a 2nd fumble for punishment calc? Well dummy, you ignite the fuel, your vehicle, yourself, likely lose the vehicle if you don't have an extinguisher handy, maybe a section of woods or a building/block if you're against flammable stuff, xx% of items stored in the trunk or cargo storage, or all of it, and if it burns a nearby NPC they'll open fire on you as though you attacked them. Fun! "it's a thought" Anaglyphic says, quite frequently. |
Beta Was this translation helpful? Give feedback.
-
Crafting failure chances have been overhauled since #63886 |
Beta Was this translation helpful? Give feedback.
-
Not sure if this belongs here, but I thought when in doubt best put it here. I did not want to open a PR before hearing some input from others how to best handle this issue as the possible approaches are very different depending on what was intended in the first place. This also interferes with how astronomically large some failure probabilities are after #48673, and changes to the success formula may necessitate changes to the solution here.
One thing I noticed during the discussion on failure rates in came with the updated failure rates in #48673 was that crafting failures clusters at high completion percentages due to how failure points are set. For illustration, this is the progress a debug character made crafting a leather funnel with 8 intelligence, 6 tailoring, 1 survival, missing principles of leatherworking proficiency:
On the level of code, the game works by setting a failure point (roughly normally distributed) on the progress counter. Once that point is reached, it rolls from the same probability distribution for the remaining progress. That means, failures are not equally distributed, starting at 0% has the same probability to success without failure as starting at 99% after a crafting failure. The failure probability per progress percentage is not constant but dependent on the last failure point, which is extremely unintuitive.
From the perspective of the player, this is frustrating as it feels possible to complete the craft when starting out, but suddenly we fail every few percentage point while feeling close to the goal. This also means that to practice proficiencies, it is optimal to start a new crafting object after a failure to maximize crafting time while controlling for ressource destruction. It also seems unrealistic that we fail more towards the end for most crafts. Usually whenever I try to build something, I mess up catastrophically in the middle and not when putting on the finishing touches.
The simplest solution would be to no longer scale the next failure point with the percentage left until completion. This ensures that the failure probability is the same regardless of when we last failed. This would have the side effect of boosting success probabilities massively for low-probability crafts compared to how they are now.
A cleaner solution would be to roll failure points or number of failures up front, but to do this I would need to know how the probabilities were supposed to be in the first place, or if #48673 is indeed correct.
Thankful for any input. I considered just removing the scaling which is a one-line fix, but I do not want to break anything without a second opinion after the effects from 48673 were so massive.
Beta Was this translation helpful? Give feedback.
All reactions