Blood Pact is your weekly warlock digest brought to you by Dominic Hobbs. "He who loves practice without theory is like the sailor who boards ship without a rudder and compass and never knows where he may cast." ~ Leonardo da Vinci
As warlocks, we're used to delving into the mysterious depths of the occult to seek the knowledge that brings us power. This week I'm going to attempt to lift the veil of mystery that covers what is possibly the most powerful theorycrafting tool at our disposal. SimulationCraft is a tool that anyone who has frequented the Elitist Jerks forums will no doubt have run into at least once. In my experience many people take one look and run screaming from all the "maths" that starts to intrude on their game.
With this article I would like to reduce the "fear factor" of SimulationCraft and show one way in which it can be very useful. Many of us put together lists of upgrades that we would like to get our hands on and we all do that by comparing the stats on each item. We may also use lists produced by others or even give different values or weights to an item's stats by using scores we find -- these tend to be based on theoretical 'model' warlock's gear set. What I want to show you is how you can generate these lists and scores for yourself based on your own gear.
SimulationCraft is an application that will take in a load of conditions under which it can model a World of Warcraft boss fight and then runs that model hundreds or thousands of times. Each time it works out what the player wants to do, what the boss or the environment does and keeps score of the damage done; in much the same way as in-game damage meters do. After it has done this loads of times it produces an average DPS score for that character, in that situation. As with any model, it's not perfect but there is a lot you can do to produce sensible figures and while it might never match the DPS you actually achieve it does give a good measure of how gear, rotation, raid setup and the like perform under conditions very similar to those in a raid.
The first thing you are going to need is a copy of the SimulationCraft application. You can download it from http://code.google.com/p/simulationcraft/. Once you have this downloaded, extract the files and you're ready to go, no installation required. By the way, I'm basing this on the PC version as I have never used the Mac one -- if there are significant differences I hope someone will point them out in the comments. Various files and folders appear but the only one you are interested in is the simcqt.exe. When you run this you are faced with a sceen that welcomes you to the application and goes on to tell you about some of its features. You now have everything up and running so lets get cracking.
In order to have it model a fight for us we need to tell it what the conditions of that fight should be. We do this in the 'Options' tab. There are five sub-tabs that we'll work though quickly:
- Globals - I would leave most of these as defaults to begin with though I move the 'Player Skill' from Elite to Good and the 'Threads' to match the number of processor cores my system has.
- Buffs - This is the buffs your modeled player has during the fight. A well balanced 25 man raid should have all of them but obviously 10 man raids will lose some. Tick the ones you want to model with.
- Debuffs - Much the same as buffs but this time the stuff that is debuffing the boss during the fight. Switch off the ones you don't want modeled.
- Scaling - This is not required to produce a DPS score but is key to what we're looking at today with gear, so tick the ones we care about as locks (Intellect, Spirit, Spell Power, Hit Rating, Crit Rating, Haste Rating).
- Plots - These are also not essential to have checked but again it's something I'm going to look at later, so check the same options as for scaling.
Right, that's about it, now we just need to get our warlock and test this thing out. Select the 'Import' tab and you should see the Armory search page (if you are not in the US then change the Armory Region setting on the Globals tab). Personally I prefer to use the Wowhead profile tab to import characters as this allows me more scope to play about with them, but for now just find your lock in the Armory and click the 'Import' button in the bottom right of the app. On doing this you will be moved to the 'Simulate' tab and a load of scary text will fill the screen. Don't be put off by this -- SimulationCraft has just converted the character information into a format it can understand. You can understand it too if you look closely.
The first few rows are general information about your character -- name, Armory URL, level, race, etc. Next is a number of lines that start with 'actions', these lines detail the rotation or priority of spells your character will use in the fight. You can edit this but I'm not going to explain about that in this article so best leave it for now. Generally what is there will be what has been found to work the best for your spec. After the actions comes your gear, name and stats. Finally there are several rows that show what the total stat values of that gear come to. Nothing too daunting there. We're ready to hit that 'simulate' button!
Now, the app will take some time to think about all the details and simulate the fight loads of times. This may take a while depending on the speed of your computer and how many of the scaling and plotting options you select. Once it has finished you will be moved to the 'Results' tab and faced with a quite dizzying array of numbers and charts. I could probably spend the rest of the time until Cataclysm analyzing these numbers, what their significance is, how to modify them to best advantage etc, but that would get pretty dull pretty quickly (for you, I love this stuff). I will quickly run through some key features of what is on that report:
- DPS score - Right up near the top should be your warlock's name and a DPS score. This is the average total across all the fights simulated. Don't worry if you have never achieved this kind of number, it's there as a yard-stick. If you were to change something in your talent spec, gear or rotation and run the simulation again, this number will go up or down. If it goes up it will most likely go up if you do the same thing in game.
- Damage Per Execute Time (chart) - This shows you how efficient your spells are in terms of the time they take to cast and the damage they do. The bigger the bar the more damage done per second of casting.
- Damage Sources (chart) - This shows a proportional representation of damage done by each spell. This is excellent to compare with tools like World of Logs to show if you are following the spell priorities properly.
- Resource Gains (chart) - Where did you get your mana from? The bigger the slice of pie the more important that source of mana is to you.
- Mana Timeline (chart) - A representation of how much mana you have during the fight.
- DPS Timeline (chart) - A representation of your DPS throughout the fight. Particularly interesting if you have an execute phase.
- DPS Distribution (chart) - This shows the DPS scores for all the fights modeled.