 |
05/29/07, 4:27 PM
|
#1 (permalink)
|
|
The Sly
Draenei Shaman
The Venture Co (EU)
|
Omen - Ace Threat Meter
Edit: Just to make it clear, I don't have anything to do with the development of this mod, just passing on information.
This was posted on our guild forums, and I thought that the performance loving people here might be interested in it too:

Hi all.
So, a little backstory. With 2.1, mod authors got the ability to individually profile addons and see how much CPU time and RAM they're taking. What we've discovered is that KTM takes an absolutely horrid amount of CPU time, even when it's doing nothing, due to its architecture (it's poll-driven, rather than event-driven, like every other WoW mod). Kenco, the author has basically said "buzz off, my mod's fine" to everyone concerned about this, and is not going to be updating it to be more friendly to the user.
Irritated by this, I started working on a threat meter of my own. The rest of the wowace developer community, being somewhat performance consciencious, is irritated with Kenco as well, and has chipped in to make this possible. At last check, I had 10 other people besides myself making commits to the project. The result of this is that in one weekend, the community has basically written a threat meter mod. We've gotten ability modules written for each of the nine classes, as well as a general framework to handle upgrades and updates in the future smoothly. We've collaboratively written Threat-1.0, which is a library that tracks threat and communicates it with your group, keeping you synched so that all members of your group with Threat installed are aware of each others' threat levels on all mobs at all times. It is purely event-driven, and built on the Ace library framework, resulting in a very lean, very fast, very mean mod.
This also means that any number of GUIs can be written to display your threat levels. Right now, I've got a very basic mod called Omen that provides a frontend for Threat-1.0. You can consider it (and Threat) beta for now, but they work well enough that they could use testing. If you are an end user, you only need download the Omen zip - it contains the Threat-1.0 library as an embedded library, so you don't need to even think about it. You can also download (and update) this mod through WoWAceUpdater.
This is not "KTM converted to Ace", but a ground-up, rewritten, brand-spankin' new threat mod. It is designed to be flexible, extensible, and easily maintainable, and it has a solid community of developers behind it, ensuring that it will stay up to date and accurate as threat mechanics change.
So, here's the rundown.
Features:
---------
- Threat tracks (and Omen displays) threat on a per-target basis, separated by name. Basically, this means that if you engage two enemies of different names, you will get a different threat list based on the which you have targeted. If you are engaged in multiple enemies of the same name, they will, unfortunately, show the same threat list; this is unavoidable, as the WoW API provides no means of distinguishing between enemies in combat log messages. However, worst-case, this functionality is on par with KTM, which only provides a single threat list for a fight. Best-case, it is well beyond KTM. This eliminates the need for Master Target settings, as this is implicitly done by the multi-target threat list management.
- All 9 classes are supported, and I believe that we have the the vast majority of class abilities covered. More are coming as threat values are tested. Our aim is to be far more complete than KTM in this regard; for example, KTM assigns no threat for casting a curse on an enemy. This action, in reality, generates about 53 threat, and is accounted for in Threat/Omen.
- Loaded up with all its libraries, Threat takes about 850kb of UI RAM. This is approximately equivalent to KTM, but the vast, vast majority of this RAM is in spent in shared libraries, which will be used with other Ace mods, effectively making that library usage "free". In reality, Threat's own memory footprint is likely well under 100kb.
- Threat takes very little CPU time. In the time I spent profiling, Threat took under 0.5 seconds of CPU time, while KTM consumed well over 24 seconds of CPU time in the same period.
- Omen takes about 42kb of UI RAM, and uses so little CPU that it didn't even register
Caveats:
--------
- Special threat-effecting gear effects are in, including set bonuses and threat enchants, as well as established -threat items like the Fetish of the Sand Reaver and the Eye of Diminuation. However, there are holes, like the Hypnotist's Watch. They will be supported as soon as I can figure out to test 'em.
- There are no NPC ability modules right now. This means that things like Knockback and Wing Buffet do not currently reduce your threat. This is coming soon. I hope to tie this into BigWigs so that I get notifications of special boss events, and can use those to affect threat lists accordingly. For example, the Attumen transition from Phase 1 to Phase 2 is a threat wipe; the mod will become aware of this transition, and wipe the threat lists accordingly.
- Pets are currently not supported. hyperactiveChipmunk is working on this module, so you can expect it soon.
- KTM interoperability is currently not supported. We would like to support it, but the protocol that KTM uses is rather limited, so we're going to have to think hard about how to best do it. It is definitely on the wishlist, however.
- This is beta. Don't rely on it alone right now. It's mostly untested in raiding situations (it's only a few days old!). This doesn't mean that it's not ready for beta use and testing - it is. Just be aware that it is currently unfinished. I wouldn't recommend endorsing that your guild switch over to it right at this moment, as there are still holes that need to be fixed. That said, I hope it doesn't remain that way for long.
What We Need
------------
- Testing! Test it out, see first and foremost if you can produce errors. If so, screenshots of the error and a description of what caused the error would be awesome.
- Threat validation. You know your class, and what kinds of threat you produce; check that Threat/Omen properly registers these values. If you're the programming and/or theorycrafting type, consider testing threat values for specific abilites/ranks and adding them into your class module. The process for this is generally "Get someone else with a passive 1.0 modifier (anyone but a rogue, druid, or warrior) to hit them X number of times, note the damage done, then get into melee range and cast an ability on the target until you pull aggro. Take the number of casts required, divide (the helper's damage / 1.1) done by the (1 - number of casts) and (number of casts) and average the two numbers. That is your estimated threat value for the ability.
- Feedback and feature suggestions. This is primarily for Omen, as Threat is just a library. Omen's little more than a testing display right now, but there are any number of directions that it could grow in.
Questions and feedback are greatly welcomed!
|
http://svn.wowace.com/wowace/trunk/Threat-1.0/
http://www.forumopolis.com/showthread.php?t=52465
I haven't been able to test it myself yet, but it should be nice to free up some of the resources that KTM uses to run.
Last edited by Moogul : 05/29/07 at 4:49 PM.
|
Ijago <Casual Jerks>
|
|
|
|
05/29/07, 4:35 PM
|
#2 (permalink)
|
|
Mike Tyson
|
This is very interesting -- I'll be keeping an eye on this, and will try it out in Karazhan next time I go. Antiarc, thanks for putting time into this, as the potential is apparent and massive.
|
|
|
|
|
|
05/29/07, 4:37 PM
|
#3 (permalink)
|
|
"The Enforcer"
|
I'll pull this down and see how accurate it is on Gruul tonight if I get in the raid.
|
|
|
|
|
|
05/29/07, 4:39 PM
|
#4 (permalink)
|
|
Great Tiger
|
This threat mod gets me very excited, ESPECIALLY with the ability to track multiple mobs. I'll try to have this installed by as many people as possible in my guild to test it's accuracy against KTM.
|
|
|
|
|
05/29/07, 4:40 PM
|
#5 (permalink)
|
|
Whats your Shot Rotation?!
Howitzer
Orc Hunter
No WoW Account
|
wow, anything that can possibly replace KTM that can do the same job I am all for it!!!! I can't stand KTM's resource hogging.
|
|
|
|
|
05/29/07, 4:46 PM
|
#6 (permalink)
|
|
Bald Bull
Blood Elf Hunter
Mal'Ganis
|
Originally Posted by Cel
This threat mod gets me very excited, ESPECIALLY with the ability to track multiple mobs.
|
Definately the part I'm most anxious to test. It's something that I've always wished would be implemented into KTM. The automatic threat clearing on transitions where threat is wiped is also a welcome change. The reduced memory/CPU useage is just an added bonus.
|
|
|
|
|
|
05/29/07, 4:48 PM
|
#7 (permalink)
|
|
Glass Joe
|
This is amazing, I wondered when an Ace2 KTM would come out.
Thanks so much, i will pass the word along to my guild
|
|
|
|
|
|
05/29/07, 4:50 PM
|
#8 (permalink)
|
|
Great Tiger
|
Originally Posted by Sarutobi
The automatic threat clearing on transitions where threat is wiped is also a welcome change.
|
It seems that this is an incoming feature... and one that may keep guilds from being able to switch from KTM to Threat-1.0 until it's implemented given that threat isn't often a concern unless it's being reset/reduced on the tank.
|
|
|
|
|
05/29/07, 4:59 PM
|
#9 (permalink)
|
|
Piston Honda
|
SC2 said it best, "Hell, it's about time.". I'm really looking forward to this.
|
|
|
|
|
|
05/29/07, 4:59 PM
|
#10 (permalink)
|
|
Rudy will await your foundation.
Night Elf Warrior
Khadgar
|
Originally Posted by Praetorian
This is very interesting -- I'll be keeping an eye on this, and will try it out in Karazhan next time I go. Antiarc, thanks for putting time into this, as the potential is apparent and massive.
|
Antiarc wins again. Did anyone else notice SanityBags? They are delicious.
example pic:
apologies for the derail, but I avoided making a thread here about this addon since 1) it's likely in beta based on some items bouncing from one bag to another and 2) Antiarc posts here (although maybe he's just modest)
EDIT: discuss here: Sanity Bags
Last edited by Apate : 08/03/07 at 3:47 PM.
|
See you, auntie.
"lol" is not a period lol
You don't need a machine to make a rainbow. For rainbows are made of happy thoughts, and dreams, and chocolate unicorns, and gumdrops, and licorice sunsets, and fuzzy gumdrop bears, and sugar-coated chocolate gumdrop land.
Originally Posted by DeeNogger
I am coming for you Apate.
|
|
|
|
|
05/29/07, 5:02 PM
|
#11 (permalink)
|
|
Bald Bull
Blood Elf Hunter
Mal'Ganis
|
Originally Posted by Cel
It seems that this is an incoming feature... and one that may keep guilds from being able to switch from KTM to Threat-1.0 until it's implemented given that threat isn't often a concern unless it's being reset/reduced on the tank.
|
Apparently my reading comprehension is impaired this close to the end of the work day.
It will be a welcome addition when, and if, it is implemented. Worst case scenario, we have to do a manual threat clear like we do now. As long as the multi-target threat works, and its resource useage is lower than that of KTM it's already an upgrade.
|
|
|
|
|
|
05/29/07, 5:08 PM
|
#12 (permalink)
|
|
Don Flamenco
|
I'll be picking this up for Kara tonight and will try to have my whole group use it.
HUGE thanks to the coders.
|
|
|
|
|
|
05/29/07, 5:16 PM
|
#13 (permalink)
|
|
King Hippo
|
I wonder how it does healing threat with multiple targets? For example, on Tidewalker, could I target a Murloc that just spawned and see all the healing threat on it to see who it's going to run to before we nova them up? That would be extremely useful, given it's impossible with KTM currently since it can only keep track of threat on a single target.
|
|
|
|
|
|
05/29/07, 5:22 PM
|
#14 (permalink)
|
|
And It's Delicious
|
Originally Posted by Sarutobi
Definately the part I'm most anxious to test. It's something that I've always wished would be implemented into KTM. The automatic threat clearing on transitions where threat is wiped is also a welcome change. The reduced memory/CPU useage is just an added bonus.
|
Note that the threat clearing on transitions will *probably* require that you be running BigWigs bossmods (unless there's a combatlog message that Antiarc specifically feels like handling, but it probably makes the most sense to let the bossmods track transitions and simply have them fire a reset threat event as appropriate).
So if you run internal mods, DBM, or whatever else is out there, you may not get that particular feature.
|
http://mmorchive.net
The WoW forums, explained:
|
Originally Posted by Vontre
Oh, nah, I just type things for the sake of typing things. ^_^
|
|
|
|
|
05/29/07, 5:26 PM
|
#16 (permalink)
|
|
And It's Delicious
|
Originally Posted by Harem
I wonder how it does healing threat with multiple targets? For example, on Tidewalker, could I target a Murloc that just spawned and see all the healing threat on it to see who it's going to run to before we nova them up? That would be extremely useful, given it's impossible with KTM currently since it can only keep track of threat on a single target.
|
AFAIK it will potentially overestimate healing threat because there's no way to tell how many targets heal threat is being divided up amongst, it will divide up by number of threatlists instead.
On Tidewalker, you'll probably run into issues with multiple mobs of the same name sharing a threatlist; this is pretty much a fundamental UI limitation and there's nothing you can really do about it.
|
http://mmorchive.net
The WoW forums, explained:
|
Originally Posted by Vontre
Oh, nah, I just type things for the sake of typing things. ^_^
|
|
|
|
|
05/29/07, 5:30 PM
|
#17 (permalink)
|
|
Piston Honda
|
Originally Posted by Kalman
Note that the threat clearing on transitions will *probably* require that you be running BigWigs bossmods (unless there's a combatlog message that Antiarc specifically feels like handling, but it probably makes the most sense to let the bossmods track transitions and simply have them fire a reset threat event as appropriate).
So if you run internal mods, DBM, or whatever else is out there, you may not get that particular feature.
|
posted by Antiarc on another forum, regarding this issue:
|
Originally Posted by Antiarc
I've already decided against this, after looking at the BigWigs code. Boss ability detection will be done in the mod - it won't be hard to handle and maintain.
|
|
|
|
|
|
|
05/29/07, 5:34 PM
|
#18 (permalink)
|
|
I was the one with the bat
|
Apate, how is the memory usage on sanity bags? I'm currently using baggins and its a memory hog.
I'm not 100% happy with having to go back to bigwigs from deadly boss mods (littlewigs is helping me with choice however), but hopefully with the sync capability as long as one person in the raid has bigwigs it will correctly reset.
My question about multiple mobs is if nobody targets all the mobs, how can the mod know that they are there?
|
|
|
|
|
|
05/29/07, 5:37 PM
|
#19 (permalink)
|
|
King Hippo
|
Originally Posted by Kalman
AFAIK it will potentially overestimate healing threat because there's no way to tell how many targets heal threat is being divided up amongst, it will divide up by number of threatlists instead.
On Tidewalker, you'll probably run into issues with multiple mobs of the same name sharing a threatlist; this is pretty much a fundamental UI limitation and there's nothing you can really do about it.
|
Yes, but relative threat will be correct, will it not? Since the only threat that will be applied to them will be healing threat (until the reach the nova area). It will overestimate the threat, because instead of 12 mobs, it only sees one, but at least the order should be correct (as long as all the murlocs spawn at once and there is no max range to healing threat).
|
|
|
|
|
|
05/29/07, 5:39 PM
|
#20 (permalink)
|
|
Great Tiger
Human Rogue
Cenarion Circle
|
BIG IMPORTANT NOTE: This isn't ready for production use yet. It's still in development, and please don't expect it to compete with KTM right at this moment. It works in many cases, but it is broken in others. I am hoping to have a full-fledged KTM competitor inside of a week, but it is not ready right now, so please tell anyone that uses it/is using it as much. Watch WoWAceUpdater for updates.
Well, it looks like the cat's out of the bag. I was gonna wait till it was a bit more complete to post it here, but whatever
It's not ready for primetime yet, but I hope to have it there soon. I checked in pet module framework code earlier today, and hyperactiveChipmunk checked in the pet module itself. I've begun work on the NPC abilities framework (threat wipes, reductions, etc), but that's got a ways to go yet. I am not going to rely on BigWigs for the boss events - they're relatively rare enough that we can keep them native in the mod easily enough without incurring another dependency.
Healing threat assumes one enemy target, so it'll show what your max healing threat could be. This will often times be higher than what healing threat actually is, but since there is no good way to find out how many enemies there are in combat, it's better to overestimate than to make a wrong guess.
Questions are welcome, and I would really value the EJ community's feedback, testing, and expertise as I develop this. It is a community project, and I couldn't have gotten this far without some massive help already (see credits.txt!), and will need help as we move into the future.
Originally Posted by Zeln
Apate, how is the memory usage on sanity bags? I'm currently using baggins and its a memory hog.
I'm not 100% happy with having to go back to bigwigs from deadly boss mods (littlewigs is helping me with choice however), but hopefully with the sync capability as long as one person in the raid has bigwigs it will correctly reset.
My question about multiple mobs is if nobody targets all the mobs, how can the mod know that they are there?
|
The Sanity framework has a few issues right now, but memory is not one of them. SanityBags is lean and mean.
The mod can't tell how many mobs you're in combat with, but it doesn't need to in order to provide good-enough threat lists per-mob.
Last edited by Antiarc : 05/29/07 at 5:49 PM.
|
|
|
|
|
|
05/29/07, 5:39 PM
|
#21 (permalink)
|
|
King Hippo
|
Originally Posted by Zeln
Apate, how is the memory usage on sanity bags? I'm currently using baggins and its a memory hog.
I'm not 100% happy with having to go back to bigwigs from deadly boss mods (littlewigs is helping me with choice however), but hopefully with the sync capability as long as one person in the raid has bigwigs it will correctly reset.
|
http://www.forumopolis.com/showpost....8&postcount=18
Antiarc no longer plans on using BigWigs in anyway.
EDIT: Oh, hi Antiarc.
|
My question about multiple mobs is if nobody targets all the mobs, how can the mod know that they are there?
|
That is my thought exactly...
|
|
|
|
|
|
05/29/07, 5:39 PM
|
#22 (permalink)
|
|
Great Tiger
Human Rogue
Cenarion Circle
|
(see two posts up, consolidated)
Last edited by Antiarc : 05/29/07 at 5:49 PM.
|
|
|
|
& | |