Clone this wiki locally
What is it?
Simulationcraft is a free and open-source simulation (see FormulationVsSimulation) of WoW combat mechanics: it can simulate a fight with one or many players fighting one or many targets and produce detailed informations. It is usable either from a graphical user interface or from a command-line client (typically through configuration files).
Since Simulationcraft is a simulation, it will never give you the same numbers (the rng matters!): they will always vary but should remain close to the exact values you can observe in game (precision can be controlled and increased at the expense of computations times). You may also face intensive computations times and memory needs in some circumstances. Finally, at its core it was a command-line tool based on configurations files and the GUI was added lately and, while efficient, it is still rudimentary and dry.
However, because Simulationcraft is a simulation, it also has advantages over traditional, formulation-based, tools, such as spreadsheets or Rawr. Developing a formulation is like solving a vast and complex problem while developing is a simulation is like solving many simple problems. And it does matter for you, the end-user, especially in a world where tools are developed by a few benevolent people. Which ones? See below.
Reliability: "easy" to develop, easy to verify. And we never have to do mathematical approximations or to ignore some interactions: all mechanics and interactions are spontaneously and genuinely reproduced. Bugs may arise of course but they tend to be quickly spotted and easily fixed. The most carefully formulation-based tools can still reach the same accuracy level but, too often, you have no idea about the level of accuracy of your tools and which approximations they did: you're left with a black box and rely on trust. And since the source code of those tools is hard to understand and to verify, no one may be brave enough to investigate them.
Quickly updated: A simulation is easier to update: most of the times, you will be able to make simulations taking into account the changes made on the PTR long before they reach the live servers. Simulationcraft was able to do a decent job a couple of weeks after Cataclysm was out and was considered mature after 9 weeks. At this time, many class/spec combinations did not have yet have any robust and renowned formulation-based tool.
Features-rich and highly configurable: The nature of Simulationcraft allows us to provide rich informations and offer you a broader range of features, to let you change your rotations, to simulate fights the way you want, to synchronize your cooldowns with certain events, etc... Simulationcraft has tons of settings you can play with.
Simulationcraft can generate reports such as those displayed on simulationcraft.org). Most notable informations are:
- Decomposition of the dps, such as tools like Recount or World of logs can provide.
- Dps distribution: to understand how your dps can vary across fights because of the rng.
- Resource gains: how much a talent or buff is important for your resources?
- Dps timeline: to measure the importance of certain cooldowns.
- Spells details: damage per resources, per execution time, minimum and maximum output, etc.
- Buffs details: uptimes, real benefit, etc.
Stats weighting to compare items
Simulationcraft can be used to compute scale factors: those are weights given to every stat so that one can compare them. The higher a scale factor, the better a stat!
Connected to the rest of the world
It provides you with link towards Wowhead and GuildOx for items comparison, or a string to paste in Pawn. Simulationcraft can also export CSV and XML files for your custom tools, or combat logs in a custom format.
Finally, the Elitist Jerks forums and others theorycrafters' lairs are frequently monitored to grab the latest bis lists and discoveries, and their feedback about Simulationcraft.
Have your simulated avatar play the way you want
Do you want to test out another dps rotation? Check whether you should pop your cooldowns as soon as possible or try to synchronize them with bloodlust/heroism or a certain phase of the combat? You can do it, check out the documentation (see ActionLists). Here is a sample actions list:
actions+=/slice_and_dice,if=buff.slice_and_dice.down&time<4 actions+=/slice_and_dice,if=buff.slice_and_dice.remains<2&combo_points>=3 actions+=/killing_spree,if=energy<20&buff.slice_and_dice.remains>5 actions+=/rupture,if=!ticking&combo_points=5&target.time_to_die>10 actions+=/eviscerate,if=combo_points=5&buff.slice_and_dice.remains>7&dot.rupture.remains>6 actions+=/eviscerate,if=combo_points>=4&buff.slice_and_dice.remains>4&energy>40&dot.rupture.remains>5 actions+=/eviscerate,if=combo_points=5&target.time_to_die<10 actions+=/revealing_strike,if=combo_points=4&buff.slice_and_dice.remains>8 actions+=/sinister_strike,if=combo_points<5 actions+=/adrenaline_rush,if=energy<20
Simulate real conditions
Do most fights look like a tank's n spank? No. Sometimes there are adds spawning, sometimes you suffer heavy damages, sometimes the boss may take twice much more damages, sometimes he become invulnerable, sometimes you have to kick his incantation, sometimes you have to move, sometimes you are distracted by what's happening on your screen, etc... Simulationcraft can simulate that.
# This is currently not functioning as we transition to true multi-target support.
Besides, Simulationcraft offers you tools to simulate human behaviours: your players may have a high latency, they may have brain lag and take time to notice a spell miss or a new buff/debuff, they may do mistakes and hit the wrong button.
Simulationcraft is only fully available in English.
However, it can work with all versions of the wow armory and battle.net websites (notably: Russian, Chinese, Korean and Taiwanese characters and guilds can be imported). If you use the command-line client, your files must be encoded as latin1 or utf-8, please take time to read TextualConfigurationInterface#Characters_encoding.
There are German and Chinese translations available for the Graphical User Interface, but not for Input Configuration and Output reports. If you want to contribute in translating the GUI, have a look at Developers Corner/Localization
At first, Simulationcraft was made for damage dealers, with just a dummy target. It evolved since then but there are still some limitations although we hope to see some of them be removed.
- Tanking: Warrior, Druid, Blood DK and Paladin should have fairly complete support. Brewmaster is advanced as well, but would require their dedicated developer completing and testing everything.
- Healing: Only the Priest ( Discipline and Holy ) module has been completely developed.