I use a weighted random system. The reasoning behind this is that I prefer not to rely on "pure" randomness, and there are two main reasons.
First is the illusion of randomness; people often don't perceive true randomness as genuinely random; they expect more varied and diverse outcomes.
Second, the Law of Truly Large Numbers comes into play. With many players, a few might experience consistently unfavorable outcomes, which can detract from their enjoyment. To address this, I adjust the randomness to ensure a more balanced and fun experience for everyone.
Each object is assigned a weight. When selecting an object, one is chosen randomly based on its weight—higher weights increase the chances of selection (e.g., an object with twice the weight of another has twice the likelihood of being picked). After an object is selected, its weight resets to its initial value while the weights of the other objects increase, making them more likely to be chosen in subsequent rounds.
If some objects reach their maximum weight, the system will prioritize selecting them and exclude objects that haven't yet reached the maximum weight.