Rotation Analyzer

Rotation Analyzer

Postby Thaeryn » Thu Feb 04, 2010 10:06 pm

This is a pretty big suggestion, but I thought I would throw it out as I think it would go great with WoL's current setup.

The ability to view a player's rotation in a graphical form would allow me to find out who is doing something terribly wrong a lot easier. For example, we just recruited a new prot paladin. He has great gear, but seems really low on threat. I used the expression editor to pull up all of his attacks in a row, and then used Excel to map each ability with it's appropriate cooldown in the appropriate timeframe.

Here's a quick example... it's ugly, but should illustrate what I'm talking about pretty well:

Image

Each segment represents a global cooldown. That would be a perfect paladin 696 rotation. Unfortunately, ours was not using this rotation, but it required me manually mapping each ability into Excel to get a good idea of what he WAS doing.

The biggest issues I see is taking into account glyphs, haste's effects on the GCD, and handling of the sheer amount of abilities/items that could use the GCD. Even if not 100% accurate, and more of a rough draft of their rotation, it would still be a huge help.

If there was a way to generate this sort of view directly from the combat log and view it directly underneath a graph of raid dps with custom events marked (so I could determine how rotations change during movement phases, bloodlust, etc) then I it would make my life of weeding out the terrible players in our ranks 100x easier.

Like I said, it's a pretty big request, but would really establish WoL as THE place to upload your combat logs to if you want to do any really in depth analysis.
Thaeryn
 
Posts: 2
Joined: Thu Feb 04, 2010 9:21 pm

Re: Rotation Analyzer

Postby Miles » Fri Feb 05, 2010 8:37 pm

It's not the first time there's a request for some sort of rotation analyzer, but it's the first really concrete one. It can be implemented as:

1. Basically, you have a list of spells to watch, each one has a cooldown / duration value, or the width of the bars.
2. Put each spell on the legend of the Y-axis.
3. The X-axis is time in seconds, rounded to 1 digit after the decimal point, ~3px each = 30px per second.
4. Plot each action on the area. Match spellId to the Y-Axis, plot it as left edge = start time, right edge = start + duration.


Technical details: input will be a list of spell ids plus an expression to filter by. If you use sourceid=int or sourcename=string and spellid in (list), it should return 200 lines of actions. Instead of rendering it to text, it can be plotted according to the rules above.

If the spell list isn't supplied, just plot all the spells, ordered vertically by cast count descending.

~

No custom backend code required, just some magic in js+css. Should be possible to implement it in a few hours.
Miles
Site Admin
 
Posts: 1485
Joined: Mon Mar 30, 2009 7:12 pm

Re: Rotation Analyzer

Postby Miles » Sat Feb 06, 2010 3:33 am

Oh hi. It was easier than expected to implement, a basic version is up now with fixed 1.5 seconds "blocks".


An alt tank @ Marrowgar:

http://worldoflogs.com/reports/rt-vohf1 ... DTYPE_CAST
Miles
Site Admin
 
Posts: 1485
Joined: Mon Mar 30, 2009 7:12 pm

Re: Rotation Analyzer

Postby bisl » Sat Feb 06, 2010 8:36 am

