Make quality modules affect the quality “skip” probability

Place to discuss the game balance, recipes, health, enemies mining etc.
secelt
Inserter
Inserter
Posts: 29
Joined: Sat Dec 03, 2022 3:00 am
Contact:

Make quality modules affect the quality “skip” probability

Post by secelt »

currently, when an item craft completes with a nonzero quality probability, the following process occurs:
  1. the game “rolls a die” with the final calculated quality effect probability. if the check fails, output the product in the same quality as the ingredients. if it succeeds, continue to step 2.
  2. upgrade the quality of the products by one level. if this is the maximum quality, output the products. otherwise, continue to step 3.
  3. now, “roll a die” with a flat 10 % chance to succeed. if it fails, output the products. if it succeeds, go to step 2.
you might have noticed that the probability that the quality is upgraded differs between the first upgrade within the craft and any subsequent, “additional” upgrades. the developers refer to this as the “quality skip” chance mechanic. personally, i find this to be an inelegant, unintuitive, “hacky” system.

why not just apply the quality effect at all steps of the quality skipping ladder? under this system, when a craft occurs with a 5 % quality effect, there’s a (100 % − 5 %) = 95 % chance that the quality is unchanged, a (5 %) × (100 % − 5 %) = 4.75 % chance of the quality being upgraded by exactly one level, a (5 %)² × (100 % − 5 %) = 0.2375 % chance of the quality being upgraded by exactly two levels, et cetera.

by comparison, the current system is a secret buff to low qualities and a secret nerf to high qualities­: a 5 % quality craft with common‐quality ingredients has a disproportionately high chance of rare‐quality outputs. at very high quality probabilities, it becomes much more effective to “spread out” quality increases over multiple crafting steps, unlike with lower quality probabilities.

this would be trivial to implement in the game’s code: simply multiply each quality prototype’s next_probability with the quality effect value at every step of the quality ladder, rather than only at the first. in contrast, this is nearly impossible to implement via the modding API, since it would require a Lua script to be run every time a craft affected by quality is completed. i’m not sure if such a mod is even possible right now!

please let me know if this has already been considered internally, and if so, why it was rejected in favor of the current system. thanks a million!
Post Reply

Return to “Balancing”