Jump to content


Photo

Cataclysm Mage Simulators and Formulators


  • Please log in to reply
443 replies to this topic

#41 Silverwind

Silverwind

    Von Kaiser

  • Members
  • 67 posts

Posted 15 December 2010 - 04:42 PM

Now that Shard of Woe is implemented, I did some short test runs with Theralion's Mirror and the Shard as trinkets.

In 372 gear, it seems to allow a mana-neutral AB4 conserve phase, and it may even be possible to go up to AB5 sometimes (permanent AB5 is mana-negative, but I think with enough max mana (120k+) it may even be close to be mana-neutral).

With some very rough changes to the priority list (longer burn phases), I was able to gain ~600 dps compared to the current trinkets, but I think with more optimization the trinket could be worth about 1000 dps (compared to the crit trinket).

#42 Lhivera

Lhivera

    Bald Bull

  • Members
  • 1,519 posts

Posted 16 December 2010 - 04:15 AM

I switched the trinket and made a couple tweaks to the Arcane priority list. I did gain a couple hundred DPS, but couldn't get the 600 you did - could you provide the action list you used?

Kavan: For filling out the original post, does Rawr use formulation or simulation?
At Veridian Dynamics, we can even make radishes so spicy, people can't eat them. But we're not, because people can't eat them.

#43 Power

Power

    Glass Joe

  • Members
  • 17 posts

Posted 16 December 2010 - 10:58 AM

Lhivera:

The 30% switch was only an example to illustrate the problem for a 300 sec fight.

Frost-Frostbolt:
actions+=/mage_armor,if=(mana_pct*6)<target.time_to_die
Frost-Frostfirebolt:
actions+=/mage_armor,if=(mana_pct*3)<target.time_to_die

These actions should work better with different fight lengths.

PS:
actions+=/molten_armor,if=buff.mage_armor.down&buff.molten_armor.down&((mana_pct*3.5)>target.time_to_die)
actions+=/mage_armor,if=buff.mage_armor.down&buff.molten_armor.down
Can anyone tell me why this will always use Magearmor?

#44 Kavan

Kavan

    Bald Bull

  • Members
  • 1,018 posts

Posted 16 December 2010 - 12:36 PM

Kavan: For filling out the original post, does Rawr use formulation or simulation?


It's using formulation.

#45 Lhivera

Lhivera

    Bald Bull

  • Members
  • 1,519 posts

Posted 16 December 2010 - 12:44 PM

Hell, I didn't even know we could use math in the action strings.

There's a space in your string, but that could be an artifact of your copy/paste. If you run it with debug=1 and pipe the output to a file, you'll get a combat log-like output with all the actions detailed; it might show you if it's just sitting in mage armor, or switching to Molten and then immediately switching back.
At Veridian Dynamics, we can even make radishes so spicy, people can't eat them. But we're not, because people can't eat them.

#46 Nathyiel

Nathyiel

    Von Kaiser

  • Members
  • 96 posts

Posted 16 December 2010 - 01:32 PM

You also have to put Molten armor at the begin of the fight because your second line will put Mage Armor instead.
I think that it could be interesting to switch Molten if mana > 60% and Mage if mana < 30% (by exemple). So it will keep previous Armor between these two limits. I would have made better proposition if have know how to do action list command.

edit: your second line can be read like that:
if Mage Armor is not active and if Molten Armor is not active then cast Mage Armor
at the begin of the fight, you don't have any Armor so it will cast Mage Armor.

#47 Power

Power

    Glass Joe

  • Members
  • 17 posts

Posted 16 December 2010 - 02:06 PM

edit: your second line can be read like that:

if Mage Armor is not active and if Molten Armor is not active then cast Mage Armor
at the begin of the fight, you don't have any Armor so it will cast Mage Armor.


But the first line says:
if Mage Armor is not active and if Molten Armor is not active and the fight isn't too long then cast Molten Armor

With other words: If the fight is short start out with Molten Armor, if the fight is long start out with Mage Armor.

#48 Roywyn

Roywyn

    Bald Bull

  • Members
  • 1,398 posts

Posted 16 December 2010 - 02:31 PM

Kavan: For filling out the original post, does Rawr use formulation or simulation?

Rawr's Mage module uses formulation. In particular, it calculates (nearly) every possible spell cycle, computes their expected DPS value in a probabilistic model, and then uses linear optimisation to calculate the best combination of cycles that maximises total damage while fulfilling the mana positivity constraint. The normal DPS models use linear optimisation/simplex methods, which incidentally is the pillar for the two-cycle theorem.

