New To Rawr: Deciphering Heiroglyphics

Topics: Rawr.Mage
Jul 14, 2009 at 1:02 AM

Using Mage Template, Imported character data from armory, v2.2.9-Mage:

On Options --> Advanced, clicked the "Compute Optimal Arcane Cycles" button and gave me this pop-up with information:

While I've figured out everything else that I've looked for, I cannot seem to make heads or tails of what it's trying to explain to me.. The Formulas that it gives doesn't seem to make sense to me in conjunction with the other stuff that it lists.

If someone could help walk me through it or something, I'd be grateful.




Jul 14, 2009 at 11:13 AM

Cycles are described in terms of state policy, which means that it tells you what spell to use under which circumstances. First you need to understand what the states describe, which as you said can be a bit cryptic since they're auto generated. Here's a human readable translation for your case:

0: no stacks of AB, ABar not on cooldown
1: no stacks of AB, ABar on cooldown, MB proc not visible
2: no stacks of AB, ABar on cooldown, MB proc visible
3: 1 stack of AB, MB proc visible
4: 2 stacks of AB, MB proc not visible
5: 3 stacks of AB, MB proc not visible
6: 3 stacks of AB, MB proc visible
7: 2 stacks of AB, MB proc visible
8: 1 stack of AB, MB proc not visible

Now the cycles are described as a control string, one number for each state, describing which spell to cast in that state, 0 = AB, 1 = ABar, 2 = AM. Not all cycles enter all the states so in some cases some of the numbers are arbitrary.

For example 000000200 means to always cast AB except use AM when you're in state 6, that is when you're at 3 stacks of AB and you see MB proc (cycle ABSpam3MBAM). 100000200 is the same except you use ABar when you're at 0 stacks of AB and it's not on cooldown. If you think about it this will only happen after you use AM on proc so this is equivalent to always using AB except using AM-ABar on 3 stack when you see proc (that is the ABSpam3C cycle). And so on for the rest of the cycles.

Jul 15, 2009 at 1:13 AM


"For example 000000200 means to always cast AB except use AM when you're in state 6, that is when you're at 3 stacks of AB and you see MB proc (cycle ABSpam3MBAM)."



I understand the cycle that you've broken down for me, but perhaps you could explain how you came to conclude that state 6 is when you switch to AM. I realize that there are 6 zeros before the 2.. Is that how you determine which state to use, and if so, what does the 2 stand for?


Perhaps I'm incompetent and maybe the only person having this problem with understanding the output of 000000200.. Maybe you could just break down what the outputs stand for piece by piece as simple as possible, in hope that it may help out other people as well.


Jul 15, 2009 at 3:10 AM

Yes the numbers correspond to spell selection for each state. So a code of X1 X2 X3 ... Xn would mean cast spell Xi (according to spell code, 0 = AB, 1 = ABar, 2 = AM) in state i (according to state description).

Jul 15, 2009 at 7:11 AM

