View Single Post
Old March 12, 2018, 21:47   #2
Derakon's Avatar
Join Date: Dec 2009
Posts: 8,965
Derakon is on a distinguished road
This is saying "at depth 20, this item has rarity 8, at 30 it has rarity 4, at 40 it has rarity 1". When the game chooses to allocate an item, it sums up rarities of all items in the game, scaled by how out-of-depth they would be, then picks one. For example, say the game only had two items: the Mushroom of Restoring, and a Dagger that had a flat rarity of 1 at every depth. At depth 20, then, the game would say "the mushroom is 8 times more likely to drop than the dagger", and generates an allocation range with 9 buckets in it. The first 8, covering values from 0 to .88888... (i.e. 8/9) go to the mushroom, the last 1 goes to the dagger. The game generates a random number between 0 and 1, looks in the allocation range, and generates whichever item corresponds to where it landed.

At depth 30, it does the same thing, except this time the mushroom is only 4 times more common than the dagger, so the mushroom gets values from 0 to .8, and the dagger the rest. And at depth 40, the two split the range 50/50.

In other words, rarity of one item always depends on rarities of every other item in the game. You can only make an item more (or less) common by comparison with other items, and you can't state anything about what percentages of all items are a given item without looking at the percentages of everything else.

(NB I'm not 100% certain that higher numbers are more common; it might be the reverse, in which case you'd need to invert the example so the mushroom is 1/8th as common as the dagger, then 1/4th, then 1:1, at the respective depths).
Derakon is offline   Reply With Quote