a multiplayer game of parenting and civilization building
You are not logged in.
Pages: 1
In revisiting this today, five years later (wow!), I couldn't find anyone else discussing this method of controlling variance for game events, like for loot drops, and so on. I also didn't realize, at the time, that the result is a Pascal random variable---at least in terms of measuring "how many steps until" the event happens.
For loot drops, you might be interested in how many drops occur in a given number of total steps (like if a monster drops an item 1/100 times, and you kill 1000 monsters, you expect 10 items, but this is a Binomial distribution, so the variance is 9.9.
Thing is this method doesn't really work for loot. You will need to kill at least n monsters to get desired item, so you are trading off variance for grind.
When it works is durability, I think i saw exact same method used in some Minecraft mods.
Also something similar was used in Dwarf Fortress, i think, to determine dwarfs mood. Mood has a chance to change, let's say every second, and can either grow or drop depending on recent events. Somewhat of a similar manner random walk.
Weighted loot tables provide much more flexibility and are the perfect tool for the task. Bad luck protection (gradually increasing chances for better rarity), Dynamic drop rates (to give archers more arrows, or to player with 'bad carma' evil themed items), Item duplication prevention (just zero out recent drops) and many more ways to manipulate probability.
but it's not clear to me how to calculate the resulting variance.
n * ( 1-p ) / ( p^2 )
Are you looking for proof of this formula?
X is a Pascal random variable, it can be represented as a sequence of independent Bernoulli experiments B with probability of success p repeated until n-th success.
Let X_i is to be number of times B has to be performed for i-th success after having i-1 successes.
X_i are all independent. X_i is a geometric random variable with probability of success p, we know Var(X_i) = (1-p) / (p^2) (It takes quite a bit to proof rigorously, will leave it for the reader)
Var(X) = Var(\sum X_i) = \sum Var(X_i) = n * (1-p) / (p^2)
Yes, it was interesting to plan for the apocalypse and think about it. Unfortunately, I was sleeping when the anti-apocalypse people stormed in. I'd love to see it myself, adrenaline pumping as you first spot one on the edge of the screen, followed by more and more.
I have mixed feelings about you recognizing only your efforts and submitting a github request about our exploit. It's easy to root for the winners, but we made a good effort.
I believe this was some prime experience, and i value stories this game can sometimes provide.
Speaking of in-game knowledge and "do their homework," knowledge about exploits is difficult to come by, and double fencing was the best way to obtain it.
Thank you to everyone who took part on both sides, gg wp.
Pages: 1