XML? Public documentation? What the heck is all this?


We’re glad you’re curious! If you want a simple explanation about what all this XML stuff actually means for the game it would go something like this.

An XML file is a plain text file that contains some programming code. Every dungeon, enemy, item, and just about everything in the game is ultimately an XML file. The code in the XML file describes everything about those things: their name, how they act, what they do, all that stuff. Here’s a sample of what that looks like:

<Object type="0x000" id="Test Monster">
   <DisplayId>Oryx the Mad God</DisplayId>
   <Projectile id="1"> 
      <ObjectId>Yellow Star</ObjectId>
   <Behavior projectileId="1" range="7">Shoot</Behavior>
   <Behavior bucket="movement" range="6" speed="0.6">Follow</Behavior>
   <Behavior bucket="movement" speed="0.4">Wander</Behavior>

Deca has created an awesome resource on their website to share the actual XML used in RotMG with the community. Their documentation contains all kinds of information anyone can use to program a real in-game enemy!

As of right now we don’t have tools to test the code in-game or a sandbox playround type area. However, for those of us who like to tinker with the guts of the game this is still great stuff. If this resource proves beneficial to the community and useful to Deca, it’s very possible they may someday expand the documentation and even give us a testing area. Or maybe even some of us could write our own testing tools? The possibilities are out there, thanks to all this going public.


so whats this, deca is giving resources to players to create xmls? something for whensomeone submits a dungeon?


Yes, they released Documentation a while ago so that we could write XML for enemies in our ideas.


Awesome that this exists now! Looking forward to see what you guys can come up with, given time and better tools.

Just a quick heads up that a lot of the documentation is currently still outdated and missing a lot of stuff. After the Halloween patch I will hopefully have some time to document all the new features we’ve added and add a lot of the missing things.