As far as I know, Arcane's new model (Mana Adept) can be formulated with similar theory on quadratic optimisation, but I simply not very familiar with optimisation theory. So, Arcane play may actually be determined by formulation and algorithms instead of simulations.

I've got also a couple nitpicks about your Simcraft results!

0) Is "Cloth Specialisation" included in the simulations, the 5% free extra intellect?
Wizardry - Spell - World of Warcraft is the spell for mages, priests/warlocks have the same ability with a different name, for all other classes/specs it's a 5% bonus to their primary stat when wearing only their type of armour. It's trained at level 50, so you can't quickly test it with lowbie mages.

1) What is the benefit of having extra maximum mana?
Well, we can hack that together as Intellect = 1.1*(1 SP + 0.276 crit)+16.5 max mana (if Wizardry and GotW are additive for 10%, needs testing).
With that figure, the 2% max. mana form the Ember meta gem provide around 125 DPS for Arcane, 50/33 DPS for the Fire specs and 130/7 DPS for the Frost specs (see below for issues with these odd numbers). The Chaotic meta clocks around 350-500 DPS for any spec and is better in any case at those gear level even if you include that it has 54 INT instead of Crit.
The gnome racial is >=1% DPS for Arcane, <1% for Fire, we can't really tell for Frost.

2) Frost specs do very weird things in their performance. I'm looking at Simulationcraft Results in particular.
Frost/FFB does the following:
Burn to 30% - switch to Mage Armour - cast to 20% - Mana Gem - cast to 15% - Evocation for ~2 ticks (30k) - end the fight at 40% mana.
Frost/FrB does pretty much the same thing minus the Evocation. It gains 99.1 mana from Evocation, that means Evocation is uses once in every 150-300 simulations? Whatever that mean, when you look at 1) above, you'll see that the extra mana does nearly nothing for Frost/FrB while it does a lot for Frost/FFB and all other specs. With the formula above, the extra 16.5 max. mana adds 0.1 DPS for Frost/FrB and 1.1 DPS for Frost/FFB.

(When I looked over Frost/FFB again, I realised that the strategy is generally alright. It just falls into a time window where it thinks that it will run out of mana just before the mana gem comes back up and just about when the fight is about to end.)

3) How do we fix that? First, we need some TC on Armours and Evocation. Assume 25% total haste.
Evocation first adds either 30% mana in 2s/haste, then 30% mana in 4s/haste. (It's because the first tick is instant and you get a GCD anyway, the first 2 ticks are more efficient in "mana/lost_time" than the following 2.)

Evocation (ticks 1+2): -100% DPS, +94 %MP5. Evocation (ticks 3+4): -100% DPS, +47 %MP5.
Evocation shouldn't make you lose your FFB debuff stack if you plan around it.
Mage Armour: -5%/-3% DPS (Molten Armour glyphed/unglyphed), +3 %MP5 (unglyphed).
Mage Armour also costs ~4.2% of your mana pool, 1 GCD and a Mana loss from Master of Elements.

Mana Potion over Volcanic is +10k mana, -78k damage. Potion of Concentration over Volcanic is +22k mana directly, +13k mana not spent, -250k damage to time loss, -78k damage to potion loss. Spread over the arbitrary period of 10 seconds, we get:
Mana Potion (over Volcanic): -30% DPS, +5 %MP5. That's even beyond terrible.
Potion of Concentration: -130% DPS, +20 %MP5. That's actually comparably terrible.

(At 50% Molten Armour uptime in a 5 minute fight, casting Mage Armour is a -5.8%/-3.8% DPS loss and a +2.75 %MP5 gain for a decision whether to use Evocation or not. Keep in mind that it's still the differentials that count for the decision when to use it.)

The awkward thing is: For casting Evocation, the first half of is good and the second part is mediocre. For casting Mage Armour, the first part is terrible but the second part is good. So, you'll only want to cast the second half of Evocation (as early as you can) if you know that it allows you to end the without casting Mage Armour at all. Your decision now requires you to look into your crystal ball or use your divination goggle to discern what would happen 5 minutes into the future. That's where Frost/FFB shoots itself in the foot in 2) above as well.

4) Great! As if the whole thing wasn't a huge mess before, now we get glyphs into the discussion as well!
Glyph of Mage Armour is likely never worth it. Glyph of Molten Armour will likely outpace Ice Lance for Frost/FFB specs when you can get above 50% Molten Armour uptime. For Frost/FrB specs, Glyph of Molten armour can only replace FrB/FFB glyphs when you get above ~80% Molten Armour uptime, maybe even never (too many side effects for reliable simple calculations/estimates).

