Tuesday, March 30, 2010

The Anatomy of a Targeting Macro

If you remember back to my blog entry entitled Raiding 101: The Duty of a DPS, I mentioned briefly the concept of a targeting macro and how it can be useful in a raid environment. It can be helpful to know the quirks of the /target command as it doesn't necessarily behave the way you might expect it to. This post will detail some of the finer points of the /target command.

Not Necessarily the Target in Front of you...

The targeting command of the past could be somewhat confusing to understand. While it targeted the first mob with a given name, it wasn't always the closest one to you.

Thankfully we don't have to deal with that complication anymore and the targeting command has been brought in line with a much more intuitive system that targets the closest mob to you, regardless of it's position around you. This means that you may end up targeting a creature directly behind you depending on positioning and spawn locations, but a quick pan of the camera by holding the left mouse button can help to quickly find stray targets.

Multiple Target Priority

A typical targeting macro for a raider will tend to have multiple targeting lines in it that each target a creature with a different name. For the most part these will generally be mobs that are active in different encounters so target overlap is not an issue. There are situations, however, where a targeting macro can assist in general target priority for all of the various adds that spawn during the same fight.

NOTE: The latter scenario is not typically recommended. Target swapping manually is a very valuable skill for any DPS or tank raider to have. Targeting macros are very strict in the order they target mobs and it's not always the case that a stringent kill order is the best. Assessment of the current situation and sound combat decisions based on a solid understanding of the fight will trump a targeting macro every time.

In order to keep your target priority straight when your macro has multiple targeting lines that will be used during the same encounter you need to make sure to structure your macro so the the mob with priority will be targeted by the time the macro has run it's course. There are two ways to do this and neither is particularly better.

Using a ranged DPS target priority for Valithria Dreamwalker: Blazing Skeleton, Suppressor, Blistering Zombie, Glutinous Abomination

Method 1:

/target Blazing Skeleton
/target Suppressor [noexists] [dead]
/target Blistering Zombie [noexists] [dead]
/target Glutinous Abomination [noexists] [dead]

Method 2:

/target Glutinous Abomination
/target Blistering Zombie
/target Suppressor
/target Blazing Skeleton

In method 1 you can see that the target priority is done in the order of the kill priority. Each line after the first will check to see if the current target (presumably what the previous line targeted) exists or is dead. If it does exist (meaning you have a target) and that target is not dead then the next targeting line will not execute, leaving you with your original target.

Method 1 is a good method to use if you find that method 2 causes your computer to hang, if you have very few targets to include int he macro or you have a mod that allows you to make macros with more than 255 characters. The fact that each line after the first must include two conditionals to operate effectively make this a bad method to use if you have an extensive list of targets or other commands you would like to include in the macro as the conditionals on each line tend to push on the default 255 macro characters limit rather quickly.

As you've probably already realized method 2 uses a reverse targeting order in it's design. This method of placing the highest priority last effectively means that if any two targets are up at the same time you'll target both of them, but by the end of the macro you'll have your highest priority target in the cross hairs. For most PCs this should be completely transparent - you won't even see the intermediary targets, just your last one. However, if you find this causes you to hang for a moment because of a slow PC or laggy unit frames method 1 may be worth a look.

Automatic or Manual?

There are two options for integrating a targeting macro into the boss fight, and for the most part they both depend on play style.

For those like myself the automatic option is the best. This method works well if you tend to target a vast majority of things manually as you will be able to get by with a minimum number of target lines in your macro. The idea is to integrate all the ultra high priority targets from various encounters your guild runs into a single macro that will replace the main button in your DPS rotation.

This is what a macro of this sort might look like:

#showtooltip Lightning Bolt
/target Bone Spike
/target Blazing Skeleton
/targetlasttarget [dead]
/cast Lightning Bolt

As you can see there is a very limited number of targeting lines in this macro as placement here is strictly for high priority targets. Additionally, no targets both occur in the same encounter so the order of the targeting lines is irrelevant.

There is one additional line where the target last target command is invoked with the dead condition. This is included because of the nature of this type of targeting macro. When embedding a macro into your DPS rotation like this you'll want to use a frequently cast spell which will result in spamming the targeting functions. Often a mobs corpse will take a few moments to despawn but a targeting command will still target the corpse. After the targeting line switches to the corpse this line checks to see if the target is dead, in which case it targets your last target so you don't have to waste DPS uptime targeting a corpse.

This type of macro is beneficial because it allows you to move smoothly between encounters instead of remembering to prepare a macro for each fight. It would require (if not used in conjunction with other targeting macros) manual targeting for a good portion of adds throughout raid instances as this certainly is not a comprehensive list, but as raids are more and more dynamic with each instance released this is a very important skill to foster going forward.

