'Overdamage is a myth'


#58

I’m gonna level with you. One of the very first things I did when I joined Deca and received full access to backend code was looking at the loot system. As a long time player, I had to know if any of my random skepticism was true.

I realize my word doesn’t have any more weight than Kidd’s if that apparently can’t be trusted, but the plain truth is that the loot system is… well, plain. It’s got the basic parameters defined in the XML like probability, threshold, mins and maxes (which tend to skew data like this since there’s no way to determine if the item you got was from a guaranteed roll or a post-guarantee roll, especially with potions), and that’s just about it. No secret mechanisms or modifiers.

Hell, the fundamentals of the loot system haven’t budged since pretty much the inception of non-public drops, so even the majority of pservers based on 2012 code should be using exactly what’s used today in the real game. Any sort of trickery would have long been exposed if any past owners of the game had tried to conceal some facet of it.


#59

This is now from the mouth of two witnesses, and these were players like us once upon a time. And in my opinion, considering they took the time to even bother enlightening us shows that they at least harbor some minimal care for us, right?


#60

Time to complete the deca designer trinity!

I’ve also checked for overdamage, and I can also say with complete confidence:

Overdamage is definitely nonsense. The entire loot computation checks the damage you have dealt to the dropper once: To see if you have met the threshold value.

Apart from that, the value is not used.

min and max constraints on loot do not break the system either: The list of qualified-by-threshold players is shuffled before any handing out is done.

So unless anyone wants to take a chance and hit up the creator of C++ and convince him the random function is broken, I think there’s not much more to be gained from this thread.


#61

Just on that last note, C++ random function is not totally random, it’s pseudo-random at best and has does have issues. So that might not be the best argument. Lol it could actually be the problem :joy_cat:


#62

This whole thing reminds me of the invisible bullets / ghost enemies that lasted a month or so during kabam, and then the cursed ammy, and the pet nerf… All of which were adamantly denied by the devs at the time.

Again I’m also not convinced it exists, but I don’t see why it couldn’t, again even with or without the current developer’s knowledge. I do think the data here is pretty convincing as well, if true and accurate, but I agree more data would be needed for more support of the theory, well as is obvious from the reaction this has gotten from the rest of the community.


#63

Just to follow up on this, I wrote it humorously but I really wasn’t joking, if you write a program using c++ random number generator to generate 10 numbers, close the program and rerun it, you’ll get the same 10 numbers. Just a thought that it could actually be linked to this…

Edit: Another thing, is c++ rando fn actually used for drops in this game?


#64

Of course it is, most random functions have some suckiness to it if you start making a boatload of calls to it and noting te pattern

I dont think it’ll be too noticable for the loot system, though


#65

It’s a bit unsettling honestly. I think it definitely could be very influential on the looting. I suppose stat testing on simulator has been done there, and if not this might be worth exploring more.

Another question, I suppose Rotmg was not originally coded in C++ during Wild Shadow development. Assuming that’s true, did the whole game (or large part of it) get ported over to C++ during Kabam era? Just thinking cause Kabam basically broke the game when they took over, and ever since they just released build after build trying to fix their bugs.


#66

My best guess about the loot system is that, when an enemy dies, it iterates over all the players who hit the soulbound damage threshold for a particular drop and rolls on whether to grant it to them. This is purely random, or as close as you can get in C++, but there are some particulars that might change that.

  • What happens when there’s a maximum number of drops (as with vial of pure darkness)? Is the same iterator used as for everything else, which is then stopped if the max is reached?
  • What about minimum drops (guaranteed pots, vial again)? You mentioned guaranteed and post-guarantee rolls, so I assume the drop is first assigned to n random players, and then the others are iterated over?
  • What’s the order in which players are iterated over, if it’s not randomized? Name, class, account ID, order of hitting soulbound? I totally missed Uni’s comment –

No need to divulge anything that would compromise the Inner Workings too much, but I’m curious how close to the mark I am.

Realm was written in C++ from the beginning:

