Elitist Jerks [Shaman] Experimental combat simulator

 08/08/07, 8:15 AM #1 draghkar Piston Honda   kalman Tauren Shaman   Aggramar (EU) [Shaman] Experimental combat simulator EDIT: The math formula on this page are valid only for speed > 3.0, for speed < 3.0 then it change slightly. The graph on this page is also wrong due some bugs on the simulator. For a correct graph consider the graph at post #164 and later I had a disquisition about the fact that weapon speed affect the sustained damage if WF is used with the argumentation: when you have a WF then you have two instant attacks so is better slow weapons (with same DPS a slow wepon has higher top damage). In the other side I tought that with quick weapons you have more WF so more extra attacks. Anyway I wrote down some numbers and later one I wrote a shaman swing simulator (I'll talk about it later). Let's suppose to have 0% crit => no flurry (I'll try to consider crits later) 2 weapons with 100 DPS: 1st: speed 4 -> 400 damage/swing 2nd: speed 1.5 -> 150 damage/swing I consider a WF proc each 5 attacks (the 20% stated) Simulation wiht 1st weapon T1 (4 sec) => 400 damage hit T2 (8 sec) => 400 damage hit T3 (12 sec) => 400 damage hit T4 (16 sec) => 400 damage hit T5 (20 sec) => 400 damage hit + WF hit (400*2 + 34*4*2) T6 (24 sec) => 400 damage hit T7 (28 sec) => 400 damage hit T8 (32 sec) => 400 damage hit T9 (36 sec) => 400 damage hit T10 (40 sec) => 400 damage hit + WF hit (400*2 + 34*4*2) and so on, the generic formula is easy to find: Damage(Y secs)=400*(Y/4)+Y/20*(400*2+34*4*2) so after 40 secs Damage = 400*(40/4)+40/20*(400*2+34*4*2)= 6144 damage Simulation wiht 2nd weapon T1 (1.5 sec) => 150 damage hit T2 (3 sec) => 150 damage hit T3 (4.5 sec) => 150 damage hit T4 (6 sec) => 150 damage hit T5 (7.5 sec) => 150 damage hit + WF hit (150*2 + 34*1.5*2) T6 (9 sec) = 150 damage hit T7 (10.5 sec) = 150 damage hit T8 (12 sec) = 150 damage hit T9 (13.5 sec) = 150 damage hit T10 (15 sec) = 150 damage hit + WF hit (150*2 + 34*1.5*2) and so on, in this case the formula is: Damage(Y secs)=150*(Y/1.5)+Y/7.5*(150*2+34*1.5*2) so after 40 secs Damage = 150*(40/1.5)+40/7.5*(150*2+34*1.5*2) = 6144 it seems that the speed doesn't affect it, the general formula (leaving speed and weapon DPS unspecified): Damage(Y secs)= speed*dps*(Y/speed)+Y/(speed*5)*(speed*dps*2+34*speed*2)= dps*Y+ Y/5*(dps*2+34*2) so whatever the weapon speed is the damage after Y seconds is not affected by it. This confirms my tought, let see how crit affect this. Introducing the crit chance (and so the Flurry) like 25% (one crit each 4 swings) I obtain a simulation that looks like this: 1st weapon ( in case of flury the speed becomes 2.8): T1 (4 sec) => 400 damage hit T2 (8 sec) => 400 damage hit T3 (12 sec) => 400 damage hit T4 (16 sec) => 400 damage hit + Crit (200) [flurry] T5 (18.8 sec) => 400 damage hit + WF hit (400*2 + 34*4*2) T1 (21.6 sec) => 400 damage hit + Crit (200) [flurry] T2 (24.4 sec) => 400 damage hit T3 (27.2 sec) => 400 damage hit T4 (30.0 sec) => 400 damage hit T5 (34.0 sec) => 400 damage hit + WF hit (400*2 + 34*4*2) + Crit (200) [flurry] and so on, write a general formula is not that easy ( is doable but still not easy ). I wrote for this purpose (c++ code) a Swing Simulator, at his very first version it's able to simulate the above scenario and the code looks like: ``` //weapon with 3.3 speed and 110 dps Weapon * myWeapon = new Weapon("TestWeapon", 3.3, 110); Talent * myTalent = new Flurry(5); Shaman::instance().setCritPercentage(20); Shaman::instance().mainHand(myWeapon); Shaman::instance().addTalent(myTalent); Target myTarget; CombatLog myCombatLog; Timer::instance().go(10000)``` The code above simulate the shaman swing against a dummy target for 1000 seconds. At the moment the simulator doesn't include weapon skill, dodge, defense, parry etc etc With the simulator I simulated 10000 seconds (2.7 hours) fights, with weapons from 1.0 secs to 8.0 secs and 0%, 10%, 15%, 20%, 25%, 30%, 33%. The result of simulations can be seen here. It seems to me that 2 weapons (with same DPS) do not affect the total damage after Y second (not using Storm Strike). As soon I introduce the Mana Pool in the simulator I'll be able to introduce the StormStrike talent and I'll be able to do the same simulation in order to see how the SS introduction affects it. Last edited by draghkar : 08/12/07 at 5:01 AM.
 08/08/07, 8:22 AM #2 Malan Mike Tyson     Malan Tauren Shaman   No WoW Account For those who are wondering: dis·qui·si·tion - A formal discourse on a subject, often in writing. I'm gonna take a stab here and say that if your math is showing that weapon speed doesn't matter, you took a wrong step somewhere.
