APL Deconstruction: Understanding Robomage's Magic

Anything mage specific not covered by any of the other subforums, like raid instance guides for mages.
User avatar
Komma
Administrator
Posts: 1486
Joined: Wed May 28, 2014 7:37 pm

APL Deconstruction: Understanding Robomage's Magic

Unread postby Komma Mon Oct 19, 2015 7:18 am

World of Warcraft SimulationCraft Mage APL

For any frequent visitor at Altered Time, it is easily noticed that a lot of the Mage theorycrafting and analysis is based on SimulationCraft. This has not always been the case. As recent as early Mists of Pandari, Mage simulations were considered inaccurate, unreliable, correlate poorly to in-game results, and generally a poor source of information. Things have improved a lot since then, because the community decided to reach out and participate in SimC. We made sure that all Mage spells are modelled properly, and that the simulated Mage player, or "Robomage" as I like to call him, plays like we do.

The unfortunate side effect of fixing SimC, is that Robomage now has an extremely complicated Action Priority List (APL). To those of you new to the term, the APL is a list of actions that tells Robomage how to use his spells. It's a long list of rules that come together and form the rotation of the class, such as "use Arcane Missiles if at 4 Arcane Charges and below 93% mana" or "use Prismatic Crystal followed by Arcane Power and start the burn phase".

The problem with a complicated APL is that it gets harder and harder to maintain. As time goes on, only a tiny minority of players can really understand how it works. As these players start taking breaks or retiring from the game for whatever reason, all this knowledge is lost. This becomes a huge problem when a new expansion or big in-game patch hits, making it necessary to update the APL with new rotations due to items, talents, or other effects.

This isn't just a theoretical problem, because we've experienced it once before. When Altered Time decided to participate in the SimulationCraft project, we found the Robomage completely lacking in explanations for why and how things work (or more often, don't work). We've spent more than a few days completely reinventing wheels. On more than one occasion, we wished Kavan/Lhivera had left some personal notes to explain voodoo magic behind certain lines of code. However, we can't place any blame on them. They didn't have a Mage community to support them, or a place where they had an audience that could pick things up where they left off. That's very different from today, when Altered Time is virtually a "class hall" to host our information. Let's not make that same mistake again.

Over the next few weeks, we're going to publish a number of posts in each spec forum that explain how Robomage does his magic, along with explanations of why, what we tried, what doesn't work, and what we think can be done better. The goal is as I described above: anyone who cares enough to understand the magic behind Robomage, should be able to understand enough about the current APL design, to the point where they can feel comfortable tinkering with it and offering input on how to improve things. Be warned that these threads will contain otherworldly, absolutely absurd amounts of text. If understanding details behind Mage theory is not your thing, they're not for you.

Here is a list of links to the APL Deconstruction threads. I will keep this list up-to-date as we add more.

Arcane APL: APL Deconstruction: Arcane


APL Philosophy for the Inclined

Sidetracking a little bit, I feel it is worth making clear the purpose of an APL. Quoting from all default APLs,
# This default action priority list is automatically created based on your character.
# It is a attempt to provide you with a action list that is both simple and practicable,
# while resulting in a meaningful and good simulation. It may not result in the absolutely highest possible dps.
# Feel free to edit, adapt and improve it to your own needs.
My approach to APLs is to provide a basic level of support to all primary forms of raiding gameplay. Wide coverage means we will sometimes see unexpected discoveries. However, this also means we need to support a lot of combinations for common glyphs and talents with a single action list, which very challenging. How does Nether Tempest play with Prismatic Crystal? How does Frost Bomb interact with Thermal Void? All these are challenging questions that often get ignored by the community, generally regarded as "subpar" options. As recent as 6.2 though, we've seen how "subpar" talents such as Unstable Magic can suddenly rise to the top due to patch changes. If we had done the same as the community and ignored Unstable Magic as unworthy of attention, we would have been unable to discover how it would become strong, prior to the patch being launched.

Another frequently raised issue is when players ask us to support specific setups with tailor-made actions, either for openers, or interesting trinket combinations, or exotic spell combos with weird effects. A lot of these requests lose sight of what SimC is meant to do. SimC is meant to provide a meaningful and good simulation, which I define as generating useful output that is relevant to gameplay. Nearly all the time, these minor enhancements have little to no effect on the resulting information generated. On the other hand, adding fragile, tailor-made logic that may or may not work for all players, or complicated tricks that require exotic sequences, cause the sim to lose reliability and narrow the audience. In addition, players often fixate on RNG-dependent tricks that have a chance to generate ridiculous success, but don't do any evaluation of failure rates and expected payoffs, nor do they craft any contingency plan for when things fail. Just like any other form of programming, simulations must consider all possible paths of logic. You cannot simply discard bad RNG cases as "failed attempts". You cannot consider only the cases where you win a lottery ticket, and ignore the rest since they "don't count".

There are many pitfalls in APL development. These goals and principles helped me craft the current Mage APLs, and it is my hope that whoever decides to participate in the project will keep these same goals in mind.
Admin of Altered Time.

Have an issue with the website or moderation? Send me a PM!
User avatar
nathyiel
Posts: 298
Joined: Tue Jun 03, 2014 1:10 pm
Location: Math Land of Madness
Contact:

Re: APL Deconstruction: Understanding Robomage's Magic

Unread postby nathyiel Wed Oct 21, 2015 1:03 am

Even if i'm a little absent on wow, i'm still planing to test legion beta and grind my mage to 110.
So I will be back to do some APL testing as frost.

I think you did a pretty good job with this topic. I just want to add:
At the start of Legion's alpha/beta, there will be a lot of change to class as Dev will test new things, etc. If it's good to test and give feedback, don't expect to see them in SimC.
It take times to code action in c++ and to debug it. In fact, beta version of SimC is a little like ptr/beta : some things don't work or bug.
But help will be even more welcome as checking if SimC do things like in game (proc on cast or on hit, number of stack, etc) will be very important.
my twitter : @nathyiel
my armory : Nathyiel (DalaranEU)
Frost rocks on cleave but Fire reigns on AoE. Where is Arcane ?
Searix
Posts: 233
Joined: Mon Feb 09, 2015 10:07 pm

Re: APL Deconstruction: Understanding Robomage's Magic

Unread postby Searix Fri Oct 23, 2015 4:47 am

Another frequently raised issue is when players ask us to support specific setups with tailor-made actions, either for openers, or interesting trinket combinations, or exotic spell combos with weird effects. A lot of these requests lose sight of what SimC is meant to do. SimC is meant to provide a meaningful and good simulation, which I define as generating useful output that is relevant to gameplay. Nearly all the time, these minor enhancements have little to no effect on the resulting information generated. On the other hand, adding fragile, tailor-made logic that may or may not work for all players, or complicated tricks that require exotic sequences, cause the sim to lose reliability and narrow the audience. In addition, players often fixate on RNG-dependent tricks that have a chance to generate ridiculous success, but don't do any evaluation of failure rates and expected payoffs, nor do they craft any contingency plan for when things fail. Just like any other form of programming, simulations must consider all possible paths of logic. You cannot simply discard bad RNG cases as "failed attempts". You cannot consider only the cases where you win a lottery ticket, and ignore the rest since they "don't count".
Feels like this is largely directed to the Prophecy of Fear thread i authored :).