For those who prefer an extra action bar with a bank of targeting macros specific to each fight there is a manual option. This would require you to either make several macros or use a mod that supports macros without character limits and make one long super macro. Either targeting method works so this is largely up to preference and your macro character limitations.

For a manual macro system there would be no integration with existing spells, you would simply make a separate macro (or macros) that you'll have to manually click or give it's own keybinding to. This is best for making a comprehensive list of all targets in a particular encounter, much like in the targeting method 1 and 2 examples above.

Tuesday, March 16, 2010

Raiding 101: Interface Setup

Disclaimer: This is not an article on making your interface look good, moreover it is a guide on how to optimize an interface for raiding. If you're interested in beautifying your interface the WoW Interface and Macros forum is a great place to go! There usually is a "Post your UI" thread where making an interface that is consistent and aesthetically pleasing is usually the focus.

I've put off this topic for quite some time due to the immense nature of the topic. After all, different roles within a raid require different types of interface setup and some of these roles are even split up between the same class or even spec. For instance, an elemental shaman who traditionally kites adds when needed may need a slightly different toolset than one that only needs to hammer away at the boss endlessly.

That being said, there can be a great deal of simplicity when it comes to setting up your interface and though it may seem daunting it really boils down to one simple question:

What information do you need to see in the heat of battle?

This can be a tricky prospect, however, as a great deal of information can be perceived as necessary when it actually isn't. In this respect it can be helpful to take a good long look at your interface elements (Preferably not during an encounter that requires your undivided attention!) and ask yourself.. do I really need to see that?

Here are some common elements that can be eliminated from most interfaces when there is a lot of clutter:
  • Superfluous Action Buttons - Most of the time during a fight you won't need to bring out a Traveler's Tundra Mammoth or cast Water Breathing on someone. These extra non-combat utility and vanity spells can be placed on an action bar that hides itself when in combat or not moused over. OPie or Geist can also be used to give you a bank of action buttons that remains hidden until a keybinding is pressed.
  • Full Buff Lists - In the current iteration of the game there are an obscene amount of buffs flying around. So many, in fact, that Blizzard is changing many of the talented raid wide buffs to be auras to cut down on lag as a result of buffs constantly being reapplied. One handy little feature that was added recently was the ability to consolidate long term buffs into a single button. You can find this by opening the game menu, clicking the 'Interface' button and opening to the 'Buffs and Debuffs' category. If you're worried about missing a particular buff when the readycheck goes out because they're consolidated try a mod like BuffEnough, which will give you a clear indication on whether or not you are fully buffed based on your raid composition.
  • Scrolling Combat Text - OK, this isn't completely something to get rid of. However, it's not always strictly necessary to see all your uber crits rolling in as they happen. It wastes real estate and distracts from the goal at hand, which is to kill the boss. Try and keep scrolling combat text to important events like procs that you need to respond to, cleanses and buff and debuff application and removal. The goal here is to see the information you need to make an informed decision and nothing else.
  • Extra LDB/Fubar/Minimap Buttons - With minimap buttons coming in as the lesser of the three evils this is another thing that commonly chokes portions of an interface. Try and keep these down to the minimum information required. Hide as many individual AddOn menu buttons as you can stand and use slash commands or the Blizzard AddOn menu to configure them (Game Menu -> Interface -> AddOns tab).
  • Damage Meters - These are an intensely useful way to scrutinize your performance on demand, but embellishing the damage meter window by making it overly large or placing it in a place where it's distracting can detract from performance. Remember that the focus needs to be on the boss, the numbers should only gain focus in between attempts. Consider hiding the meters while your in combat to keep the largest part of your screen clear and prevent the meters from becoming a distraction.
  • Redundant Information - If you have debuffs displayed just below your own unit frame then they probably don't need to be shown in the top right corner. If you have a damage meter that comes packaged with a threat meter try configuring it to switch to threat mode during combat instead of loading a separate threat meter. The basic goal here should be that a piece of information you need to have on the screen should only be displayed once on the screen.
Field of View

If you recall my first ever Raiding 101 post, the first and most important rule of raiding is to... not stand in the fire! An unwritten prerequisite for this is that you need to see the fire in order to not stand in it.

To help with this make sure the center of the screen, where your character is, is free from nearly all clutter. Avoid placing raid frames, cooldown bars or anything else that will probably be up for more than a second or two over this section of the screen. If your interface is cluttered up in the middle you might not know it until you're dead!

Viewports can also assist with your field of view, especially if you aren't running without a wide screen monitor. What this does is push the sides of the screen out so you have a better peripheral view of the game. This can help you see threats approaching from the sides before it's too late, an add charging your way for instance. Make sure your viewport mod shrinks the actual rendered area of the game instead of just placing a background over a portion of your screen.