08/08/07, 8:29 AM   #3
draghkar
Piston Honda

Tauren Shaman

Aggramar (EU)
 Originally Posted by Malan For those who are wondering: dis·qui·si·tion - A formal discourse on a subject, often in writing. I'm gonna take a stab here and say that if your math is showing that weapon speed doesn't matter, you took a wrong step somewhere.
If you do not use Storm Strike weapon speed doesn't matter, at least this is what math and simulator shows, (I'm not considering the fact that WF has a CD of 3 secs, but with a 2H weapon and speed above 4.3 this doesn't matter), the graph are plotted even with weapons 1.0 speed so just don't consider the graph with time < 4.3 secs. As soon I introduce the CD I will repost the graph.

08/08/07, 8:33 AM   #4
songster
Chief Passenger

Gnome Rogue

Earthen Ring (EU)
 Originally Posted by draghkar If you do not use Storm Strike weapon speed doesn't matter, at least this is what math and simulator shows
You're wrong. The reason you're wrong is that Windfury has an internal cooldown, and cannot proc again within three seconds of the previous proc. Thus faster weapons "lose" a lot of their procs due to the cooldown.

This has been well known for a long time and very very thoroughly tested.

08/08/07, 8:34 AM   #5
draghkar
Piston Honda

Tauren Shaman

Aggramar (EU)
 Originally Posted by songster You're wrong. The reason you're wrong is that Windfury has an internal cooldown, and cannot proc again within three seconds of the previous proc. Thus faster weapons "lose" a lot of their procs due to the cooldown. This has been well known for a long time and very very thoroughly tested.
I know indeed I forgot to mention that limit, in a few minutes I will repost the graphs, and the math I wrote
with 0% crit already do consider the WF CD no having more than 1 WF each 3 seconds.

08/08/07, 8:35 AM   #6
Yes
Bald Bull

Tauren Druid

Dragonmaw
 Originally Posted by draghkar If you do not use Storm Strike weapon speed doesn't matter, at least this is what math and simulator shows
There is a cooldown on windfury.

Windfury Weapon - WoWWiki, the Warcraft wiki

Edit: Put an bool (lastprocced) and an if statement in the loop that checks whether WF was procced in the last 3000 milliseconds.

 08/08/07, 8:37 AM #7 Juice Soda Popinski     Sarsaparilla Orc Shaman   Mal'Ganis Are you including in your calculations that the mainhand and offhand procs are tied together, or are you considering them independently? If you're considering them independently, then you're correct that weapon speed isn't a big deal (when stormstrike is removed). If you're tying the MH and OH procs together and then using weapon speed to determine the probability of a proc on that particular hand, then you're going to find that weapon speed does impact overall dps due to the mechanics of windfury. Also, isn't there a spreadsheet that contains a damage simulator in it already, and shouldn't be be discussing this at that location?
08/08/07, 8:38 AM   #8
draghkar
Piston Honda

Tauren Shaman

Aggramar (EU)
 Originally Posted by Yes There is a cooldown on windfury. Windfury Weapon - WoWWiki, the Warcraft wiki
I know there is, if you look at the first two cycles there are 20 seconds or 7.5 seconds between 2 WF procs.

Still with 0% crit the general formula is:

Damage(Y secs)= dps*Y+ Y/5*(dps*2+34*2)

08/08/07, 8:39 AM   #9
draghkar
Piston Honda

Tauren Shaman

