How Procedural Algorithms Produce Balanced Random Loot Systems in Games