Blog Articles by keyword: simulation



Simulation: verifying results

by Tachyon on Fri. 09. July 2010, 19:31

Filed under: casting, simulation

Hi folks, sorry for the lack of posts lately. I have two articles in the pipe that address the damage problems some mages save, and tips for beginners and pros on how to improve the damage output, but they're not yet finished.

I'm also reading all the Cataclysm information that's flooding the web, but given the change rate of features announced, cancelled or replaced (talent trees revamp being the latest), it's stupid to do any projections yet on what we get on release day, or how we will play our mages.

News from the simulation front



I'm also continuing to develop my new casting simulation in my spare time, and hope to have it finished soon enough for Cataclysm, so I can adapt it to the new stats and spells, and have a tool to compare specs, stats and stuff for upcoming articles.

The basic simulation engine is more or less done, and now I'm verifying the results I get from the simulation runs. As combing through endless lines of combat log output in the hope of finding any discrepancies is a very dull task, I started programming some visual tools which can display the output of the simulation in a more pleasant way.

One visualization is a track lane view (resembles the tracks you see in audio or video editing software, and it's already looking neat! Of course this is only the beginning, I'm planning on adding more information, such as damage numbers, proc and buff uptimes and whateveryoucanthinkofs. Hell, this would also make a great tool to visualize combat logs, what do you think?

Simulation: Partial Resists

by Tachyon on Sun. 13. June 2010, 03:13

Filed under: dps, simulation, theorycrafting, fire, resists

The development of the new DPS-simulation engine is progressing as planned, and requires more and more time doing research of the spell mechanics, to find out how the spell effects work in detail. It's very hard to find any fundamental information on that topic, so I had to switch back to experimental mode and find it out myself.

One particular question I wanted to have aswered today:

How much of a spell is partially resisted (absorbed) by boss targets?
Bosses have a built in resistence mechanic that lets them absorb a part of the damage. The common knowledge is that bosses count as maxlvl+3 mobs (in the WotLK version: level 83), and that they gain 5 resistence per additional level (15 overall). But I have noticed before that the resists fluctuate, sometimes more is resisted, sometimes less, and in some cases nothing is resisted at all.

Partial Resists

To test the partial resists, I unequipped any items that have a +Spelldamage proc, and casted Arcane Missiles on a Heroic Training Dummy. To record the data, I used Fraps and viewed the video in slow motion to note down the damage and absorbs for each tick.
Here's an excerpt of the collected data (in brackets: partial resists)
1099 (275), 2147 (275), 2446 (137), 1374, 1236 (137), 1374, 1236 (137), 2684, 1374, 2147 (275), 1236 (137), 1099 (275), 2415 (137) ...
The resists were either 0, 137 or 275. In relation to the damage before resists, this was exactly 0%, 10% and 20%. The spell crit modifier for Arcane Missiles (with CSD and the AM Glyph) is 1.95375, and the critical spell hits show that the resistance happens before the crit factor is applied.

Now I needed more samples to quantify how many spells have 0%, 10% and 20% resists. For that I parsed the combat log from our raid tonight with a total of 487 samples on 3 bosses. Result:
  • 257x 0% resist (~ 1/2)
  • 152x 10% resist (~ 1/3)
  • 87x 20% resist (~ 1/6)
I have yet to verify these observations with other spells, but I assume for now that all spells are affected the same by partial resists.

EDIT 2010-06-14: Interesting side note
Ingite is affected by partial resists as well. Critical fire spells get thus taxed twice (once for the spell, once for the ignite DoT). This effect is known as Double Dipping.

Simulation: DPS Volatility

by Tachyon on Tue. 08. June 2010, 23:20

Filed under: simulation, theorycrafting, dps

Hey folks, it's been a while since my last post, sorry for that. I've been raiding with my new fire specs during the last weeks, and we managed to kill the Lich King in ICC 25, and are now working on the ICC 25 HC bosses (9/12 so far).



I've also been doing some research on stats scaling for the fire spec, but haven't drawn a conclusion yet. Some sources (like Rawr) state that crit rating is the best stat by far, but given the nature of the Ignite mechanics (ignite munching, losing a huge ignite bank when your target dies) I have some sincere doubts. Thaarsis (one of the other mages in my guild) pointed me to Greatschock <For the Horde>'s Armory profile (you remember, the first mage which participated in a 25 HC LK kill) who had replaced all his yellow gems with pure +20 crit rating gems. We both were puzzeled, but by now Greatschock went back to SP/crit gems, seems like too much crit was not that great after all.

Limits of the old simulation

For the Arcane posting series, I used a simulation program I wrote to observe and analyze the most interesting aspects of the arcane spec (spell rotations, the impact of the T10 boni, stats scaling).
Simulating arcane rotations was fairly easy, every spell does direct damage, and stuff procs on sucessful spell casts rather than on inpact, which was easy to model.

But now that I want to observe the Fire spec in detail, I have to rewrite the whole simulation from scratch. Fire has effects that proc on spell impact, so you have to take the flight time into consideration. Some effects even have a life of their own (hello Ignite!), so a radical new approach was necessary.

New simulation

The new casting simulation I'm writing is event driven, which eases dealing with concurrent effects (such as the Ignite proc still ticking, the player casting a new spell when the last spell is still on its flight to the target). Everything in the simulation is an Event, and can be scheduled for execution in the Simulation on a given time. Events can interact with the simulation, spawn and schedule new events and even reschedule themselves. Event execution can even be observed using Listeners, making it easy to modularize aspects of the simulation.

The simulation API is not yet complete, but it's growing more and more mature.
It may be a little late for the fire spec, regarding that the Cataclysm expansion is already in the beta, but when the simulation's done I think it will be quite easy to adapt it to the Cataclysm spell mechanics, so it's well worth developing it.

The simulation also doesn't use a fixed player stat model, but allows to take a character out of the armory, and take all individual stats and talent point distribution as well as glyph choices, raid buffs and temporary powerups into account.

I've only modelled arcane so far (so I can compare the outputs of the old and new simulation), but at least I can share some effects I'm dealing with at the moment, or rather one effect in particular: Volatility.

Volatility

As a great part of the logic and results depends on the RNG (random number generator), say whether your spell hits, crits or misses, and the procs involved, the outcome will vary each time the simulation is run. This variance is significant and tells a lot on how to interpret simulated results.

For testing purpose, I did 10 runs with my mage's stats, using an arcane rotation on a 5min fight (no raid buffs, no AP/IV etc). Here's the DPS numbers that came out:

10 Runs:


Once I had less than 6800 DPS, and another time over 7200 DPS, using the same rotation, same stats and same duration. When the outcome is so volatile, it's nigh impossible to draw any conclusions when you vary input parameters.
Any DPS tests you do ingame (be it on the target dummies, or in a raid) are rendered obsolete, as you just cannot obtain enough samples to observe what happens when you do something different. You could test on a target dummy, swap some gems to a useless stat (e.g. Agility), test again and have an increased DPS result.

I did some more runs with the simulation:

1'000 Runs:


Those of you with a background in statistics recognize a gaussian distribution in the samples, and if we do event more runs the bell shape of the distribution curve is obvious:

100'000 Runs:


Look at the x-scale to see how far the minimum and maximum value are apart!
What this means is that to be able to draw conclusions on the average DPS for a given situation, the simulation has to do serious number crunching and do lots and lots of runs to have a stable outcome.

Fascinating, isnt't it? I hope you just learned to not to trust any observations that are drawn out of a handful of samples

Stay tuned for more articles on the progress of the simulation!

EDIT 2010-06-12: Sorry, forgot to enable comments (was disabled by default), commenting is now allowed

3.2.2 Arcane Mage Changes

by Tachyon on Thu. 10. September 2009, 21:04

Filed under: arcane, patch, spell, simulation, theorycrafting



Arcane is facing some cool new changes in the upcoming patch 3.2.2 which can be tested on the PTR since quite some weeks and could go live any moment (or in a couple of weeks, who knows).
EDIT 2009-09-15: The mana cost for subsequent AB casts has been raised to 175%/stack in the latest PTR build (was 130%/stack in the first 3.2.2 build), therefore I updated the numbers and my conclusions.
  • Arcane Blast: The buff from using this ability now stacks up to 4 times (instead of 3), and each application increases mana cost by 175% (instead of 200%).
  • Missile Barrage: The effect from triggering this talent now removes the mana cost of Arcane Missiles. In addition, the chance for Arcane Blast to trigger this talent is now 8/16/24/32/40%. All other listed spells continue to have a 4/8/12/16/20% chance to trigger it.

The overall DPS wasn't increased all that much, but what really sticks out is the mana efficiency which suddenly makes this spec viable for raiding again, and indirectly boosts the DPS by allowing to run the mana exhausting high DPS rotations for a little longer.

Given the new circumstances, you might now wonder what the preferred DPS or DPM rotations will be once the patch goes live.

Once again I will use the simulation program I wrote for the Going Arcane article series ( part 1, part 2 and part 3) for a detailled anaysis and comparison of possible spell rotation strategies.
For the 3.2.2 spell rotation analysis, I slightly modified the base stats used for the simulation:
  • 3000 Spell Power (used to be 2000)
  • Hit capped, (100% Spell Hit, same as before)
  • 20% Spell Haste before talents (used to be 10%)
  • 50% Spell Crit including CSD (used to be 35%)
  • removed 4xT7 set bonus for the calculation

The simulation yields following results for cast sequences:

RotationDamageTimeDPSManaDPMMana/sec
ABx18195.0001.9844130.280215.00038.120108.360
ABx217866.0003.9684502.230806.00022.170203.112
ABx315962.0005.9522681.6201773.0009.000297.864
ABx432270.0007.9374066.0203116.00010.360392.616
ABx555730.0009.9215617.5804836.00011.520487.469
ABx10109847.00019.8415536.29013436.0008.180677.174
ABx1000001151280132.000198412.6985802.450171996236.0006.690866.861
ABarr6673.0001.1905605.320553.00012.070464.520
ABx1, ABarr12527.0003.1753946.000768.00016.310241.920
ABx2, ABarr22859.0005.1594431.1301359.00016.820263.437
ABx3, ABarr21616.0007.1433026.2402326.0009.290325.640
ABx4, ABarr47434.0009.1275197.1203669.00012.930401.995
ABx5, ABarr45677.00011.1114110.9305389.0008.480485.010
Mbarr16758.0001.9848446.0300.000&#8734;0.000
ABx1, Mbarr14630.0003.9683686.760215.00068.05054.180
ABx2, Mbarr40658.0005.9526830.540806.00050.440135.408
ABx3, Mbarr51134.0007.9376442.8801773.00028.840223.398
ABx4, Mbarr70458.0009.9217102.1703116.00022.610314.093
ABx5, Mbarr76519.00011.9056427.6004836.00015.820406.224
AM16758.0003.9684223.020952.00017.600239.904
ABx1, AM27970.0005.9524698.9601167.00023.970196.056
ABx2, AM36972.0007.9374658.4701758.00021.030221.508
ABx3, AM34185.0009.9213445.8502725.00012.540274.680
ABx4, AM70458.00011.9055918.4704068.00017.320341.712
ABx5, AM73864.00013.8895318.2105788.00012.760416.736

3.2.2 Spell Rotations

For the spell rotation strategy, the same generic model as pre-3.2.2 was used:
  • If Missile Barrage procced, use it after at least A subsequent Arcane Blast casts
  • If Missile Barrage didn't proc after B subsequent Arcane Blast casts, cast Arcane Barrage instead

The following data is the result of running the simulation with 1'000'000 casts for each casting strategy (A, B):

.A=0A=1A=2A=3A=4A=5
B=0 4941 DPS
14.19 DPM

-10.89% DPS
-16.92% DPM
4864 DPS
16.19 DPM

-12.29% DPS
-5.21% DPM
4904 DPS
16.34 DPM

-11.55% DPS
-4.33% DPM
5031 DPS
15.4 DPM

-9.27% DPS
-9.84% DPM
5217 DPS
13.37 DPM

-5.91% DPS
-21.72% DPM
5278 DPS
11.98 DPM

-4.80% DPS
-29.86% DPM
B=1 4836 DPS
32.92 DPM

-12.78% DPS
+92.74% DPM
4821 DPS
33.41 DPM
-13.05% DPS
+95.61% DPM
4891 DPS
27.79 DPM

-11.79% DPS
+62.70% DPM
5038 DPS
21.98 DPM

-9.14% DPS
+28.69% DPM
5241 DPS
17.41 DPM

-5.48% DPS
+1.93% DPM
5317 DPS
13.73 DPM

-4.11% DPS
-19.61% DPM
B=25031 DPS
32.83 DPM
-9.28% DPS
+92.21% DPM
5017 DPS
32.99 DPM
-9.52% DPS
+93.15% DPM
5037 DPS
28.89 DPM

-9.16% DPS
+69.15% DPM
5173 DPS
22.17 DPM

-6.71% DPS
+29.80% DPM
5363 DPS
17.5 DPM

-3.27% DPS
+2.46% DPM
5429 DPS
13.76 DPM

-2.10% DPS
-19.44% DPM
B=35216 DPS
29.13 DPM
-5.92% DPS
+70.55% DPM
5203 DPS
29.2 DPM
-6.16% DPS
+70.96% DPM
5195 DPS
26.82 DPM

-6.32% DPS
+57.03% DPM
5293 DPS
21.8 DPM

-4.54% DPS
+27.63% DPM
5469 DPS
17.23 DPM

-1.37% DPS
+0.88% DPM
5524 DPS
13.57 DPM

-0.38% DPS
-20.55% DPM
B=45364 DPS
26.24 DPM
-3.26% DPS
+53.63% DPM
5356 DPS
26.24 DPM
-3.41% DPS
+53.63% DPM
5332 DPS
24.83 DPM

-3.84% DPS
+45.37% DPM
5394 DPS
20.94 DPM

-2.72% DPS
+22.60% DPM
5548 DPS
17.09 DPM

+0.00% DPS
+0.00% DPM
5589 DPS
13.44 DPM

+0.79% DPS
-21.31% DPM
B=55442 DPS
24.11 DPM
-1.86% DPS
+41.16% DPM
5441 DPS
24.23 DPM
-1.87% DPS
+41.86% DPM
5409 DPS
23.19 DPM

-2.45% DPS
+35.77% DPM
5461 DPS
20.11 DPM

-1.51% DPS
+17.74% DPM
5601 DPS
16.76 DPM
+1.01% DPS
-1.87% DPM
5587 DPS
13.44 DPM

+0.77% DPS
-21.31% DPM
B=65493 DPS
23.17 DPM
-0.94% DPS
+35.66% DPM
5491 DPS
23.16 DPM
-0.98% DPS
+35.60% DPM
5451 DPS
22.37 DPM

-1.69% DPS
+30.97% DPM
5497 DPS
19.69 DPM

-0.86% DPS
+15.28% DPM
5628 DPS
16.56 DPM
+1.50% DPS
-3.04% DPM
5631 DPS
13.35 DPM

+1.55% DPS
-21.84% DPM
B=75524 DPS
22.57 DPM
-0.37% DPS
+32.14% DPM
5518 DPS
22.6 DPM
-0.48% DPS
+32.32% DPM
5477 DPS
21.92 DPM

-1.22% DPS
+28.34% DPM
5518 DPS
19.45 DPM

-0.48% DPS
+13.88% DPM
5647 DPS
16.48 DPM
+1.83% DPS
-3.51% DPM
5656 DPS
13.31 DPM

+2.00% DPS
-22.07% DPM
B=85537 DPS
22.3 DPM
-0.15% DPS
+30.56% DPM
5536 DPS
22.33 DPM
-0.15% DPS
+30.74% DPM
5499 DPS
21.72 DPM

-0.83% DPS
+27.17% DPM
5529 DPS
19.29 DPM

-0.29% DPS
+12.94% DPM
5658 DPS
16.4 DPM
+2.04% DPS
-3.98% DPM
5669 DPS
13.28 DPM
+2.23% DPS
-22.25% DPM
B=infinite5560 DPS
21.88 DPM
+0.27% DPS
+28.10% DPM
5561 DPS
21.94 DPM
+0.29% DPS
+28.45% DPM
5519 DPS
21.28 DPM

-0.46% DPS
+24.59% DPM
5549 DPS
19.1 DPM

+0.07% DPS
+11.83% DPM
5669 DPS
16.3 DPM
+2.24% DPS
-4.57% DPM
5689 DPS
13.24 DPM
+2.60% DPS
-22.48% DPM



Color legend:
  • Black: Base rotation used as reference: ABx4, (MBarr|ABarr)
  • Gray: Rotation for which another rotation with better DPS and DPM exists
  • Blue: Rotation with more DPS than base rotation.
  • Green: Rotation with more DPM than base rotation.
  • Blue-green: Rotation with more DPS and more DPM than base rotation.
  • Red: Bad rotation, worse DPS and DPM than base rotation

Optimal DPM rotations ( green, blue-green)

In the table above, the most efficient rotations mana-wise are those with A=0-1 and B=2..infinity. The Mana burn ratio (which is DPS/DPM) is about 254 Mana/sec*, which should be sustainable in a raid scenario.

For B=2, A=0..1 (use ABarr to clear the AB stack if MBarr didn't proc after 2xAB, and use the MBarr as soon as it procs) you can increase the Damage per Mana by over 90% at the cost of only ~9.5% less DPS compared to the base rotation. The Mana burn ratio is about 154Mana/sec*, which can be kept up even for long fights.
If you never use ABarr to clear the AB stack but just cast AM until MBarr procs and then use MBarr as soon as possible, you still have a very efficient DPS/DPM rotation.

Recommended optimal rotation: A=0, B->Infinity
Spam Arcane Blast, use Missile Barrage as soon as it procs

Recommended DPM/recovery rotation: A=0, B->2..5
Spam Arcane Blast, use Missile Barrage as soon as it procs. If no procs occur after 2..5 AB stacks, clear the stack with Arcane Barrage.

High/Burst DPS rotations ( blue)

The best DPS rotations are found when saving the MBarr proc until you have AB fully stacked (4 stacks). The later you give up fishing for a proc and clear the stack with ABarr (or AM), the higher the DPS, but the higher the mana cost. With A=4, B->Infinity, the Mana burn ratio is about 350 Mana/sec* which is rather high, but with Evocation every 2 minutes you should hardly run into mana problems.

Recommended high/burst DPS rotation: A=4, B->Infinity
Spam Arcane Blast, use Missile Barrage when it procs and AB is fully stacked (4 stacks).

* = Mana/sec values without taking Clearcast or Arcane Power into account

All in all we can be very happy with the arcane changes, for once Blizzard managed to boost them for PvE only without making them overpowered in PvP (not that we wouldn't need that, though).

If you have any questions, or want to share your experiences with the new arcane rotations, please drop me a comment, I'd appreciate that.

Arcane Rotations - Numbers updated for 3.2

by Tachyon on Wed. 22. July 2009, 18:14

Filed under: arcane, theorycrafting, simulation

I didn't blog for quite some time now (due to summer vacations and me generally don't playing my mage so much apart from the Ulduar raids, which I try to participate in as much as my time allows), so I thought I owe you at least an update to my arcane theorycrafting stuff for the minor changes that brings the new 3.2 patch. I got some other articles in the queue (equiment planning tips), that I intend to publish in the near future.

The upcoming content patch 3.2 will reduce the mana cost of Arcane Blast from 8% to 7% of your base mana (that's a plain 12.5% reduction).

Whilst this doesn't affect the DPS directly, indirectly Arcane becomes more viable in mana-demainding encounters, and in all other situations we can afford the higher DPS/mana rotations a little easier to crank up our DPS.

To update the arcane spell rotation tables I adapted and run the simulation once more. Here are the results for patch 3.2:
RotationDamageTimeDPSManaDPMMana/sec
ABx14968.0002.1552305.150215.00023.11099.760
ABx210830.0004.3102512.560860.00012.590199.520
ABx317586.0006.4662719.9701935.0009.090299.280
ABx425236.0008.6212927.3803440.0007.340399.040
ABx532886.00010.7763051.8204945.0006.650458.896
ABx1071136.00021.5523300.71012470.0005.700578.608
ABx100000764994636.000215517.2413549.580150497420.0005.080698.308
ABx0, ABarr3762.0001.2932909.280553.0006.800427.653
ABx1, ABarr9407.0003.4482728.030768.00012.250222.720
ABx2, ABarr15946.0005.6032845.7501413.00011.290252.166
ABx3, ABarr23379.0007.7593013.2902488.0009.400320.676
ABx4, ABarr31029.0009.9143129.8803993.0007.770402.772
ABx5, ABarr38679.00012.0693204.8305498.0007.040455.549
ABx0, Mbarr8812.0002.1554088.770952.0009.260441.728
ABx1, Mbarr15367.0004.3103565.1401167.00013.170270.744
ABx2, Mbarr22815.0006.4663528.7201812.00012.590280.256
ABx3, Mbarr31157.0008.6213614.2102887.00010.790334.892
ABx4, Mbarr38807.00010.7763601.2904392.0008.840407.578
ABx5, Mbarr46457.00012.9313592.6705897.0007.880456.035
ABx0, AM8812.0004.3102044.380952.0009.260220.864
ABx1, AM15367.0006.4662376.7601167.00013.170180.496
ABx2, AM22815.0008.6212646.5401812.00012.590210.192
ABx3, AM31157.00010.7762891.3702887.00010.790267.914
ABx4, AM38807.00012.9313001.0704392.0008.840339.648
ABx5, AM46457.00015.0863079.4405897.0007.880390.887

Dynamic Arcane Rotations:

Just for completeness (the details can be found in Going Arcane Part 3 - Spell Rotations), here's the generic pattern of spell rotations I suggested:
  • If Missile Barrage procced, use it after at least A subsequent Arcane Blast casts
  • If Missile Barrage didn't proc after B subsequent Arcane Blast casts, cast Arcane Barrage instead

.A=0A=1A=2A=3A=4A=5
B=0 -4.38% DPS
-27.09% DPM
-5.35% DPS
-14.72% DPM
-3.92% DPS
-10.70% DPM
-1.13% DPS
-13.25% DPM
-0.26% DPS
-21.00% DPM
+0.43% DPS
-26.01% DPM
B=1 -9.61% DPS
+17.86% DPM
-9.59% DPS
+23.85% DPM
-7.63% DPS
+21.98% DPM
-4.56% DPS
+11.19% DPM
-3.34% DPS
-3.93% DPM
-2.37% DPS
-13.05% DPM
B=2 -6.40% DPS
+14.33% DPM
-6.56% DPS
+17.57% DPM
-5.53% DPS
+17.08% DPM
-2.68% DPS
+7.75% DPM
-1.67% DPS
-6.18% DPM
-0.84% DPS
-14.72% DPM
B=3 -2.15% DPS
+2.26% DPM
-2.32% DPS
+4.12% DPM
-1.92% DPS
+4.81% DPM
+0.00% DPS
+0.00% DPM
+0.75% DPS
-11.48% DPM
+1.32% DPS
-18.74% DPM
B=4 +0.60% DPS
-9.72% DPM
+0.40% DPS
-8.54% DPM
+0.59% DPS
-7.26% DPM
+2.01% DPS
-9.42% DPM
+2.44% DPS
-16.98% DPM
+2.82% DPS
-22.96% DPM
B=5 +2.33% DPS
-15.60% DPM
+2.15% DPS
-14.72% DPM
+2.21% DPS
-13.54% DPM
+3.31% DPS
-14.62% DPM
+3.58% DPS
-20.31% DPM
+3.84% DPS
-25.12% DPM
B=6 +3.46% DPS
-19.04% DPM
+3.33% DPS
-18.45% DPM
+3.30% DPS
-17.27% DPM
+4.25% DPS
-17.86% DPM
+4.40% DPS
-22.47% DPM
+4.59% DPS
-26.50% DPM

The suggested strategy remains more or less the same:
  • If Missile Barrage procs, use it when you have 2-3 stacks of the Arcane Blast debuff. If you have the 4xT8 set bonus, you probably want to already cast MBarr with 2 stacks, so your procs can occurr more often (gotta test that)
  • Arcane Barrage is used to clear the AB debuff when MBarr doesn't proc after 2 (mana saving), 3 or 4+ (more DPS) subsequent Arcane Blast casts.


Oh, and big /love to l2dps.com and wow.com (they got new hidden class guides sections, thanks Utada for the hint) for linking my site and feeding me some readers, I really appreciate that!
Subscribe to Articles:
Subscribe to Comments: