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.