[Suggestion] Reduce Variation in Quarry Output
unilock opened this issue · 8 comments
To avoid issues such as this, I believe the best route of action would be to decrease or nullify the initial drill consumption probability of a given drill in a Steam / Electric Quarry, then gradually increase it over time.
For example, a Bronze Drill could, at first, have a 0.5% chance of being consumed every tick, then a 1% chance after 5 ticks, then a 1.5% chance after another 5 ticks... and so on and so forth. The consumption probabilities and durations would be modified as you (the devs) see fit, of course.
Or perhaps add a config option to change the consumption probability of drill consumption, or even to disable drill consumption completely - though the latter would be very much against MI's status quo, I suppose.
While this is technically possible, it requires quite a bit of effort to implement, and making it work nicely with overclocking is annoying. I'd rather work on other things, honestly.
Computing the expectations is not very hard, and will show that the quarry produces a large amount of resources per drill on average. The variance is high, so crafting 8 by 8 or so drills is recommended. I guess we might eventually add a tooltip recommending that.
As for the probabilities, you can use datapacks to edit the recipes: https://github.com/AztechMC/Modern-Industrialization/tree/master/src/main/resources/data/modern_industrialization/recipes/quarry.
Though one idea maybe would be to reduce the cost of drills, but increase their consumption probability. I need to check if this will actually reduce the variance.
I figured it would be difficult to implement. I hadn't even considered overclocking. Thanks for the info!
Hello, as the author of the original issue I think that there might be some mismatch in the item description and the actual consumption rate as we only received around 64 random items after going through 4 drills. So automating drills would not solve the issue since you would probably end up with diminishing returns.
Maybe I and my friends' inexperience with the mod is at work here, but it didn't seem like this was a solution to our ore needs.
So that's why I suggested decreasing the consumption rate to 0.1 or at least looking if the consumption is increasing per tick, or what is happening. At least bring it down to 0.5. This is hurting the otherwise great mod pack in my opinion.
On average, the quarry is largely positive as far as materials go. However, the variance of the distribution (geometric distribution) is huge, which causes large fluctuations in the amounts that one can receive. In 1.19, we made some tweaks to the recipes that don't change the average number of resources obtained for the quarry, but make it a lot more consistent between multiple runs, which should avoid the impression of playing on a slot machine, if you see what I mean.
Yeah, I see what you mean, and I am grateful that you guys put so much consideration into this mod pack.
But unfortunately, this is where we quit the mod pack since we didn't feel like automation would help us much. We wanted to win back the ore we put into the quarry and after seeing all the drills disappear so quickly we didn't think we would ever get that back.
The main reason I voiced my issue was to let you know that not everyone out there playing the pack is a super user who will dive into massive complications just to earn a small amount of ore each cycle, on average, to hopefully get to a stable ore production. And many people disregard the math and will think the mod pack is just broken. So changing the behavior of the quarry in some way or at least leaving some information or guide to how you can set up a somewhat "stable" return on investment would be the ideal fix for this for me personally.
The changes should make the quarry output a lot more stable overall in 1.19 (that's what it means to reduce the variance = fluctuations around the average). Thanks a lot for the feedback, we're always happy to hear what can be improved, especially when it is brought up in a constructive way. :)