7. Conclusion: using percent of fight duration will result in approximately a 0.3-0.4% overestimation of total DPS for a fight for frost DKs, but will probably result in a more accurate value than the approach that you suggest... assuming that I didn't totally screw something up in my assumptions above, which is very possible. I should really just use a static estimate based on some combat logs to shave a tad off.
I believe it is perhaps a bit more simple: When you end the sim at target-death, then you are perfectly accurate with respect to modeling Merciless/Execute/etc. As your OP suggests, why attempt a complex formulation when you can just model the actual behavior?
Of course, this is not free: The cost of perfectly modeling Merciless/Execute/etc comes at the cost of not perfectly modeling the requested combat length. Depending upon whether Bloodlust is used early/late the initial_health calculated in the first iteration is too high/low. The second chunk of code solves this by adjusting the initial health with a dampening factor.
While this adjustment zeros in on the appropriate target health to get the average desired combat length, each individual iteration will end early/late depending upon crits/etc. However, it is that same variance in combat length that dramatically smooths out haste scale factor generation.
I'm not looking to force-feed you my implementation, so I'll let it go. I just wanted to make sure that I at least explained myself well.
Nice to see that a moonkin version is coming soon. I admit that I'm curious how the rotation editor is set up for the proc heavy/reactive moonkin rotation.
Also hello from Proudmoore, hope your raiding is doing well.
I believe it is perhaps a bit more simple: When you end the sim at target-death, then you are perfectly accurate with respect to modeling Merciless/Execute/etc. As your OP suggests, why attempt a complex formulation when you can just model the actual behavior?
If I understand correctly, simulationcraft models the entire raid team, not just one player. Thus, when a simulationcraft sim ends, it is indeed perfectly accurate. The Team Robot simulator simulates just a single character... the fact that I hit harder this time around has a small impact on the overall fight duration. It's the cumulative of every DPSer in the raid that has statistical significance. We made this trade-off for the sake of performance of course: our goal was a web-based tool that could give a reasonable result in just a couple of seconds.
But anyway, you have a very good point, and I'm going to think on the best way to incorporate that concept into our single-player, single-target simulator. We've already run into the haste-scaling issue with fixed fight lengths, hence the hokey "randomize" fight duration option. Your suggested formula with an appropriate reduction based on some statistics from actual full raids might indeed be the best approach.
I have posted a few updates that fix some of the bugs in the initial version. You can see the full list at WoW Simulator Change Log.
The default rotation is still a bit off... I didn't have time to play with it extensively. This update is mainly to get some high-priority bug fixes out there. Another update will be coming within the next couple of days that will incorporate many of the suggestions that people have made.
Just a clarification: for the time being, the default rotation is very simple and leaning heavily towards 100% rip and SR up-time. Hopefully tonight I'll have time to improve the conditions and work FB back in appropriately. I'm also going to add an up-time column to the summary for DoTs and buffs, which should make it easier to evaluate rotations.
Someone may know the answer to this question... otherwise I'll go dig through the code for rawr or toskk's: if you look at the summary, the damage from the initial Rake hit looks to be significantly lower than my world of logs reports. It's not a really significant source of damage so it's not a huge deal... but it's irritating. The current formula that I use is this:
I have stopped maintaining my spreadsheet, but I compared the numbers I was using against what Toskk's is using now. Some of the numbers are slightly different. I honestly don't know if values have changed and where exactly mine came from. I was extremely bad at maintaining sources for all my numbers. Some I tested myself, but they were all confirmed at the times I entered them (otherwise I would have marked them).
I basically stopped playing during ToC and stopped updating. I never even added all of the heroic gear. Of course, it's possibly I missed some other changes. These low level details was the exact reason I was keeping it around as long as I did though.
I have posted an update that addresses most of the remaining bugs. The complete list of changes is at WoW Simulator Change Log.
The feral rotation seems pretty good now, though I am sure that someone could do better than I have. If you are able to build a better rotation using the Team Robot simulator, please post it or send it to me, as I would be very curious to see how you did it! You can save and export rotations as XML -- there is a guide here: WoW Simulator Import/Export Feature.
A discussion point: for my character (Yellowsix of Spinebreaker, in roughly ilvl245 gear), I was trying to determine the best gems. The value of strength, agility, and armor penetration gems is very close -- I changed all sockets to one or the other, and saw very little difference in the final DPS. Same idea for yellow sockets: going with agi/haste or agi/crit or even str/haste or str/crit is very close in value.
I'll run some more simulations with other characters, but I found this to be interesting. The simulator output seems to be accurate (e.g. I compared the average damage for abilities to some of my combat logs and they were within 1-3% for all abilities, and the total number of each attack was reasonably close), so I must be at some cross-over point for the value of these stats.
You're right, the total range of DPS from one stat to the other is very small. As you enter the neighborhood of soft caps, having half your points above a cap and half below means they all average out to be pretty accurate. Gemming was never supposed to alter final DPS more than a dozen or two DPS, at most (unless you're dealing with ArP hardcaps or hit rating). These are all within your default margin of error, and can thus be considered inconsequential in most cases.
Awesome job guys, very well done. However, I ran a couple of simulations last night and I think I found a problem with the default rotation. During Berserk, it used TF if it got too low on energy, which seemed to get rid of the of the Berserk buff (it never made the statement that the buff had faded, but attacks had normal energy costs). This not only isn't possible in-game because TF can't be used during Berserk (at least according to the tooltip, I never tried myself), but for at least a couple of my simulations caused Berserk to end after only a few seconds.
You are right that I did not have the restriction that TF cannot be cast during Berserk. I have added that and will post it with the next update.
However, the default rotation should never do this, because Berserk is set to only cast if TF is currently active, which means that Berserk is only used while TF is still cooling down.
I could not reproduce TF causing Berserk's cooldown to finish prematurely. I ran some tests and checked the code as well. I also could not reproduce a situation where abilities started to cost full energy while the Berserk debuff was still active. Please let me know if the problem happens again, and if possible, post the combat log entries that look incorrect to you.
However, the default rotation should never do this, because Berserk is set to only cast if TF is currently active, which means that Berserk is only used while TF is still cooling down.
Hmm. Do you know that casting Berserk will remove the TF buff? I believe consensus was to use Berserk just after TF during the opening seconds of a fight, then to desynchronize them as much as possible without reducing how often you use them during the rest of the fight.
This is just an amazing simulator! The fact that it's web-based makes it even more attractive. Just kind glitchy when setting filters for the gear upgrades, and some class/specs don't seem to load and work properly.
This is just an amazing simulator! The fact that it's web-based makes it even more attractive. Just kind glitchy when setting filters for the gear upgrades, and some class/specs don't seem to load and work properly.
Great job Mr. Robot!
Thanks!
Right now only Death Knights and Feral Druids are implemented. We're working to push out additional classes very soon.
What sorts of glitches are you getting when you set filters? We've been trying to keep up with any issues people have been having.
It never finds any gear. Ever. I let it sit for 15m while loading shoulder items with the pve and tier item filers enabled, and it never came back with other items to choose from.
Looking into 'Full Buffs' might be helpful, as I don't know which food it is using. Or which flask/elixir.
Something to note the white crit cap would also be great.
The model looks accurate, I think, as the default rotation with changes to bite priority is pretty close to what I try for and actual dps output was within 400 of what the sim reports.
Yeah, being able to see what % of your attacks were plain old hits would be nice. Would give me much more of an idea as to how close I was to the various crit caps (rather than having to subtract the crit, hit & dodge totals from 100 and account for glancings for auto attacks.
It never finds any gear. Ever. I let it sit for 15m while loading shoulder items with the pve and tier item filers enabled, and it never came back with other items to choose from.
Looking into 'Full Buffs' might be helpful, as I don't know which food it is using. Or which flask/elixir.
Something to note the white crit cap would also be great.
The model looks accurate, I think, as the default rotation with changes to bite priority is pretty close to what I try for and actual dps output was within 400 of what the sim reports.
I just checked, and I was able to load the list of shoulder items just fine... if you disable both the "TIER" and "NON-TIER" item filters, it will of course come back empty... because you have eliminated every possible item in the game. Is that what happened?
If not, and you encounter an issue again, let me know with as much detail as possible around what you did, and I'll look into it.
When I load full buffs, it checks agility food and flask of endless rage. Click on "CUSTM" to see the detailed list of current buffs, and to customize it if you wish.
I'm working on some stuff to improve estimated DPS values around the crit cap and other soft/hard caps. I'll try to get it into the next update.
Right now, with the boxes next to 'Tier Items' and 'PvE Items' filled in, it has been loading shoulder items for the last 5 hours. I use firefox, btw. I can change gems and enchants no problem, but there is no way to change gear item because there are no options. Just a box on the left that says Item Customization: Shoulder, Loading, and the rotating red thing.
The same thing occurs for all slots, regardless of which filters are enabled or disabled, except gloves. Gloves and glove alone load properly. However, gear does load for my DK.
Oh, and Nightmare's Tear doesn't seem to be correctly giving a socket bonus.
I have fixed the issue with Prismatic gems not activating socket bonuses: it will work if you remove/add the nightmare tear after loading your character. I'll post a fix in the next day or two that should activate it properly upon loading from the armory.
As for the item lists not loading, I have found the bug: it only happens for jewelcrafters. I'll post that fix as soon as possible.
It recommends me Strength as the strongest stat, which is different from what Rawr and theorycrafting says (arpen / agi).
Anyone else notices this?
Remember - if you equip an item and hit "simulate", it will give you an accurate result. So, if you think you should be using an item with agil and/or arpen over strength, equip the item and run a simulation to compare the results.
The item lists are just showing estimates of the relative DPS. Right now they are slightly favoring strength, due to the complexity of factoring in the hard and soft crit caps for our estimations. We are working on improving those estimates, and hope to have an update out soon.