Mage Theorycraft

MageTheorycraft takes on the challenging task of simulating the casting mechanics of the mage class in World of Warcraft.

Unlike spreadsheets and other similar tools which provide a best estimate, MTC will accurately simulate everything from crits, to trinket procs, to talents, EXACTLY as they are calculated within World of Warcraft. An intelligent AI takes the reins for each simulation, to use trinkets, consumables and cooldowns at appropriate times based on the current state of the simulation at that particular point in time. Simulations can be run thousands of times over in a matter of seconds or less, to provide an average timeline view. Hundreds of input parameters to the simulation may be changed at will through a convenient configuration interface.

Download

magetheorycraft-bin-20080416.zip [ 66.4KB ]

Extract the zip file to a chosen installation directory. Run MageTheorycraft.exe.

Resources

  • SourceForge - Latest binary releases and source code.
  • Wiki - Documentation for developers and users.

Discussion

Please note that development on Mage Theorycraft has stopped for the most part - I no longer regularly play World of Warcraft so my motivation to create a tool for my own use has all but dried up. In addition, there are other tools which do similar things to MageTheorycraft very elegantly, such as Vontre’s Mage tools, and Rawr.Mage. Of course these all do things a little differently.

For example Rawr.Mage uses linear programming to obtain DPS values (which is very fast - but ultimately only as accurate as the programmer who writes the equations, and will not take into account situational information such as a rolling crit in the same way a simulation will). However Rawr excels at gear selection, and shows results in an overwhelmingly useful fashion - improvements which a particular item will offer. This has proved to be of high value particularly to users of a non-theorycraft background. A wide range of spell rotations and fight parameters are also on offer.

The thing which sets Mage Theorycraft apart is that in effect each simulation is a real player simply playing out a situation in fast forward. By mimicking internal WoW mechanics as closely as possible, and giving the reins to a “good” AI player, a realistic value can be obtained for what a “real world” player would achieve in terms of DPS under the given fight characteristics. Note that this is not necessarily the same as the “best possible” DPS which could be achieved - it is debatable which is the more useful statistic, as a real player will not always have enough information at hand to make truly optimal decisions, due to the random nature of WoW.

The drawback to this approach is that results between simulations can be different - vastly different in some cases. Again, this is purely the nature of WoW - a lucky run on crits, clearcast procs, etc, can result in very different values coming out the business end of the simulation. In order to overcome this problem, the simulations are run several hundreds or thousands of times to obtain average values. This process can be a little time consuming - taking up to 5 seconds for 1000 iterations of a typical fight. Obviously this delay can reduce the range of applicable uses for Mage Theorycraft (for example this would not be ideal in any way for Rawr, which may require dozens of DPS values to be calculated in quick succession). However I still believe that there is use for simulations such as Mage Theorycraft, if for nothing else than a technical curiosity. Note that the simulation part of MTC is contained in its own library, so you can easily interface MTC with your own applications, and I would encourage you to do so!


Copyright © Tom Mitchell 2008-2009. Proudly powered by WordPress.