5) So, what can we conclude from here so far? First, the ranked qualities of Mana regeneration mechanics:
First 2 ticks of Evocation >= Mage Armour regen with Molten not glyphed >> Mage Armour with Molten glyphed >= Last 2 ticks of Evocation >>>>>> Using a Mana/Concentration Potion
Mage Armour occurs a time/mana loss when casting, which is not avoidable unless you can get through a fight by Molten Armour and alternative means of regen alone.

6) Does that change anything? The questions are whether we can we get by without Mage armour and how to optimise mana utilisation in either case.

- Frost/FrB gains 110k Mana from Mage Armour. We could get 60k from Evocation, 4k from not casting MA, 5k from more MoE, 5k that we can't spend during Evocation, the 20k that we end the fight with - so we're still 15k short.
Concerning that we burn around 400k mana over 3 minutes, 15k is not a lot actually. This is totally doable if we could reforge/regear 4-5% of our haste rating away to crit (or even mastery). If I can, I'll try to simulate that over the weekend. If you can get there, Glyph of Molten Armour may be an alternative to Glyph of Frostbolt (or even Glyph of FFB which is better for DPS but worse for Mana due to MoE).

- Frost/FFB is heavier on mana. I really can't see it get by without a switch to Mage Armour midfight. Still, we can improve the performance by using Evocation (2 or 4 ticks) before switching to Mage Armour, so that we don't end the fight at 40% mana. This can be done with Glyph of Ice Lance or Molten Armour (we may get close to 50% uptime). That's 4 strategies to figure what to do just in this one basic scenario. :aaa:
Chaotic Meta Gems in Cataclysm: http://elitistjerks....p2/#post1794256

DPS spec and class comparison in Naxxramas gear: http://code.google.c...ki/SampleOutput
The Blue Bar and you - the complete Fire Mage 2.4 mana compendium: http://elitistjerks....0-post3191.html

And doesn't proc on AM.
Neither does since 3.1.

#49 dedmonwakeen

dedmonwakeen

    Bald Bull

  • Members
  • 1,302 posts

Posted 16 December 2010 - 04:29 PM

As far as I know, Arcane's new model (Mana Adept) can be formulated with similar theory on quadratic optimisation, but I simply not very familiar with optimisation theory. So, Arcane play may actually be determined by formulation and algorithms instead of simulations.


The effect of mana on Arcane modeling may appear to be no longer a simple constraint. However, if we are certain that "burn interleaved with mana-neutral" is the optimal approach then the formulation complexity is VASTLY reduced. Furthermore, Kavan's experience with optimally converting mana to dps means that he is in a very good position to automatically provide mana-neutral cycles for given gear. (I suppose "mana-neutral cycle-pairs" is probably a better description.)

Right now, the Arcane AI in SimC merely attempts to dynamically "hover" near max mana outside of the burn phase. However, this can result in odd cycle-pairs, the optimality of which is uncertain. Since I already track mana in/out I would like to smooth out the resultant cycles automagically. For the purposes of analysis, I will generate a character stream that corresponds to the action sequence. Since SimC actions are a bit more abstract, I cannot easily reuse Kavan's notation. Instead I will assign a single unique character to each item in the action priority list. Of course, if I try to merge this over multiple iterations, it will most likely look like mush, so I'll just have to pick an iteration (first, last, whatever).

#50 Kavan

Kavan

    Bald Bull

  • Members
  • 1,018 posts

Posted 16 December 2010 - 10:55 PM

Well the problem of mana neutral cycle mix is definitely a lot easier in the idealized world of Rawr where I'm working with averaged continuous cycles. There's several things that complicate the situation in real game or simulation. First you have to balance the mana overflow with being too far below max mana. It is not completely obvious which is more important. Second the real cycles are discrete and the mixing is not straight forward always. Also you have to deal with randomness that can deviate far from average. So knowing that, the cycle mix Rawr suggests is at best a good approximation, but it's not necessarily the best. At the least it's missing the above mentioned clarification of how to translate it to real world.

#51 Thelmaria

Thelmaria

    Glass Joe

  • Members
  • 1 posts

Posted 17 December 2010 - 08:14 AM

I've run SimulationCraft with optimal_raid=0 on my fire mage, and I'm still getting
Auras and De-Buffs:
  Constant: arcane_tactics

Output from the debug shows
override.arcane_tactics=0
is set. Am I right in thinking, then, that it's simulating the extra damage from arcane tactics despite me not investing into it?

