I don't consider using hardware RNG being an overkill for a game like Diablo 3. Millions of items are generated every minute, and the economy can be easily flooded, so chances need to be infinitesimal - but still measurable. Diablo's economy is built upon probability. If math doesn't do what it's supposed to do because of a badly implemented (P)RNG, the game won't work as developers planned either.
I think you are referring to true randomness as source for a PRNG - well, that is not relevant if the bug is somewhere in the PRNG.
I don't think the economy is sensitive to issues of the RNG, unless it completely changes drop rates for items. If there is a bugged double drop every 100 legendary drops, we might get 1% more legendary items. So what.
@Bagstone: Doubled drops/crafts appear to be too common to be explained with pure randomness. I know one player who got two pairs of identical craft items from the blacksmith, and saw many more reports of such pairs from others. 6 random affixes, exactly identical stats - while it might be possible to see that at some players in the whole Battle.Net, you would not expect that any player sees that twice.
A nice example of bad random numbers are the superchest patterns in diablo 2. They are well-studied, and it is confirmed that they use a very small set of different seeds (2^16) to generate their drops.
Don't get me wrong - most posts "RNG is bugged!!!!" just show that the RNG (usually) works as intended - if there would be no such posts, we would have to worry. But the RNG algorithms used for D3 are not perfect, and you can see this.
There is no real true RNG, because computers are always deterministic.
There is hardware to generate true random numbers from atmospheric noise or even from quantum mechanics, but that would be overkill for a computer game.
If you want to contribute to a data collection: Wonderful!
A simple way to do this, with a focus on legendary items:
- before a run, write down your kill counters (regular mobs and elite mobs). Write down your MF-value and the used MP-level. The chosen act can be interesting as control data, too.
- after a run after you left the ga,e, write down your kill counters again. It would be better to count the elite groups ingame, but the counter works, too.
- during the run, note the number of legendary items from regular mobs and the number of legendary items from elite mobs.
- for key wardens, act bosses and other special monsters (siegebreaker, ...), save the current MF-value there, NV-stacks, and the number of legendary items for each monster.
With ~30 legendary items in the data collection, it would be possible to estimate the legendary drop rate with an uncertainty of ~20%. With 100-200, the uncertainty goes down to ~10% and it is possible to compare drop rates for elite mobs and trashmobs.
Another interesting thing would be a calibration of the drop chances of regular mobs:
Keep track of the total kill counter before/after cleaning 1-2 areas, those areas itself, and the total number of items (everything a character/follower can equip, not potions and so on). If you want to do it even better, split that total number by color, and keep the same MF-value during the run.
It would be interesting to see which slot is used by plans (blacksmith+jeweler): If a plan drops, write down the complete drop (including crap items, potions, gems, whatever).
Edit: took me 9 games to gather 3 keys and the recipe. Hinting towards 50% drop chance, but statistics is poor.
Do you know how many games in which acts you needed? I started a data collection at indiablo - I do not expect differences between act 1-3, but maybe the plan has a different chance, and it would be easier to include the data with specific acts.
There´s supposedly a PTR patch coming tonight that should fix error 12...but I´ve uninstalled it a few days ago without playing at all. Now I´m not sure if I should bother downloading it again (it takes long and often stops). It would be nice if someone who previously couldn´t play due to that error confirms that he can (when it´s fixed).
Interesting, you have to create a new char to copy chars, which removes this new char. Oh well, Blizzard logic.
Edit: For key rate analysis:
MP 1 -> no key,
MP 2 -> no key, no key,
MP 3 -> no key,
Nice PTR initial info ztking and others, I´m just wondering what the point of farming act 3 will be? I mean even if act 1 and act 3 monsters are level 63, I´d presume that act 3 would have the stronger monsters...unless level 63 automatically equals all individual monsters within a certain type/group (fallen, skeleton etc.).
With MP 0, act1-monsters are weak, but with MP 1 they get a serious upgrade.
The first zombies as example:
MP 0: 25k HP, damage ~500-1000
MP 1: 95k HP, damage ~2000-2500
MP10: 2290k HP, damage ~6000-8000
The damage values refer to a specific char, so only relative values are important. As you can see, MP 1 adjusts the monsters to act3-standards.
I get error 12 too, so I cannot test it myself. It is not region-specific, some in europe can log in.
@Blackmancer: "the results are somewhat alarming"? Do they have something specific? If yes, can you show the data? We have the same myth at inDiablo (without specific numbers), but the data collection is a bit slow.
Edit: Considering elite numbers: Do we have a ratio champ/rare groups, and the average number of champs in a champ group?
Class-specific items will now drop more often
Items below iLevel 58 no longer drop in Inferno difficulty
While the first part is easy to check with the slot drop table, the second one give a completely different slot/ilvl table (I already collected 80 items in act 1 before, they are included in the slot table but I still have the ilvl distribution). However, I think this is a unique opportunity to test item type selection: If the item type distribution is modified, we have some ilvl grouping ongoing, and item selection afterwards. If it stays the same (apart from class-specific things), it is significant evidence for "item type before item level".
Affixes on items will now roll their level based on the level of the monster killed (rather than the item’s level)
That is really strange. It will push all players to farm in act 3.
How do you make this item type selection, if some groups do not have base items for all item types?
If there are two 1hAxes in the same group, they should be quite rare compared to other types.
If the base item gets selected directly, I do not know how we get the observed item type pattern. Blizzard could pre-compute weights for every item type based on the probability tree, but then multiple items in one category would modify the ratios.
Edit: I completed the level tables for weapons and all generic 1h swing weapons have 1 type more available in inferno compared to 2h. If I divide the number of dropped weapons by the available types, the numbers are very similar. I do not expect an exact match as the different ilvls have a different probability, but it could be a hint that generic swing weapons are chosen directly from the "generic swing weapon" group.
EDIT: HEY! Anyone else notice that the chance of jewelry, follower special, and class specific armor (which all has a max ilvl below 63) takes a dip in Act 3? I think this is strong evidence that ilvl is determined before item type, else we'd be seeing the same number of those items but their ilvl distribution would be different.
I am not so convinced that there is an effect at class specific armor and follower special - except from cloaks, it is all within +-1 standard deviation. Jewelry has ~2.7 standard deviations - might be consistent with follower specials, but the uncertainty there is too large to tell.
Which restrictions do we know?
1) pick specific item -> quality has the issue with special legendary base items
2) ilvl_flat first collides with Blizzard's statement.
3) item type first in the naive way begins to collide with the different jewelry fraction in act 3.
4a) quality -> item type in the naive way collides with the jewelry/mf-test
4b) quality -> item type with free choice is possible, but needs a special upgrade for jewelry afterwards
5) item type -> quality has problems with the lack of low-level legendaries in many ilvl regions. The lowest legendary wizard hat has ilvl 41, it cannot drop in normal difficulty. This can be solved similar to D2: drop a rare item instead.
With treasure classes (TC) similar to D2, I would like to add a new option similar to ilvl_group -> ...:
TC -> item type -> quality -> pick specific item
Explanation and analysis in spoiler.
An example for a TC could be "all 63 generic armor/weapon, all 62 class-specific armor, 62 jewelry". For generic items, I would identify TCs with tiers. There are 23 rings, so some TCs would get more than 1 ring. Some TCs would not contain some class-specific items if there are not 17 base types.
"Pick specific item" would be trivial in most cases, as there is just 1 item to pick. However, it can pick the legendary type (if rolled as quality).
- explains in a natural way that MF does not influence jewelry fraction
- if TCs contain different ilvls, it explains why blizzard did not give precise numbers for ilvl distributions
- can explain the observed pattern of item type fractions, if most inferno-relevant TCs contain most item types.
- can explain structures in ilvl data (within the relevant TC, more item types give ilvl 53 than 52 for example)
- each monster level needs a lookup table for TC probabilities, together with a global item type selection
- what happens if a legendary of [whatever item type] is chosen, but the TC does not contain one? --> possible solution: drop a rare instead.
- if that "fallback rare" is used, the model would predict a larger rate of legendary items in act 3, as the best TC (with all those shiny 63 legendary items) drops more frequently there
- without some systematic way, it has many degrees of freedom in the assignment of base items to TCs. The model can be tuned to many different results of the act/item type data.
Hmm... same tests with item type -> quality -> pick specific item from available ilvl range with probability based on mlvl/ilvl
- explains in a natural way that MF does not influence jewelry fraction
- it explains why blizzard did not give precise numbers for ilvl distributions
- observed pattern item type fractions is natural
- can give structures in ilvl data if adjacent ilvls below 60 have similar probability
- tables required to adjust ilvl drop chances
- cannot explain different jewelry fraction in different acts
- what happens if a legendary of [whatever item type] is chosen, but the allowed ilvl range does not contain one? --> possible solution: drop a rare instead.
I like the latter model. Apart from Inferno, tables could be quite simple:
"from all available base items of this type, give them the following weight:
ilvl=mlvl-10: 1 (or whatever else)"
Inferno would get additional weights for ilvl=mlvl+1 and +2.
ilvls with more base items can be chosen in more item types, so they will appear more often.
This could be tested with data from other difficulties. Together with more data concerning the jewelry+mightybelt fraction (as function of MF and mlvl).
Quality --> ilvl_group --> Item Slot --> pick specific item is still in, I think.