Aggramar (EU)
 Originally Posted by Juice Are you including in your calculations that the mainhand and offhand procs are tied together, or are you considering them independently? If you're considering them independently, then you're correct that weapon speed isn't a big deal (when stormstrike is removed). If you're tying the MH and OH procs together and then using weapon speed to determine the probability of a proc on that particular hand, then you're going to find that weapon speed does impact overall dps due to the mechanics of windfury.
At the moment the shaman in the simulation is not DW.

08/08/07, 8:40 AM   #10
Malan
Mike Tyson

Malan
Tauren Shaman

No WoW Account
 Originally Posted by Juice Also, isn't there a spreadsheet that contains a damage simulator in it already, and shouldn't be be discussing this at that location?
There's the big mega enhance thread that contains several simulators.

 08/08/07, 8:41 AM #11 Yes Bald Bull     Diziet Tauren Druid   Dragonmaw draghkar: Post your source code somewhere in case you're having trouble, I have a compiler here with me..
08/08/07, 8:42 AM   #12
Juice
Soda Popinski

Orc Shaman

Mal'Ganis
 Originally Posted by draghkar At the moment the shaman in the simulation is not DW.
I don't believe that's correct. Building a simulator for a 1h or 2h weapon is trivial. The pages upon pages of discussion in the other threads are due to the complexities of modeling a shared WF cooldown (and flury).

 08/08/07, 8:49 AM #13 Bink Glass Joe     Farlin Human Priest   Silvermoon The formula is wrong. You are just assuming you proc 1 out of every 5 swings, so the cooldown would be cleared for both simulations. That model is flawed. You have a 20% chance per Swing that is not in the cooldown. Lets look at your example. Simulation with 1st weapon T1 (4 sec) => 400 damage hit (20% chance to proc) T2 (8 sec) => 400 damage hit (20% chance to proc) T3 (12 sec) => 400 damage hit (20% chance to proc) T4 (16 sec) => 400 damage hit (20% chance to proc) T5 (20 sec) => 400 damage hit + WF hit (400*2 + 34*4*2) (20% chance to proc) T6 (24 sec) => 400 damage hit (20% chance to proc) T7 (28 sec) => 400 damage hit (20% chance to proc) T8 (32 sec) => 400 damage hit (20% chance to proc) T9 (36 sec) => 400 damage hit (20% chance to proc) T10 (40 sec) => 400 damage hit + WF hit (400*2 + 34*4*2) (20% chance to proc) because the cooldown is shorter than the swing timer each swing 'could' proc. So the chance is constant and you can average them for you simulator. The next is different though... Simulation with 2nd weapon T1 (1.5 sec) => 150 damage hit (20% chance to proc) T2 (3 sec) => 150 damage hit (20% chance to proc) T3 (4.5 sec) => 150 damage hit (20% chance to proc) T4 (6 sec) => 150 damage hit (20% chance to proc) T5 (7.5 sec) => 150 damage hit + WF hit (150*2 + 34*1.5*2) (20% chance to proc) T6 (9 sec) = 150 damage hit (0% chance to proc) T7 (10.5 sec) = 150 damage hit (0% chance to proc) T8 (12 sec) = 150 damage hit (20% chance to proc) T9 (13.5 sec) = 150 damage hit (20% chance to proc) T10 (15 sec) = 150 damage hit (20% chance to proc) T11 (16.5 sec) = 150 damage hit (20% chance to proc) T12 (18 sec) = 150 damage hit + WF hit (150*2 + 34*1.5*2) (20% chance to proc) Because 2 swings land in the cooldown, they have 0% chance to proc.. so they through off the whole 1/5 swings thing..
08/08/07, 8:51 AM   #14
songster
Chief Passenger

Gnome Rogue

Earthen Ring (EU)
 Originally Posted by draghkar I know indeed I forgot to mention that limit, in a few minutes I will repost the graphs, and the math I wrote with 0% crit already do consider the WF CD no having more than 1 WF each 3 seconds.
Um, a closer look at your initial post shows that you're modelling WF as proccing on every fifth hit. This is the wrong way to do it. You need to model it as a 20% chance on each hit, not a 100% chance on every fifth hit.

Of course the cooldown is irrelevant if your model only procs on every fifth hit!

 08/08/07, 8:55 AM #15 Juice Soda Popinski     Sarsaparilla Orc Shaman   Mal'Ganis This thread needs to go away.

 Elitist Jerks [Shaman] Experimental combat simulator