Shrinking the rendered area of the game in this way can also benefit the rest of your UI placement. Not only will this give you areas where interface elements can be placed completely out of the rendered game world, but if the viewport is only adjusted on the top or bottom it will push your character (and thus the spot where bosses drop fire for you to not stand in) up or down, giving you extra space to place UI elements without overlapping onto your character.

An example of how the viewport can increase the field of view taken from the oUF_Viv page, an oUF layout that includes a viewport:

Some view ports that do this are: Viewporter, Viewport


Understanding what your role and responsibilities are can go a long way towards knowing how to properly set up your interface for maximum efficiency. Though the three roles in WoW have some very different information requirements there are some things that are shared over all three roles to some extent.
  • Interrupting - though there are some exceptions among the classes there are a good portion of specs that include at least one way of interrupting a spell - even if it has to be done via a stun or knockback. Make sure the enemy target cast bar (and focus cast bar if you're assigned to interrupt on a different target than you're assigned to target for another role) is highly visible and obvious. In this case the center of the screen is not a bad idea provided it's kept minimal to prevent obscuring environmental damage excessively.
  • Cleansing - Oftentimes those not fulfilling the healer role can forget they have a cleanse button, but this is an area where the healers would probably appreciate a reprieve. Remember a raid environment is all about supporting the group, and any burden that can easily be take off another should be. Use a mod like Decursive for an easy click option for cleansing or configure your raid frames to change health bar or border color for debuffs that can be removed so decurse target can clearly be identified.
  • Crowd Control - Moreover today than in raids of yesteryear it's not just DPS that has the ability to crowd control. The role of CC today is very different than the trash controlling techniques of the past. Generally speaking CC is a dynamic aspect of boss fights like Lady Deathwhisper. Decursive also has support for this type of response.
  • Movement - More and more raid encounters are highly movement oriented. You need to be able to perform your duties on the move a great deal of the time and this can be especially difficult for healers and caster DPS. Using keybindings for spells as much as possible can be helpful, but prioritizing instant cast spells on single keys can increase the efficiency of keybindings, the basic idea being: do you really want to try and hit ctrl+5 at the same time you're fanning out to avoid the next Defile from the Lich King?
  • Cooldown Management - Whether you're a tank, healer or DPS you have some type of cooldown you can use to help survive or eek out that much more DPS or healing. Having an appropriate mod like CooldownWatch or CoolLine placed in a central location can help manage these. The former is shown via a configurable list of bars and the latter places all cooldowns on a timeline. Personally I prefer bars over the line as I feel it's more accurate for my time sensitive DPS rotation but if it's not vitally important that a cooldown be used as soon as it's finished the cooldowns in line format are perfectly adequate.

DPSing may seem like a no-brainer in terms of interface management but the job of a DPS is deceptively involving. Generally speaking it's a good idea to push out the hammer mentality as soon as possible when a DPS character is your main. Of all the roles in WoW this can be the easiest to pass the buck off to someone else, but a good DPSer will do more than just top the meters. Often a great deal of support and utility can be squeezed out of a DPSer.

