Professional Destiny 2 Services
Get everything you need to start enjoying the game (PvE and PvP)
⚪️ Get Support in Facebook Messenger: winwinsupport
⚪️ Quick and Friendly Support via Discord: winwinsupport
✳️ Current status: UNDETECTED - Hacks is safe to use
✅ Last Updated: Today | Supported CPU: Intel & AMD
Perk Weight Gating Issue
Speaker: Andrew Friedin
Role: Technical owner for the engineering team managing the Destiny 2 reward system.
Focus: Investigation into perk weighting issue.
Background
Timing: Community escalated the issue serendipitously as team was validating stat distributions using a new script.
Script Use: Validated weapon perks, simulating thousands of drops per minute.
Findings: Community data matched the team's data; some perk combinations were imbalanced.
Concept of Randomness
True Random: Cannot predict outcomes, e.g., lightning strikes.
Pseudo Random Number Generators (PRNG): Use seed numbers for randomness; repeatable and predictable.
Advantage: Ensures same sequence with the same seed (useful in games).
Disadvantage: Patterns can appear, affecting randomness.
Problem in Destiny 2
System: Socket and plug system controls weapon perks, mods, etc.
Issue: Sequential seeds for random number generation caused predictable patterns.
Hash Function: Sequential seeds produced patterns in perk distribution.
Investigation & Discovery
Community Role: Provided substantial data that highlighted the issue.
Scope: Affected all weapons, especially those with six perks per column.
Mitigating Factors: Craftable weapons were less affected.
Solution
Fix: Salting the data using large prime numbers to distribute inputs.
Result: Better randomized perk distributions, closer to true randomness.
Conclusion
Update: Fix implemented in update 8.1.0.4.
Future Measures: Audits planned to prevent reoccurrence.
Community Impact: Community data collection vital in identifying the issue.
Reflection
Crafting vs RNG: Highlights importance of crafting as a reliable method.
Ongoing Vigilance: Encourages community monitoring of game mechanics.
Broader Implications: Raises questions about randomness in other games.
🔥 LIMITED TIME DEAL - UP TO 67% OFF ⚡
-
One Week Access
30$ +THREE EXTRA DAYS AS A GIFT
-
One Month Access
50$
-
💎 Lifetime Access 💎
150$
Insights on Destiny 2 Perk Weighting Problem
Dev Insight the perk weight gating issue hi everyone I'm Andrew friedin the technical owner for the engineering team that among other things owns the Desy Tu reward system I ended up leading the programming work around the perk waiting issue investigation when be walking you through some of what happened on our end the time of our community team escalating this issue to us was actually quite serendipitous Serendip serendipitous s God damn it Andrew serendipitous I know that word I mean I've seen it a number of times I no I nobody help me nobody help me serendipitous I I knew it I knew it the timing for of our community team Escala in this issue to us was actually quite serendipitous when this first popped up on my team's radar Vincent Davies one of the engineers on my team was just wrapping up work on a script to help us validate the stat distributions on next gen armor for Frontiers with a few monor tweaks we were able to use this script to also help us validate weapon perks simulating thousands of drops per minute and logging the data for us to chew through using this tool we were also able to quickly verify the community's findings our fighing while the probability of any single perk was even the probability of pairs of perks was anything but here are the results of of dropping almost 100,000 vs chill Inhibitors as the community had discovered some perk combinations are more common some are less common and some are almost impossible to get wow so their data literally came back exactly like our data yall remember the split on that in the middle section was like the more common one and then on the outer edges you would have you see where is the red this diagonal portion right here that's the red that would be like the impossible drops that's good though that means that y'all's data match their data to understand what is happening here we'll first need to take a deep dive into some math and computer science to Define what random means to us all right so the point of this article that we're going to be reading here today guys is Bungie is literally trying to say like or give us an inside look into what happened with weight Gates weight gate although something that was pedal by the community or some the Community has being an intentional way to extend the grind and to to to screws over out of God roll wasn't necessarily the case blue is less common not red oh wow that's right hold on hold on here here are the outer edges okay so their data their data is a little different so this is their big diagonal line and then this diagonal line and then the common ones common ones I don't know maybe their layout's a little different here so if you were trying to get a rhyme Stiller one for all roll 226 if you were trying to get a bane switch envious assassin rooll out of 100,000 chill Inhibitors 229 chill clip attrition Cascade chain reaction suround and Di you want that yeah explosive danger zone honestly whoever got a envious assassin B switch rooll when weight gate was an issue do go buy a lottery ticket like seriously I the stars have aligned maybe it already aligned too much for you and it's your already out all right now what is random true random events are things that we can often assign probabilities for but can't predict this include things like a coin flip or a die roll as well as broader physical phenomenon like where lightning will strike or when a radioactive atom will Decay for all of these we can make General predictions about How likely something will be but we can't forecast exactly what will happen we're also unable to make a given result repeat when we wanted to computers can't do true random on their own and when true random is required people have turned to things like atmospheric noise that is static on the radio or TV recordings of the cosmic background radiation or even walls of lava lamps however most things do not need truly random numbers so for games we generally don't want true random since we can't control it many years ago some smart people came up with the idea of a pseudo random number generator prng the general idea behind a prng is that given a c number often the current system time we can run a series of mathematical operations to end up with a fairly random number you can then use that new number as the seed for your next random number ultimately giving you a sequence of numbers That Is Random enough one big advantage of prngs over true random for games is that they are repeatable when using a given starting seat you're guaranteed to always get the same sequence of numbers which means that if you have the same starting seed and the same inputs then the game will turn out the same way games use this for many different uses from Saved films to Fair tournaments and many more one big disadvantage for prngs as called out in the name is that they are pseudo random there can be patterns that that appear in the output of prng and the depending on how you use them you may end up amplifying those patterns instead of getting something that appears random to visualize various algorithms I will be using example data generated with the help from Joe vinsen our engineering director we'll start with the base use case of a prng using one as the first seed and then using the last result as a seed for the next value this results in a nice cloud of points with no clearly identifiable patterns similar to the static on an old TV screen this is exactly what we want as it means that our random number numb are fairly evenly distributed across the possibility space and that there shouldn't be any clear patterns when looking at a sequence of numbers okay unfortunately on Destiny we can't always feed the previous result back into the next seed we have many places where we require stable predictable seeds when generating new random numbers this new seed selection was ultimately what was causing our problems so the bug in Des 2 we created a new system for items called the socket and plug system this system handles a large percentage what players see us gear including weapon perks mods shaders Master work and even armor stats randomized items were added and Forsaken and the main way they work is through the socket and plug system Ines 2 a weapon will have sockets for its barrels magazine and other perks when we drop that weapon we will select plugs to insert into those sockets from the list of legal plugs and those plugs each represent the perks you're familiar with you can thank the flexibility of the system for all the Mayhem of the crafting LAX SE oh wow okay all right so plugs actually cause that issue who would have thought players can have different socker enabled on the same item depending on what they have done or how they got it as seen in the original implementation of artifice armor this means that when initializing a new drop we can't assume that we will always initialize sockets in the same order to make sure that vendors offer the same perks to all players even if some players have more sockets we use a different seed for every socket being initialized unfortunately this extra work to add stability ended up causing our bug to select a stable seed for each socket on an item we end up combining a number of different pieces of information together using a hash function a mathematical way of taking some large chunk of data and turning it into a single number while this new hash number was guaranteed to be stable as we originally intended because the socket index was the last piece being added to the hash we often end up in a case where the hashes were sequential and these sequential seeg seeds are ultimately what cause the bad behavior going back to our tables let's start by looking at hashes of sequential numbers while the hashes themselves are not squential we can see some fairly clear patterns in how the numbers coming out this means that when we look at hashes of squinter numbers we are likely to be able to find patterns and output hashes while this isn't on its own a bad thing it does mean that there are some interesting patterns in the data we are feeding into the prng you can see the gaps here guys look at the gaps look at the spaces look at this look at look at this look at this it's pyramids look at that the witness lives budy I know what you're really trying to say you're trying to teach us you're trying to teach us some stuff yeah yeah right if we didn't drop those numbers into the random number generator we could see that those patterns in the input data have corrupted our outputs resulting in some patterning in the data these patterns are specifically what resulted in some perk pairs being easy to get While others were almost impossible to find early sandbox investigations the ultimate question why didn't you investigate RNG earlier it's a great question each time we see player feedback about difficulties in obtaining specific roles our sandbox team has taken a look at weapon data first weapon perks have never had an intentional waiting and in the absence of strong evidence that something more was going on we left it at that AKA we just said get good random number generation is so lowlevel and foundational of the game to all games really that in the absence of clear or abundant evidence that something's off it doesn't always make sense to task an engineer with investigation surely if something like this have been a frequent and obvious issue we have noticed long ago right like all game development it's a question of priorities and trade-offs many and Engineering QA are focused on building the future of Destiny shifting their priorities to focus on something that potentially isn't an issue comes at a cost and a potential risk for those features and content in this case the community organizing around a data Gathering effort was what made a strong case that there was an issue to be found and we need to start a deeper investigation into the RNG code yeah no lie guys y'all figure that out I mean straight up y'all's data collection is what brought this could have been an ongoing issue we could have played the ne we could have played Destiny for the next decade and had no one actually gathered thata on this we would have all been getting f for years to come from investigation we found that the issue had been in the game for some time was only recently received substantial Community Focus and traction players began focusing primarily on the multimach CCX submachine gun from Iron banner and the chill inhibitor heavy grenade launcher from Vesper host dungeon even though the bug impacted all weapons it can sometimes lead to desirable perks being easier to earn and thus went unnoticed for some time several overlapping issues are responsible for this the issue is most egregious on weapons with six perks per column oh interesting some other similarly desirable weapons over the years have more fewer perks than this masking the impact of the issue to a degree okay so you don't see the gaps the clearly Define gaps as much when it's six perks per column the bug is heavily mitigated by perk columns with multiple choices adep weapons and playlist weapons have access to multiple perks per column most ingame weapon sources such as raids trials Nightfall strikes and have adep weapons players can earn more perks per column on bangard Crucible and gaming weapons via reputation resets the bug is largely irrelevant on craftable weapons which have applied to raids and most non- ingame weapon sources since the introduction of crafting in the witch coin so dud this has been something going on for a long time ultimately our community was able to compile enough evidence over time to prove that even with the appropriate content setup of equally weighted perks there was a deeper issue to solve okay hold on let me let me let me wrap my head around this how long has this been going on though for real are we talking like the past year to two years are we talking like since the beginning of Destiny like since the beginning of the life of the game since forsaken that's a long ass time that's a long ass time now the the fix Ben Thompson one of our more tenure Engineers uh recognized this issue almost immediately for anyone who was around when the original Whisper of the war Mission launch you may remember having issues getting the taken blight public event to actually appear Kabal again it turns out the underlying problem here is similar where we were using sequential inputs to feed the seed for the random number generator the fix in that case and here as well was to multiply our hash inputs by large prime numbers to better distribute them also known as salting the data while the there will still be a regular step between sequential inputs the actual value is now significantly different between two sequential inputs and thus we are avoiding some of the pattering issues when we hash these salted inputs we ended up with a much better distributed series of hash values look at that look at that this is what you want this is what you want you still got some gaps right we still got some gaps not perfect but it's better and when we once Feed The Salted hases to random number generator once again end up with a nice Point cloud with no clearly discernable pattern oh this seems even wait I don't know what's the difference here yeah it's starting to look more like the static one yeah so yeah okay yeah it's trying to get it as close to random as possible yeah see the headlines right there sequential salt hash salt hash random now going back to our original test with chill inhibitor what do our perk roles look like with this fix all the perk pairs show up relatively even with some minor variations around the averages as would be expected from sampling or random random events the probability of getting any specific spefic perk pair should now be close to tr ranom as originally intended damn yeah that's a lot better that's a hell of a lot better God that's crazy dude that we've been living in this world we've been living in this system for this long the fix for perk selections went live in update 8.1.0 point4 and we plan to do audits over multiple areas of the code base soon to watch for any similar issues all in all these learnings will Empower us to prevent this from happening again where at the very least will help us do better spot checking from time to time to ensure the bug doesn't resurface I would like to thank the community for their impressive data gu which helped us identify this rather Insidious issue lurking in what is now fairly old and proven code all right look at that look at this last Insidious issue lurking in what is now fairly old impr proving code is he telling us it's spaghetti is he that is that code for this is spaghetti code look honestly this is a great article man really really I mean we were all curious about it uh I will say this you know on the topic of like crafting versus RNG drops a situation like this just completely eliminates any argument for us ever going back to RNG drops hopefully with this system we do approach as close as we can to what true random is right I love this right here the whole salting the data thing you know that that's that's amazing that's amazing and then and then trying to get it trying to get it as close to what static is and and then this is what you get out of the 6x6 rolls for weapons which is where it was most egregious curious to know like if this would if this would resurface in any way for like say for instance the the rual weapons it says that wasn't the issue wasn't as easily detectable but you know they have a lot more traits right so I think going forward we as a community just needs to continue just to monitor things collect data ourselves and yeah we feel like something's off for the first time ever we we don't just look at our fellow Destiny player and say hey you didn't get the god roll just get good man just grind harder just be better instead there there actually may be something to what they're saying maybe we should hear them out and cuz at at one point here 219 people what is this oh no no 229 people actually had the god roll here for chilling H out of 100,000 that's ridiculous that is a that is terrible but it took something like this on a desirable weapon for us to discover well the good thing is like honestly crafting has been such a blessing then for the past couple of years and this is just how bad RNG could be I'm glad we had crafting to to counter this issue and that hopefully if we do continue moving more in the direction of RNG this system continues to be monitored and refine but crafting like quite literally you know saved us there at least for a little bit what if crafting was created because this issue was known as about no no no no crafting was created I mean that was something that was talked about for so long dude the the Desy Community we didn't know exactly how we wanted it to be but people had been talking about weapon craftings you know since the day of weapon rolling back in Destiny 1 I'm still not convinced it took me 25 ingrams to get a chill clip rocket sidearm yesterday yeah man that was trust me it took me it took me quite a bit as well yeah and I still don't have the god R why must everything be a conspiracy not just a mistake I wouldn't even say it's a mistake it's just it almost say a philosophical question here what what is random you know what is random just in real life you know I'm reading this article I'm like wow I don't know is a mistake cross that's the engineer's job to write good code who was the engineer that wrote this you know what I'm coming from again hold on this last line right here thank you for your help Community for helping us identify this rather Insidious issue lurking in what is now fairly old and proven code who's to say these Engineers right now working on this if any of them are the original that that did I mean think about way back I mean cuz you got tiger tiger engine got overhauled from reach to Destiny you know what I mean problem is that Bungie didn't listen to their player community to they rided data they couldn't deny well I mean that was like only a week you know what I'm coming from I would say within a week data was already out here this is the destiny Community dude they had they had they had every you know what I mean like within a week of farming for those grenade launchers data was everybody was collecting data but data helps yeah Li G has this data for a long time right well Li G just no one knows no no one noticed it no one you know what I mean someone someone somewhere was like wait a minute do traits are they likelier to drop in relation to where they are on their on their trait layout wait is this is this you know again common sense in retrospect everything's like yeah well no it's like yeah it's on a it's on a die no it rolls around yeah it's trait in in relation to it the trait next to it or close to it has a likelier chance of dropping again in retrospect but unless you're like looking for the bug I I didn't discover that you know what I mean I I didn't come to that conclusion I just assumed everything is random and that people that are not getting the god roll aren't grinding enough can I can I just I mean is anyone just like are y'all I'm just happy this just SOL more than anything and like I also feel like this is like this is going to make me question just about every game now like every game that has loot drops I'm I'm like like now that we've run into this issue now that this has been opened up to us Andrew here has talked to us about you know what true Ram is now I'm like thinking about every looter that I've ever played and I'm wondering what is your what is true random for you honestly it's crazy I one of this problems Sims from the fact that Destiny 2 vanilla had static roles in the beginning and only later we got random rols why I mean I I would think this is actually an issue in Destiny 1 like look as brutal as RNG may be to us inside of D2 dud I farmed day and night for Isela and that would not drop with the god roll I could never get it I can never get it I RNG and Destiny W and that could not necessarily be a rooll issue or just like a a purely volume issue we just weren't getting enough drops in in Destiny 1 that could be it so there there wasn't even enough times to even roll the dice right I'm just glad they called it what it was pseudo RNG isn't rolling a dice picking a starting point and a giant list of numbers I'm reading from there all games work that way I was just reading that comment maybe I don't know I I'm not familiar enough to know with what the loot systems are in other games and again I'm I'm curious just what true random means in other LS slap that like button like your mama told you right
Destiny, Destiny 2, Destiny bungie, Bungie, Destiny Aztecross, Aztecross, revenant, destiny 2 revenant, episode revenant, revenant act 2, destiny 2 episode revenant, destiny 2 revenant act 2, weight gate, destiny 2 weight gate, weight gate explained, destiny 2 weight gate explained, destiny 2 perk weighting issue, bungie perk weighting issue, aztecross weight gate, aztecross perk weighting issue, vs chill inhibitor, multimach ccx, vs chill inhibitor god roll