It really is interesting how much one trinket can change things. There were many different theories on how to best utilize it in the thread, and as you noted many problems/questions (some of which were never resolved).

On the bright side, we learned:
-AM does more damage than arcane blast regardless of stacks
-PoF proc on crystal should prioritize more AMs (not necessarily at the cost of all ABs, another thing we never resolved)
In addition, players often fixate on RNG-dependent tricks that have a chance to generate ridiculous success, but don't do any evaluation of failure rates and expected payoffs, nor do they craft any contingency plan for when things fail. Just like any other form of programming, simulations must consider all possible paths of logic. You cannot simply discard bad RNG cases as "failed attempts". You cannot consider only the cases where you win a lottery ticket, and ignore the rest since they "don't count".
I hope this wasn't directed at me, but it feels like it is. First, from the OP
NEW: Rotation Changes
Opener:
Sometimes Mark of Doom procs on the first cast, sometimes it procs a few ABs in. This leads to a priority system:

If(MoD procs on first 2 ABs): AB last 2 times, cooldowns (AP, berserking etc.), Arcane Missiles, PC as missiles land, target PC, Supernova (x2 if mark is still on boss), burn phase

If(MoD doesn't proc on first 2 ABs): PC (we're hoping MoD procs on crystal), burn phase getting all AMs possible onto crystal before it expires

Mid attempt:
If(MoD has enough time left for arcane missiles to land and PC/AP is up): cooldowns (AP, berserking, etc.), Arcane Missiles, PC as missiles land, target PC, burn phase
I've been considering average dps and backup plans to the best of my ability.

This comes to my main point: like you noted there are many 'RNG-dependent tricks that have a chance to generate ridiculous success', but unfortunately it feels like most of us got left in the dark here.

There reached a point shortly into the thread, and im sure some of it is my fault, where mods notable for theorycrafting in this forum stopped visiting the thread and stopped theorycrafting. There are still many things regarding PoF that were never resolved or made clear, many of it in the 2nd half of the thread.
On the other hand, adding fragile, tailor-made logic that may or may not work for all players, or complicated tricks that require exotic sequences, cause the sim to lose reliability and narrow the audience
I think i agree with this argument, which is why the mods had apathy about PoF theorycrafting i didn't push the issue beyond posting a quick change in the arcane sims thread (which still works btw, Caimion's post in the arcane sims thread is about 1.5k more dps for me) that never got implemented.

---