Tell us about the technical DNA that make up Realm of the Mad God. What did you create from scratch and what was “store bought”?

Alex: The client and server were pretty much written from the ground up in Actionscript and C++, respectively. We use Amazon EC2 to run our servers and Google App Engine as our backend storage. If you were to map the technical DNA of RotMG, it would probably lead back to Google.


#67

To me, the best argument against this (as well as all the other myths, like character/account IDs or keeping particular weapons in particular slots) is and has always been WHY would that even be the case?

The problems are immediately apparent, thus it would be necessary to keep it secret, thus we can’t trust anyone “on the inside” to tell the truth. But why would ANYONE do that, when the easier and less risky solution is to just not do that? C++ (Well, pretty much all languages) have had solutions for sufficient randomness a single StackOverflow search away for decades. And I seriously doubt that every single person who has ever had the opportunity to poke around the code would all have the same attitude in regards to this sort of thing. Every single one saw that, for example, one’s Account ID was used as the randomness seed, and every single one said “Yup, this is fine, no problems here, let’s just leave it like that, we definitely shouldn’t change this?”

Overdamage is similar, in that having it wouldn’t really accomplish anything. Even coming at it from a position of “The developers are just actually evil” doesn’t make it sensible to implement, because there would be easier and less risky ways to be evil. The only thing it would do is make players hateful of each other for “stealing” “their” “deserved” loot, which could be argued fits into a motive of selling more keys to solo/small groups, but again there would be easier ways to do that, if that were the case it would be in their best interest for Overdamage to be publicly confirmed, and it would be at odds with other changes, such as the recent 100% rare dungeon drop change.


#68

You know, I’m just gonna say it, I flat out believe there is a drop bug. Not necessarily overdamage, but I have noticed if I do the same exact things before the event chest, I’m almost always guaranteed the same drop, a shard of oryx almost every single time. I’m 100% tonight.

When I have done different steps, I don’t get the shard drop.

If the developers have not done any statistical testing on drop rates using C++ random fn, I don’t believe that it’s coded to avoid some type of seed bug.

I’m convinced, although that seems to be an unpopular opinion :man_shrugging:


#69

The shard of the intern is meant to be guaranteed from the WC chest. So if you didn’t get it then it means your method didn’t get you soulbound.


#70

Oh really? Lmao then I’m back to just a skeptic, not 100% convinced like I was saying in the last comment…

Edit: are you sure shard is guaranteed? I do get music notes every time guaranteed, but not shards, and the dps shouldn’t be much different


#71

Funny enough, I quit for about 3 years, hopped into my first two dungeons since getting back, and got two white bags. Obviously, not at all a good indicator of any system being in place, since it was just two, but I thought I had to chime in


#72

I got shard in 70~ player groups 20+ times already every time.


#73

Yeah, but I can specifically get it 0% of the time too, while still getting music note drops. I get it 100% of the time if I leave my loot bag from the boss, and change staves just before shooting the chest.

Edit: yeah my bad on this one lol


#74

“HUH?”
(checks)
Oh there’s an event: Wine Cellar Chest Challenge and Music Note Quest [Jul 16th to 22nd]
Thanks for the prompt. :slight_smile:


#75

I think we need some more clear and complete data on this. What did the other players get? What tier were the items you got? What is the exact number on pbags? (you groups pbags and cyan bags together) What weapons did you use? There are just too many variables here that i want data on. Honestly i feel like a lot of times the loot is just completely random no matter what character i bring. I do think these initial statistics are quite interesting and we should initiate more research into this.


#76

Yeah but no, 3 admins already said it doesn’t exist so it would be pointless.


#77

@Unicorn what I’d say to that is basically, I think it’s really unlikely that the original submitter was able to control all the variables perfectly, and there is still a slight but present possibility that luck just made the result happen, but of course the number of people was almost certainly not constant. For n people the expected amount of mana is constant per person. However, he probably didn’t control that properly, and again, there is a chance that we just have this result as a statistical anomaly. As the DECA employee put it, RNG does do some strange things sometimes.