#52 Ektoplasme

Ektoplasme

    Von Kaiser

  • Members
  • 50 posts

Posted 17 December 2010 - 03:05 PM

Lhivera, someone mentioned in the fire thread that hard casting Pyroblast when the dot is not on the target could be a DPS gain. I simulated this new rotation and apparently he's right. I get a 200 DPS increase (with 27 DPS for the margin or error after 20 000 iterations) with the following priority list compared to the Mage_Fire_T11_372.simc profile:

actions=flask,type=draconic_mind
actions+=/food,type=seafood_magnifique_feast
actions+=/arcane_brilliance
actions+=/molten_armor
actions+=/snapshot_stats
actions+=/volcanic_potion,if=!in_combat
actions+=/volcanic_potion,if=buff.bloodlust.react|target.time_to_die<=40
actions+=/counterspell
actions+=/mana_gem,if=mana_deficit>12500
actions+=/scorch,debuff=1
actions+=/combustion,if=dot.living_bomb.ticking&dot.ignite.ticking&dot.pyroblast_hs.ticking
actions+=/mirror_image
actions+=/living_bomb,if=!ticking
actions+=/pyroblast_hs,if=buff.hot_streak.react
actions+=/flame_orb
actions+=/scorch,if=mana_pct<5
[B]actions+=/pyroblast,if=(target.time_to_die<60|mana_pct>39)&!(dot.pyroblast_hs.ticking|dot.pyroblast.ticking)[/B]
[I]actions+=/fireball,if=target.time_to_die<60|mana_pct>39[/I]
actions+=/scorch,if=mana_pct<95&cooldown.evocation.remains>60
actions+=/evocation
actions+=/scorch

I added the line in Bold. I combined 2 lines in 1 in italic (just a cosmetic change).

Output with the new priority list (27 796 DPS): Simulationcraft Results
Output with Mage_Fire_T11_372.simc profile (27 583 DPS): Simulationcraft Results

I optimised my priority list and managed to get 28 012 DPS (+/- 27) with the following condition (to replace the bolded and italic lines): (see Simulationcraft Results )

actions+=/pyroblast,if=(target.time_to_die<100|mana_pct>29)&dot.pyroblast.remains<4
actions+=/fireball,if=target.time_to_die<80|mana_pct>39

I think there is something fishy going on with the simulator. It seems the sim considers Pyroblast's dot and Pyroblast!'s dot as 2 different dots. But in game there are the same and do not stack, instead they can refresh each other. Lhivera, could you check if the simulator models this correctly?

#53 Zimeron

Zimeron

    Cookies!

  • Members
  • 423 posts

Posted 17 December 2010 - 06:01 PM

Am I right in thinking, then, that it's simulating the extra damage from arcane tactics despite me not investing into it?


This is a bug and you are getting the benefit from Arcane Tactics. The bug is fixed in r6066.

#54 Silverwind

Silverwind

    Von Kaiser

  • Members
  • 67 posts

Posted 18 December 2010 - 12:00 PM

I switched the trinket and made a couple tweaks to the Arcane priority list. I did gain a couple hundred DPS, but couldn't get the 600 you did - could you provide the action list you used?

Kavan: For filling out the original post, does Rawr use formulation or simulation?


Here's my WiP priority list, resulting in ~23757 dps versus your current upload with 23276 dps. I shortened the burn phase at the end of the fight significantly, and used the second potion during a burn phase instead of using it during bloodlust. I also fall back to AB3 during bloodlust to keep the mana high. There's certainly room for more improvements, especially for the bloodlust phase.
Spoiler

http://chart.apis.go...,20&chco=2459FF

#55 Lhivera

Lhivera

    Bald Bull

  • Members
  • 1,519 posts

Posted 18 December 2010 - 01:52 PM

Tested those changes for both Arcane and Fire and they do indeed work well -- I'll get them pushed out to the repository. Thanks!
At Veridian Dynamics, we can even make radishes so spicy, people can't eat them. But we're not, because people can't eat them.

#56 Maje

Maje

    Don Flamenco

  • Members
  • 487 posts

Posted 21 December 2010 - 03:11 AM

I've been digging into Simcraft fire results to try and figure out the discrepancies between WoL and the simulation. I used my mage 85, removed all trinkets and proc items, changed simcraft to not use any buffs except Intellect and MA. The spec used was the usual Fire one the only deviation was glyph of Living Bomb instead of Pyroblast (that was changed in simcraft).