so in the above post, X is the placeholder location (which we've deemed "state"), and the number that it reads is which spell we should cast according to the legend. Correct?


I'm going to assume yes, so that would also mean that given 000000200, it's saying to smash ABx6 then AM; while this makes AM this 7th state, it is actually referring to the 6th state at which you pay attention to (3 stacks of AB, MB proc visible) as opposed to looking at the 7th state (which would provide a damage decrease on your AM with only 2 stacks of AB up).


Essentially, this is assuming that Missle Barrage doesn't proc until minimally the 4th state, but presumes that you will only use AM when Missle Barrage is active, and prefers that you use it with a 3stack of AB.

Given that, I think it is a fair assumption that the code isn't asking you to cast AB 6 times, but is basically telling you to use AB until you proc Missle Barrage, continue casting AB until you have a 3stack of the debuff, and then casting AM. So assuming that Missle Barrage would proc every time on the first or second cast of AB, your rotation could possibly work out to be as simple as AB x3, AM :repeat: ....right?

Jul 15, 2009 at 7:47 AM

No. Look at your picture. There are 9 digits in each of the cycles. Those 9 digits correspond to the 9 different states, as described in the 9 lines under "Base:". What number the digit is describes what to do when you're in that state (0=AB, 1=ABar, 2=AM, as noted on the "Cycle Code Legend" line).

Each of the 9 states are described in the form of "ABx,ABary,MBz+-", where x = number of AB stacks, y = remaining cooldown on ABar, z = remaining time on MissileBarrage, and +/- = whether MBarr is visible or not.


So 000000200 means: always cast spell #0 (AB), except while in State #6, which is "AB3,ABar0,MB12.8306+", where you should cast spell #2 (AM). So spam AB, except use AM when you have 3 stacks of AB, ABar is off cooldown, Missile Barrage is visible, and there is less than 12.8306sec left on it.

Jul 15, 2009 at 7:58 AM

What Astrylian said, just a small correction. The timing on MB left isn't significant, because currently the spell selection logic only depends on whether MB proc is visible or not (there are actually several states AB3,ABar0,MBz+, with different time left on MB, it just picks the first one on its internal list to be a representative for all states that are considered equivalent for purposes of spell selection logic).

Jul 15, 2009 at 5:38 PM

Alrighty, I think it's finally been broken down enough for me to understand... Theorycrafting is a pain sometimes, eh? 


Well, I know it's helped me, and hopefully will help someone else.



Jul 15, 2009 at 5:40 PM

I think part of the problem is that output really makes two very big assumptions:

1. That someone who is not a programmer understands what a state machine is, and what a "state" is

2. That someone can read a string of digits and parse that as decisions to be made based on the current state.

To me, sadly, that output looks more like some concise text that you'd find in a program's internal save file more than something that is for [a non-programmer's] consumption.  I can only come up with a couple of suggestions to get around this, but one's not ideal and the other one is much work.

The first may involve people choosing their favorite rotation (i.e. probably clicking on the one that shows the highest dps) and printing out a verbose sequence of rules that include "If this and this then do that."  I could see that spanning a whole screen considering the complexity of the states & the length of the rotations.  The alternative, which might be better, would be to try to generate a flow chart for a selected rotation.

As someone who is extremely well versed in programming but not as much in mage abilities, I also find that output very hard to understand (and fwiw I have a 64 mage).  I suppose the same would be true for someone who isn't a programmer but knows mages very well.

So my question to you is:  Who is this screen directed towards?  Is it for all Rawr users?  Or do you expect only half a dozen uber-analytical mages to study it and to distill the results on their own blogs for others to understand?


Jul 15, 2009 at 7:41 PM

Somewhere closer to 'only half a dozen uber-analytical mages' (and only 1 spec of mages), I'm sure. This is buried on the Advanced tab for a reason. Kavan has explicitly said in the past, that this probably won't be getting any usability improvements, because it's just not intended to be widely used. (Kavan, correct me if I'm wrong, or expand on that)

Jul 15, 2009 at 9:15 PM

Ok, if that's the case then disregard my comments above, they don't really apply.


Jul 16, 2009 at 4:23 AM

Yes this is an advanced tool that lets someone verify if the "standard" cycles are applicable in the specific situation someone is investigating. Its main use is for me to check between major changes in mage mechanics if I'm missing any of the optimal cycles.

Jul 16, 2009 at 7:22 AM

yes char, this is definately the 'half a dozen uber-analytical mages' aspect. I am quite well versed at being a mage, but was looking for something different... constantly looking for a dps increase. While I am decently versed in programming, somehow this breakdown escaped me (most of my programming is web based [PHP/MySQL Scripting] as opposed to actual program creation based).

Decided to give Rawr a shot to see if there was a way to increase my dps, and it seems like there are several boosts available, but as Kavan mentioned, this does seem better geared towards identifying changes in class mechanics as opposed to being directed at average users that are just looking for a way of maximizing their damage output. For the analysts it can work wonders, but for average players and especially people who have never even DABBLED in computing mechanics before... I think it'd be a headache and a turn-off for them.

Perhaps a suggestion though for future Rawr releases would indeed be an easier-to-read output for people looking to find good rotations to use. Rawr encompasses so much more than maxDPS and other sites available, but really only lacks a rotation helper (which I do realize some people are against in the sense of oversimplifying things for people, but at some point you have to look at it in a "for the greater good of your progression" perspective).

Happy to have sparked discussion, and again grateful for the help.

Thanks again,