Just saw this at the end
At this point it is worth mentioning that the Prismatic Crystal APL doesn't go out of its way to accommodate Prophecy of Fear or the class trinket. The key difficulty with Prophecy of Fear is due to Prismatic Crystal, Mark of Doom and Arcane Missiles' hackish nature, which meant that many intuitive simc statements could not work correctly. For example, "target_if=max:debuff.mark_of_doom.remains" would not work directly with Arcane Missiles, due to Arcane Missiles being a two-part spell within SimulationCraft, and the bolts not necessarily impacting the target designated by target_if. This is an additional aspect of APL development often not considered by the community; not only do we need to verify that the Robomage is playing as we would like him to, but we also need to verify that when using newer tools, the simulation is behaving correctly. To verify that a complicated Mark of Doom-optimized APL is working perfectly would require dedicating a painstaking amount of time just to comb through disorganized debug logs, which I cannot commit to at the moment.
Wish i had seen this before i typed the previous, so it seems like most of the problems were it's too hard to implement PoF rotations? Makes sense

Guess the TL;DR then is i wish we had this response a few months ago when the thread started :)
User avatar
Komma
Administrator
Posts: 1486
Joined: Wed May 28, 2014 7:37 pm

Re: APL Deconstruction: Understanding Robomage's Magic

Unread postby Komma Fri Oct 23, 2015 6:21 am

It's not directed at you. This pattern has existed long before AT even came into existence.

Just off the top of my head, we've seen Alter Time gaming distance for Combustion and/or Prismatic Crystal, armor swapping and scorch-fire gaming with high crit and 2T16, delayed or intentionally desynced Combustion tactics, risky Ignite compression with short lived targets, off-target bomb refreshing as Arcane, meta-gem/trinket snapshotting, early WoD unglyphed AP AM proc gaming, 2T17 Combustion gaming, and the list goes on and on. We haven't even talked about various forms of water jet and shatterlance latency abuse, or the fruit basket with self-buff trinkets, or off-target water-jet with 4T18, or the recent quad trinket + double ring stupidity. In this entire paragraph, the only item that ever received significant sim attention was 2T17, and it required a heroic effort to make work.

Long story short, there is always some popular community sentiment we don't bother covering with sims. Sometimes they work, more often they're terrible ideas from anecdotal experience. The goal is to make people not fixate on the small things, and keep the focus on big matters that account for most of what we do.
Wish i had seen this before i typed the previous, so it seems like most of the problems were it's too hard to implement PoF rotations? Makes sense

Guess the TL;DR then is i wish we had this response a few months ago when the thread started :)
I think the quoted paragraph contains information that has already been covered in previous posts!
There reached a point shortly into the thread, and im sure some of it is my fault, where mods notable for theorycrafting in this forum stopped visiting the thread and stopped theorycrafting. There are still many things regarding PoF that were never resolved or made clear, many of it in the 2nd half of the thread.
Forum staff have only one role: keeping the forums functional for members to hold discussion. They have no responsibility for answering questions, or driving theorycrafting. All TC and discussion activity is completely optional and voluntary on their part; as admins, we make an effort to make sure they are aware of this. Otherwise, forum moderation work would lead to extreme burnout, just from the burden of covering the Q&A forums. :cry:

Theorycrafting is the responsibility of whoever decides to investigate a topic. If a player wants answers to open questions, the only way to do so is to get his hands dirty, put in the grunt work, and figure it out himself. This has always been the case, and I do not see this changing any time soon. Altered Time is a platform to make sure their discoveries can be heard, not an organization for generating answers. :)
Admin of Altered Time.

Have an issue with the website or moderation? Send me a PM!
Searix
Posts: 233
Joined: Mon Feb 09, 2015 10:07 pm

Re: APL Deconstruction: Understanding Robomage's Magic

Unread postby Searix Fri Oct 23, 2015 7:40 am

Forum staff have only one role: keeping the forums functional for members to hold discussion. They have no responsibility for answering questions, or driving theorycrafting. All TC and discussion activity is completely optional and voluntary on their part; as admins, we make an effort to make sure they are aware of this. Otherwise, forum moderation work would lead to extreme burnout, just from the burden of covering the Q&A forums.
Thanks for the post, definitely not saying it's required, just found it interesting that there seemed to be a general lack of interest in PoF :)
User avatar
nathyiel
Posts: 298
Joined: Tue Jun 03, 2014 1:10 pm
Location: Math Land of Madness
Contact:

Re: APL Deconstruction: Understanding Robomage's Magic

Unread postby nathyiel Fri Oct 23, 2015 9:08 am

Since star-alignement of proc are not as it was, trinket optimisation is more in order of a few percent than any things. But it's where the fun is : summing all this little gain to make the difference.
my twitter : @nathyiel
my armory : Nathyiel (DalaranEU)
Frost rocks on cleave but Fire reigns on AoE. Where is Arcane ?

Return to “General Discussion”

Who is online

Users browsing this forum: No registered users and 7 guests