The raw stats were:
spp: 6168
mastery: 9.14 (22%)

I also mangled the action list so it won't cast any fire spells when the boss reaches 35% so as not to taint the results with Molten Fury.

The differences were: (live vs simc)
Pyroblast!: 12075-12527 vs 13490
Pyroblast! dot: 1200 vs 1317 (per tick)
Living Bomb: 3347 vs 3434 (per tick)
Scorch: 4943-5103 vs 5392

Fireball was actually the only spell that fitted the ingame damage, the above spells were all lower than their live versions.

Also I've been poking at Hot Streak, I've manually disabled the T3 hot streak effect (removed the relevant section in the code), the mage in question had 41.9% crit with Fireballs and 36.9% with Scorch in general that would mean that the T3 HS contribution should be larger than 0 however the number of HS procs during the fight didn't change.

#57 Lhivera

Lhivera

    Bald Bull

  • Members
  • 1,519 posts

Posted 21 December 2010 - 01:20 PM

Asked Dedmonwakeen to take a look at your message, Maje.

Also, I corrected the problem where both the Pyroblast and Pyroblast_HS DOTs were being allowed to tick together. That's had a startlingly large effect on DPS, decreasing Fire by about 1000, since it was also increasing average Ignite damage and together they were significantly increasing average Combustion damage. That reduces the advantage of Fire over Frost and Arcane to less than 8%.
At Veridian Dynamics, we can even make radishes so spicy, people can't eat them. But we're not, because people can't eat them.

#58 dedmonwakeen

dedmonwakeen

    Bald Bull

  • Members
  • 1,302 posts

Posted 21 December 2010 - 01:39 PM

snip

I also mangled the action list so it won't cast any fire spells when the boss reaches 35% so as not to taint the results with Molten Fury.

snip

Fireball was actually the only spell that fitted the ingame damage, the above spells were all lower than their live versions.

Also I've been poking at Hot Streak, I've manually disabled the T3 hot streak effect (removed the relevant section in the code), the mage in question had 41.9% crit with Fireballs and 36.9% with Scorch in general that would mean that the T3 HS contribution should be larger than 0 however the number of HS procs during the fight didn't change.


You can add molten_fury=0 after the player definition to neuter that talent without changing the talent spec.

Did you really mean "all lower than live"? You data seemed to imply the other direction.

I'll perform similar HS experiments and report my analysis.

The current implementation hides the actual talent data from a pure code-inspection point of view. I will be updating the code to automatically provide some of that detail that is now only available via the spell query stuff.

EDIT: If there is sufficient interest, I will make the spell query functionality more accessible from the gui.

#59 Maje

Maje

    Don Flamenco

  • Members
  • 487 posts

Posted 21 December 2010 - 02:58 PM

Yes, appologies, I meant higher than live. I'll check the debug flag and update here. What prompted my analysis in the first place was the pretty big difference in the numbers on WoL vs. Simcraft, espesially the damage attributed to Pyroblast! vs Living bomb (both in damage per and the number of actual HS procs). Even on a completely single target encounter LB seems to dominate P! by a factor.

The Pyro! multiplier seems somewhat correct, the expected value is 1.25(specialization)*1.03(fire power) = 1.2875 while the multiplier reported in the log is 1.29 not enough to explain the difference. Perhaps the base damage and/or the coef. are different.

Also Living Bomb's Critical Mass is additive with mastery rather than multiplicative, and same goes to the Living Bomb glyph.

EDIT:
Scratch that, using molten_fury=0 instead of my ugly hacks the numbers for all the spells apart from Living Bomb fit perfectly. Living Bomb is probably due to the Critical Mass + Mastery + glyph calculations.

There is only the HS proc rate.

Also Lhivera it seems that with the fix to pyro dot it's actually a dps loss to hard cast Pyroblast.

EDIT2:
On a slightly unrelated note Lightweave(2) is modeled as a 45s ICD, it's actually 50s.

#60 dedmonwakeen

dedmonwakeen

    Bald Bull

  • Members
  • 1,302 posts

Posted 21 December 2010 - 06:13 PM

SimC commit r6101 contains:
LvB Glyph and Critical Mass and Flashburn now stack additively
Hard-cast Pyro is removed from default action list (profiles not yet updated, leaving that for Lhivera)
Lightweave 2 ICD is now 50s

EDIT:
SimC commit r6102 contains:
Fix of nasty bug preventing reset of hot-streak crit counter.

Keep 'em coming, Maje.

EDIT2: SimC v12 BETA released containing aforementioned fixes.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users