Would it be possible to display the duration of the cooldown (and perhaps the duration of the effect as well, if it's an aura-based thing?) without having to manually hardcode the cooldown for each individual spell/talent? The display is great, but it occurred to me that (not playing a paladin) I had no idea if what I was looking at was good.
bisl
 
Posts: 25
Joined: Fri Jan 22, 2010 9:16 pm

Re: Rotation Analyzer

Postby hoho » Sat Feb 06, 2010 11:06 am

Miles wrote:Oh hi. It was easier than expected to implement, a basic version is up now with fixed 1.5 seconds "blocks".
Any idea if it would be possible to change the block size as casters will have different GCD duration depending on haste.
hoho
 
Posts: 313
Joined: Tue May 05, 2009 7:34 pm

Re: Rotation Analyzer

Postby Miles » Sat Feb 06, 2010 1:31 pm

Ye. Got an idea already for how to save/load configuration data in some generic way. For this view, the config syntax will be:

Code: Select all
default: 15
53595: 40


Default sets the default width of a block, use spell id : width to customize. The hard work is to add a generic config loader, but a table like

id, type, key1, key2, key3, key4, title, description, data, owner, permissions (755?), flags

can be used to save this, and things like saved expressions (with key1=boss, key2=mode bits, key3=tag, key4=group for db-based filtering).


Description will probably be formatted with a variant on Textile (same for comments on stories @ homepage etc), still working on the lexer / parser for that. The default Textile ones generate tagsoup like <em><strong>invalid!</em></strong> and are a bit uh, regex-y.

Okay, an "everything is allowed, if not valid, display as text" language is not strict LL(1) and ANTLR really chokes on it, but a handcrafted LL(2) parser handles most things with only a few explicit greedy rules. Even llnextgen could probably handle it...

Oh well, there's a reason why no-one produced a proper parser for wikis yet.

~

<3 hunting down the annoying export bug, so much more time left for new stuff now.
Miles
Site Admin
 
Posts: 1485
Joined: Mon Mar 30, 2009 7:12 pm

Re: Rotation Analyzer

Postby Aroa » Thu Mar 04, 2010 11:24 am

This is a great feature, thanks! As mentioned above I would also like to have the spell cooldown/duration marked in some way to easily see if a spell is used every cooldown or to make sure that a certain ability with duration is always up.
Aroa
 
Posts: 151
Joined: Wed Feb 10, 2010 10:07 am

Re: Rotation Analyzer

Postby hoho » Thu Mar 04, 2010 11:43 am

while it would be awesome to see such cooldown stuff it is kind of complicated to actually implement it. Are dots cooldowns? What about judgement that has 8-10s cd depending on talents? If dots are then consider spriest ones scale from 5-15s depending on haste.
hoho
 
Posts: 313
Joined: Tue May 05, 2009 7:34 pm

Re: Rotation Analyzer

Postby bisl » Thu Mar 04, 2010 10:47 pm

Well, I'd call a dot a spell with a sort of logical cooldown that can be blown early (for bonus decreased efficiency!), whereas real cooldowns are absolute and are enforced by the game. It's sort of how if you use an addon like ClassTimers you find yourself wishing that you could see something like the cooldown on Mind Blast for spreests since you're already watching the timers for your Devouring Plague and Vampiric Touch. The brain is thinking about the spells in the same way: "when should I cast this spell again?" I definitely see your point though.

If nothing else, it would be cool to incorporate the duration for aura effects into the view instead of just when the effect was cast. I believe most of this information is available in the logs and wouldn't need to assume anything about talents, glyphs, and whatever else. In the case of spreest rotations (guess what I play), this would at least point out gaps of time when you allowed your VT or DP to lay dormant for extended periods of time. As well, depending on how the messages are published, it might be able to highlight cases when you clip your dots. I would think it would be possible to detect this if there is no aura removed message before the appearence of an aura added.

As for cooldowns, we're sort of SOL since there are no published events like "cooldown period for spell X has elapsed."
bisl
 
Posts: 25
Joined: Fri Jan 22, 2010 9:16 pm

Re: Rotation Analyzer

Postby mclem » Fri Mar 05, 2010 7:50 pm

bisl wrote:As for cooldowns, we're sort of SOL since there are no published events like "cooldown period for spell X has elapsed."


Even if there's no official event, it'd still be handy to be able to get *something*; maybe the ability to input cooldowns by hand? Being able to get a visual reference point overlaid onto the existing image would be extremely useful even if we don't have the capacity to get it automatically.
mclem
 
Posts: 4
Joined: Fri Dec 11, 2009 4:41 am

Next

Return to Suggestions & Feature Requests

Who is online

Users browsing this forum: No registered users and 0 guests