Basic simcraft walk through
So today I’m going to talk about something often mentioned, but not often used by a lot of players, and seemingly miss-understood by most players as well. Its often talked about, either given a godly status or absolute crap status. The truth likely lies somewhere in between. I view simcraft as an invaluable tool in looking at some complex/hard to model comparisons, such as comparing (in wotlk) ISL vs the 3% hit talent whos name I can’t think of the top of my head. In current terms it can be useful for looking at things such as mana feed vs Imp life tap and doom and gloom.
Simcraft is a simulator, and it simulates world of warcraft. This means that, much like actually playing the game, its not very accurate. But unlike actually playing the game simcraft can simulate the fight several thousand times in a matter of minutes, simcraft also ‘plays’ as close to perfectly as can be (or less than perfectly if you tell it to for that matter). You can set up various fight parameters, such as fight length, number and frequency of adds, movement and more. Sadly this is not enough to simulate todays typically complex fight, it goes a long way.
This means that it can go a long way to not only smoothing out the RNG of a rotation, as well as taking out the ‘human’ factor when assessing a change to your character, because lets be honest here, who always plays to the exact same standard every time? Things effect our dps in a single fight/dummy test, from RNG based proc stacking to how tired we are, and when these variations can be larger than the difference between 2 specs we aren’t doing our selfs any favors by trying to test these on a dummy our selfs.
So, first of all you have to download simcraft, you can find this from its google project page. From here you’ll want to extract it and run simcqt.exe, this will start the simcraft gui.
As a brief run through I’m going to run simcraft on a random warlock from the wow forums as a quick little example on how to make simcraft work. I’ll also briefly go over some basic editing of the action list.
This is the introduction screen, I would recommend taking a few minutes to read it, it has some great information on it (Like the BETA BETA BETA bit). At this stage your likely to want to head to the options screen.
This page will allow you to change various things
- Patch version, if say the 4.1 PTR went up with warlock changes, you would be able to chose between live or PTR
- Iterations, how many times simcraft runs, the more the better, but it takes longer
- Length, how long, in seconds, do you want the simulated fight to run for?
- Vary length, how much variation in fight length
- Adds, how many adds to you want in the fight?
- fight style, patchwerk is well… patchwerk. Stand there and nuke
- Target race, if you want to test any thing specific like ret paladin increased damage against undead
- Player skill, how often do you want the sim to screw up?
- threads, Not 100% sure what this means >.> I believe it has to do with multi core computers, leave as 1 to be safe?
- Smooth RNG, I believe this refers to things such as trinket procs, do you want them to have the average of the trinket proc all the time? Or actually simulate the trinket proc?
- Armory region, if your going to import a player from the armory to sim with, do you want to take it from the US or EU armory?
- Armory spec, which spec do you want simcraft to use if you import from the armory?
For the most part, the default settings here will be fine.
This allows you to change what buffs you want your simcraft to run with. For example if you want to get your own specific scale values, and you run in a 10man group where you don’t have all the buffs available all the time, then you would want to come here and turn of the specific ones you don’t have access to.
The same applys here as to the buffs screen.
This screen allows you to select which values you want simcraft to calculate scale values for. For example for some reason you might think that expertise rating might be a large boost to warlocks dps, so you can ask simcraft to scale expertise rating. As you can see here, I have it set up to scale most things that would be relevant to warlocks.
This screen is similar to the scaling options screen, but instead attempts to make a graph with those scale values. Although this functionality appears to be broken atm (Remember that bit, BETA BETA BETA? Yeah…. )
Importing a character
So now that we’ve gone over the options, lets look at the process for actually simulating a single toon. Click on the import tab.
Yes, that is the world of warcraft community site. From here you either want to search for a toon the same way you would normally with the new armory, browse the forums to a toon (warning, this appears to be broken) or down the bottom of the simcraft window put a URL in for the new armory.
After you put a locate a toon, and are presented with a screen similar to above (I picked a random warlock from the forums >.>) through one method or another, click the import button down the bottom right. This makes simcraft create whats known as a profile. This contains most of the information about the toon, and what actions they will take during the fight. You’ll be presented with a screen similar to below. This is loaded with a set of default actions, these are not always the best actions, but are usually fairly accurate. For example I think right now (it may have been updated though) the default actions use fel hunter/felguard while succubus is the preferred pet.
At this stage your free to hit the simulate button in the bottom right corner. This may now take a while depending on the options you selected when setting up the sim and your computers speed. For example if you selected 10,000 iterations and to both scale and plot every stat available you’d start to look at a very long wait.
After all of this is done, you will get a (now with extra pretty ness!) somewhat comprehensive output. I’m not going to go to much into this, as it starts to cross over with log reading and all that, which is something that I want to personally want to learn more about, and how to do better before I’m confident in talking about it.
What can we see with a brief glance? We can quickly see the ‘dps’ that the toon should pull, in this case 16k. Keep in mind this is under ideal circumstances, all buffs, patchwerk fight. This is a very good way to see if your under (or over performing in some cases). Simply turn of all buffs bar the ones you provide (eg CoE, spell damage debuff), import your character, sim it, and see what dps it says you could pull. Then goto the target dummy, see how close you can get. Try to figure out what you did wrong, did you cast incinerate instead of refreshing immolate once? Etc. Generally you won’t ever get to being exactly as good as simcraft, its a computer, it doesn’t screw up (unless you tell it to) and it doesn’t have to deal with latency or reaction times, but you can get to within a few thousand dps with enough practice.
We can also see the scale values here, along with the error rate and dps range. The range is interesting, and truely starts to show the power of a sim running thousands of times. We can see that the distrubution shows us that the toon was pulling between just under 15k and a bit over 17k, with the majority of the sims landing in the middle. This shows us just how much spread dps can have, even when not including a person, and the errors a person can make.
Advanced – Editing a profile
I’ve also hosted a profile here so you can have a look at it. For example if I wanted to alter the users spec manually, I would look at line 9.
If I wanted to alter what the toon would do in the sim I would look at lines 11 to 30. These contain the action list, or the complete priority system from getting ready for pull to actually dpsing. For example if I wanted to see the effects of a different potion on dps, I would look at line 17, which contains the potion line, and change that to a different potion name
This line also tells it to do it either not in combat (eg pre potting) or if blood lust is up. The conditional bit is all contained after the if=.
For example if I wanted to add casting fel flame in, to see if refreshing immolate via fel flame would provide a DPS gain or not, I would add something along the lines of
In theory this will tell simcraft to cast fel flame if immolate has between the travel time of fel flame and 9 seconds left. I would then input this where I want it to go in the priority list. This would quite likely just above incinerate below summoning infernal, lines 28 and 29.
We can also look at editing someones gear manually, this is below the action list on lines 31 to 49. While this is slow and annoying compared to using something like the wowhead profiler, it seems that the wowhead profiler isn’t supported yet (I believe this has to do with reforging).