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> <Enemy/> <Class>Character</Class> <Texture><File>lofiChar8x8</File><Index>0xcd</Index></Texture> <HitSound>monster/chicken_hit</HitSound> <DeathSound>monster/chicken_death</DeathSound> <Size>100</Size> <MaxHitPoints>100</MaxHitPoints> <Defense>0</Defense> <XpMult>0.0</XpMult> <Projectile id="1"> <ObjectId>Yellow Star</ObjectId> <Speed>80</Speed> <Damage>50</Damage> <LifetimeMS>2000</LifetimeMS> </Projectile> <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> </Object>
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.