Here you can see the basic (though slightly outdated) DPS layout for my interface. In a column directly below my character I have everything I need to fulfill my basic role: target, target debuffs, cast bar (the enemy castbar is a couple inches above the target frame so it's blatantly obvious when an enemy is casting a spell), cooldown timers, my debuffs and my health and mana - both of which glow when I'm getting low to draw my attention.

This won't necessarily be the best arrangement for every single DPS, but in general you'll want to ask yourself what tools you need for your main role and then place them in a place where your eyes won't have to wander far.

It's not necessary in most cases to place everything front and center. This can lead to excess clutter that confuses the information you need. Anything that uses audio warnings can be placed in non-central locations. As you can see from the screenshot my threat meter is placed just above my mana bar as I largely don't have issues with threat. However, when I am creeping up on the tank a unique audio alert quickly draws my attention to the threat meter.

Boss mods generally work the same way, though it can be a good idea to place the large or imminent progress bars closer to the center of the screen so your eyes don't have to wander to a wayward corner of the screen to find out what tricks the boss has in store for you next and take your attention too far away from other important information.


Tanking largely worries about many of the same things melee DPS worries about, but threat can be more of a priority for a tank, so it may be prudent to have a more detailed threat meter in a more central location. Skada and Omen are both very good detailed threat meter AddOns.

And yes, I'm going to harp on Nameplates... again!

Bosses aside, they're just a real handy way to see if an add that you don't have targeted is still aggroed to you. Unfortunately since the patch that allowed nameplates to overlap a bit of configuration is needed to optimize them:

Open Interface options in the game menu and under the 'Names' category uncheck the option to 'Allow overlapping nameplates'. With this option enabled nameplates would overlap with each other making it near impossible to single out each enemy. Without nameplates overlapping you should be able to easily identify and target anything you may be losing aggro on by the highlight fading to yellow or disappearing.

Of course, nameplates aren't exclusive to tanks. As they're an easy indication of aggro on mobs that aren't currently being targeted it can be a good indication for DPS that some stray enemy is about to become an unfortunate friend!

Healer... ing

The most obvious element to healers is the raid frame. A little bit of personal preference can dictate here, but your raid frames should be very close to the center of the screen. As a DPS/healer hybrid I put much more emphasis on my target frame which is placed just below my character, leaving the raid frames just to the right of my character. This leaves the space over my character clear while still providing me with the necessary elements in close proximity to the center of the screen.

For pure healers a more appropriate space may be right underneath the character as that area tends to garner a greater amount of attention. Once again, personal preference will dictate to some extent but you'll want this vital piece of information to be close at hand. Placing raid frames in a corner of the screen may not detract from healing and seem like an acceptable location as they tend to take up a large amount of real-estate especially in 25 man raids, but placing them too far away from your character can contribute to tunnel vision and deaths as a result of standing in fire!

Eliminating Common Redundancy

While Decursive is a great mod for folks who need to perform certain utility on the raid like cleansing and crowd control of mind controlled players, if you need to run with a raid frame for healing Decursive become completely redundant. In this situation using Clique can provide identical functionality to any raid frames you may already be using, cutting the real estate taken up by raid frames in half.

Damage meters like Recount can be resource hogs as they track and log just about every combat log event. If you think it may be slowing you down switch to a modular meter like Skada and only load the modules you want to track information for.


Unfortunately not every mod put out is suitable for raiding. The main reason for this is performance. Some mods that are very popular are also very CPU intensive and can impact your frame rate on a computer that's not top of the line. Just to name a few CPU hogs:
  • Pitbull
  • SatrinaBuffFrames
  • ButtonFacade
  • Recount
Not that these are bad mods by any means. In fact all of these are incredibly robust and feature-full mods. This is partially their downfall, though as far as ButtonFacade is concerned any mods that are purely aesthetic are not the focus of this particular blog.

An important distinction to make, however, is that a mod that uses up a ton of memory is not necessarily impacting framerate. What impacts framerate is generally mods that eat up extra CPU cycles. a good way to determine what mod is eating up CPU cycles is to use... another mod!

AddOnProfiler is a mod that you can set to profile your AddOns and report back on how much memory and CPU cycles each one is using. A good indication of a bad mod is one whose CPU cycles grow and then shrink again repeatedly and substantially. What happens here is that the AddOn is creating a lot of "garbage" that is used briefly and then thrown away. WoW will automatically run the garbage collector when RAM usage gets too high, but if you see the described behavior above from a mod it means that mod is creating an excessive amount of garbage and the collector is being run more and more often. When the garbage collector is run excessively this can create a drag on performance.

Once you've identified a problem mod with AddOnProfiler take a peek at some alternative mods that perform the same task and try a few out until you find one that you prefer and that doesn't cause the garbage collector to start slowing you down!

The Best Interface... is Your Interface!

While all these things are important considerations for how you set up your interface for raiding there are many nuances to how the interface works together that are exclusive to the person using the interface, and the best interface is one that's been used extensively and tweaked to support the playstyle of the user.

It's important to realize that if you've made an adjustment mentioned here and it's just not working for you go ahead and switch back or try something different. If you move your debuffs down to midscreen and suddenly find you just can't adapt to the new location move them back... but consider migrating other related pieces of information into the same area to reduce the amount of time you have to spend searching your screen for various bits of information.

It's highly important to recognize elements of your interface that are holding you back and adjust to compensate for them. Much like adapting strategy to deal with a bosses mechanics, adjusting your interface to display the right information at the right time is crucial to success. If you died from a debuff because you didn't see that you had it you may need to look for a more robust warning system or move the debuffs to a more noticeable location. If you're constantly fumbling your DPS rotation because you didn't notice your debuffs drop off the target make them bigger, or set up a warning in PowerAuras to make the status of the debuff more clear.

In general a successful interface will display everything you need to know and nothing you don't. It may take a bit of experimentation over time but adjusting the flow of information properly can mean the difference between success and defeat!

Note: though other roles were included this article primarily focused on elements of a DPS UI as that is my primary role and the primary focus of the blog. If you have any additional comments or suggestions for the other roles please do leave them in the comments!