A Call to Arms - Cataclysm Mechanics testing
Moderators: Fridmarr, Worldie, Aergis, theckhd
A Call to Arms - Cataclysm Mechanics testing
I'm co-opting this old thread from the Cataclysm Beta forums so that we can keep all of the testing in one thread.
Cataclysm Mechanics Testing
The goal of this thread will be to ask and answer questions about game mechanics through empirical testing, in a very similar vein to the incredibly useful EJ thread. I'll keep a running list of the issues in this post, as well as links to the data relevant to those issues.
When posting data, please include as much information as is relevant to the problem at hand, but more is generally better. As a rule of thumb, include the following information:
Many of these tests need to be done in very controlled environments to make sure that the analysis is accurate. It's generally good practice to find an isolated dummy and make sure they don't gain any external debuffs during testing (unless we specifically request a particular debuff, of course).
If you have questions about World of Logs, please take a look at the "WoL How-To" section at the bottom of this post. If all else fails, uploading a raw combat log with your post is acceptable as well.
Current Parse Requests:
WoL How-To:
I've started a maintankadin guild on World of Logs so that we have one central repository of uploaded logs. Anyone who's running dungeons or doing testing on beta is encouraged to record their combat log and upload. Creating a WoL account is quick and painless, as is the uploading process. In fact, if you prefer, you can just run the Java client in the background and "live log," which will upload as you play.
I'm going to be using this thread to post testing requests as well. And of course, all of the text in the original posting still goes as well - if you're interested in helping maintain the code, help is always appreciated.
To join the guild, register for an account. You'll have to activate the account by clicking a link in the e-mail they send you. At that point, you can log in, and you will be asked if you want to join a guild. The guild is maintankadin on US-Blackrock (your actual region and server are irrelevant). I'll approve everyone who joins and give them upload permissions.
Logging is easy:
Uploading is simple - first download the client and run it. Put in your username/pass and your logs directory. Click on "Open File" and choose the WoWCombatLog.txt file. It'll take a bit of time to parse the log (the longer the log, the longer it takes), and eventually you'll get a screen with a graph and an "upload" button - just click on Upload and it will send the parse to the server. If you want to send only part of the log, you can use the graph to select the portions you want to upload.
Alternatively, you can upload-as-you-go by running the client before you record and clicking "Start a Live Report Session." This will watch the combat log as you play and upload to the server in small chunks whenever there's a break in the action.
Cataclysm Mechanics Testing
The goal of this thread will be to ask and answer questions about game mechanics through empirical testing, in a very similar vein to the incredibly useful EJ thread. I'll keep a running list of the issues in this post, as well as links to the data relevant to those issues.
When posting data, please include as much information as is relevant to the problem at hand, but more is generally better. As a rule of thumb, include the following information:
- AP
- SP
- Weapon tooltip damage (i.e. x-y)
- Weapon tooltip speed (i.e. 2.6)
- Weapon Name (so I can double-check that you haven't given me paper doll values)
- Talent Spec
- Glyphs
- Dummy level
Many of these tests need to be done in very controlled environments to make sure that the analysis is accurate. It's generally good practice to find an isolated dummy and make sure they don't gain any external debuffs during testing (unless we specifically request a particular debuff, of course).
If you have questions about World of Logs, please take a look at the "WoL How-To" section at the bottom of this post. If all else fails, uploading a raw combat log with your post is acceptable as well.
Current Parse Requests:
- Souldrinker testing #1:
- build : Prot-centric, with 3/3 Divinity
- gear : naked, having equipped a non-enchanted Souldrinker
- seal : Truth
- target : any isolated level 60 dummy (no debuffs)
- attack sequence : only autoattacks
- goal : at least one hour of autoattacks
- Souldrinker testing #2:
- build : Prot-centric, with 2/2 Grand Crusader (no Glyph of Focused Shield)
- gear : anything, having equipped a non-enchanted Souldrinker
- seal : Insight
- target : any (packed) group of level 60 dummies (debuffs are irrelevant)
- attack sequence : autoattacks, CS on cooldown, AS on cooldown/GrCr proc
- goal : at least 200 AS casts
- Souldrinker testing #3:
- build : Holy-centric, with 0/2 Enlightened Judgements, 0/3 Divinity, 3/3 Rule of Law (use Glyph of CS)
- gear : Holy gear (a ton of Intellect; very low crit rating; no hit/expertise), having equipped a non-enchanted Souldrinker
- seal : Insight
- target : any isolated boss-level dummy (no debuffs)
- attack sequence : autoattacks, CS on cooldown, attacking from the front
- goal : at least 300 CS casts
- Souldrinker testing #4:
- build : anything Prot-centric
- gear : anything, having equipped a non-enchanted Souldrinker
- seal : Insight
- target : any level 60 dummy (debuffs are irrelevant)
- attack sequence : HotR as HPG, J, 1-HoPow SotR/Inq as finishers (avoid autoattacks to the best of your ability)
- goal : at least 50 casts of J/SotR/Inq; stop at the first DL proc and switch to another tracked trigger
Compiled Results on specific topics
General PPM mechanics- Proc off of melee, CS (4.0b), J (4.0.3a), AS (per cast), HotR (per cast), SotR (4.0b)
- Do not proc off of Censure (4.0b), spells(?), JotJ? (4.0.6)
General Seal Mechanics- SoT/Censure++
- Triggers: CS, SotR, HotR (phys), J, AS, HoW (4.0.6p b13596), Exo (4.0.6a live)
- Confirmed non-Triggers: HW, Cons (4.0.6p b13482)
- SoR:
- Triggers: CS, SotR, HoW (4.0.6p b13596)
- Confirmed non-triggers: HotR, J, AS (4.0.6p b13596) EExo (4.0.6a live)
- SoI:
- SoJ
General Ability Mechanics- CS procs all seals
- SotR procs all seals (retest?)
- HotR procs SoT only
- J procs SoT/SoI(possibly 100%), does not proc SoR/SoJ
- JotJ reportedly no longer procs seals or enchants - need data
- AS procs SoT only
- HoW procs all seals
- Exo procs SoT only
- Cons does not proc seals
- HW does not proc seals
Testing Log: Current and Resolved Issues:- [4.0 beta] general seal mechanics
- [4.0 beta] Hammer of the Righteous is not normalized
- [4.0 beta] glancing blows are WotLK-identical
- [4.0 beta] Grand Crusader / Sacred Duty proc only on trigger connects
- [4.0 beta] parryhaste is WotLK-identical
- [4.0 beta] Reckoning procs unnormalized, refresh Censure
- [4.0 beta] base armor of NPCs
- [4.0 beta] critical blocks still exist
- [4.0 beta] Judgements of the Just (1/2), (2/2) procs SoR/SoT, base Judgement does not.
- [4.0 beta] Judgements of the Wise scales with spell haste
- [4.0 beta] Avenger's Shield rolls for hit on a per-target basis
- [4.0 beta] PPM enchants proc off of melee, CS
- [4.0 beta] Windwalk Mechanics: 1 PPM on melee, No Internal Cooldown, Does not proc off of Censure
- [4.0 beta] Avalanche Mechanics: 5 PPM on melee, 20% from spells and Censure, ~10s ICD, Cons behavior on PTR?.
- [4.0 beta] Avenging Wrath and Inquisition are independent aura classes.
- [4.0 beta] PPM effects proc from AS (per cast), HotR (per cast), SotR
- [4.0.3a live] Mongoose Mechanics: 0.5 PPM, no ICD
- [4.0.3a live] Dummies are level 88
- [4.0.3a live] HotR's physical component cannot miss/dodge/parry, damage still not weapon-speed normalized
- [4.0.3a live] Sacred Duty and Grand Crusader cannot proc on misses, reconfirmed
- [4.0.3a live] DoT effects aren't affected by environmental auras "on the fly" (i.e. Inq), but on the next aura application/refresh of the respective DoT effect.
- [4.0.3a live] Eye for an Eye procs off of spells or spell-like abilities, regardless of damage type
- [4.0.3a live] Eternal Shadowspirit Diamond gives a flat 1% block value, additive with Holy Shield and base block (30%->31%, 40%->41%)
- [4.0.3a live] Glyph of SoI does not affect SoI or Mending heals, Divinity multiplicative with itself for both
- [4.0.3a live] WoG healing is multiplicative in Divinity, GbtL, and (SoI+WoG)..
- [4.0.3a live] Glyph of the Long Word ignores talent- and glyph-based modifiers.
- [4.0.6 PTR] HoW, Judgement, HotR(phys), Exo proc seals and stack Censure, AS/HoW/Cons do not. No change with Glyph of Focused Shield.
- [4.0.3a live] Judgement and JotJ both act as PPM proc triggers
- [4.0.3a live] Consecration does not gain extra ticks from haste effects
- [4.0.6 PTR b13482] HotR (phys), J, JotJ, Exo, HoW all stack Censure and proc SoT; AW, HW, Cons do not.
- [4.0.3a live] HotR (phys) is a standard two-roll attack, but doesn't generate combat log entries on miss/dodge/parry[/url], reconfirmed SD/GC behavior on misses (it doesn't proc).
- [4.0.6 PTR b13596] HoW triggers all seals
- [4.0.6 PTR b13596] JotJ no longer triggers any seal procs or Censure applications
- [4.0.6 PTR b13596] CS and HotR no longer grant Holy Power on miss/dodge/parry, HotR misses still not showing up in combat log.
- [4.0.6 PTR b13596] CS base is 135% weapon, as patch notes indicated
- [4.0.6 PTR b13596] WotL/Crusade/t11bonus are still additive
- [4.0.6 PTR b13596?] HoW triggers all seals, AS/HotR trigger only SoT
- [4.0.6 PTR b13596?] Judgement triggers SoI(100%?)/SoT/Censure++, but not SoR/SoJ. JotJ is 4.0.3a identical (SoR/SoT/Cens++).
- [4.0.6 PTR b13596?] Consecration ticks do not trigger Avalanche, cast is unconfirmed
- [4.0.6a live] Blade Ward is 1 PPM
- [4.0.6a live] Exo procs SoT, stacks Censure, erroneously procs an additional Censure tick on targets with <5 Censure stacks
- [4.1 live] Grand Crusader munches (new proc just refreshes duration).
- [4.1 live] Holy Power cap is 3, there's no temporary HP storage as with 4.0.3-era DivPurp
- [4.1 live] Grand Crusader has no ICD
WoL How-To:
I've started a maintankadin guild on World of Logs so that we have one central repository of uploaded logs. Anyone who's running dungeons or doing testing on beta is encouraged to record their combat log and upload. Creating a WoL account is quick and painless, as is the uploading process. In fact, if you prefer, you can just run the Java client in the background and "live log," which will upload as you play.
I'm going to be using this thread to post testing requests as well. And of course, all of the text in the original posting still goes as well - if you're interested in helping maintain the code, help is always appreciated.
To join the guild, register for an account. You'll have to activate the account by clicking a link in the e-mail they send you. At that point, you can log in, and you will be asked if you want to join a guild. The guild is maintankadin on US-Blackrock (your actual region and server are irrelevant). I'll approve everyone who joins and give them upload permissions.
Logging is easy:
WWS wrote:Start World of Warcraft and enter the game. At the beginning of the raid, dungeon or solo testing session you want to create a report for, type /combatlog into the chat box, you should get a response saying "Combat being logged to Logs/WoWCombatlog.txt". When you're done with the raid, dungeon or solo testing session type /combatlog again. You'll get another response saying "Combat logging disabled". Log out of WoW and your combat log should be in the /World of Warcraft/Logs/ folder.
Uploading is simple - first download the client and run it. Put in your username/pass and your logs directory. Click on "Open File" and choose the WoWCombatLog.txt file. It'll take a bit of time to parse the log (the longer the log, the longer it takes), and eventually you'll get a screen with a graph and an "upload" button - just click on Upload and it will send the parse to the server. If you want to send only part of the log, you can use the graph to select the portions you want to upload.
Alternatively, you can upload-as-you-go by running the client before you record and clicking "Start a Live Report Session." This will watch the combat log as you play and upload to the server in small chunks whenever there's a break in the action.
Last edited by theckhd on Thu Sep 23, 2010 7:02 am, edited 2 times in total.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 7465
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Re: A call to arms
http://www.youtube.com/watch?v=ocKbhbotJCk
if this is not the first thing you thought of upon reading this thread title then you are not a true Warcraft fan
if this is not the first thing you thought of upon reading this thread title then you are not a true Warcraft fan
-

Sabindeus - Moderator
- Posts: 10324
- Joined: Mon May 14, 2007 9:24 am
Re: A call to arms
In all seriousness though, how hard is MATLAB? It didn't look too bad from the few samples I've seen you post. Is there a set of docs I can read anywhere?
-

Sabindeus - Moderator
- Posts: 10324
- Joined: Mon May 14, 2007 9:24 am
Re: A call to arms
Sabindeus wrote:In all seriousness though, how hard is MATLAB? It didn't look too bad from the few samples I've seen you post. Is there a set of docs I can read anywhere?
This.
I'd love to educate myself in the ways of the matlab.
-

Chunes - Posts: 2246
- Joined: Thu May 08, 2008 3:46 pm
Re: A call to arms
Count me in. I can help with any aspect of this project.
-

Marblehead - Posts: 202
- Joined: Sun Aug 02, 2009 9:28 pm
- Location: Bloodhoof (EU)
Re: A call to arms
Sabindeus wrote:http://www.youtube.com/watch?v=ocKbhbotJCk
if this is not the first thing you thought of upon reading this thread title then you are not a true Warcraft fan
:transformers voiceover:
-

Invisusira - Moderator
- Posts: 9017
- Joined: Sat Oct 06, 2007 6:23 pm
- Location: alt-tabbed
Re: A call to arms
Sabindeus wrote:http://www.youtube.com/watch?v=ocKbhbotJCk
if this is not the first thing you thought of upon reading this thread title then you are not a true Warcraft fan
Is it ok if A Call to Arms: The Plaguelands was the first thing I thought of?
- Modal
- Posts: 557
- Joined: Thu Jan 24, 2008 1:36 am
Re: A call to arms
You've got me for testing and occasional data mining, provided I can read the matlab code properly.
-

Grehn|Skipjack - Maintankadonor
- Posts: 4529
- Joined: Tue May 27, 2008 8:53 am
- Location: Malorne
Re: A call to arms
I'm by no means an expert, but I did use Matlab a fair bit in some of my MS classes (aero/hydrodynamics mostly). I'd be more than happy to pitch in, just need to make sure I can still find my install disk.
- Gerunna
- Posts: 213
- Joined: Mon Jun 09, 2008 11:52 am
Re: A call to arms
Sabindeus wrote:In all seriousness though, how hard is MATLAB? It didn't look too bad from the few samples I've seen you post. Is there a set of docs I can read anywhere?
It's not really very hard at all, at least for this project. I don't use anything too complicated, so we're mostly talking about loads of additions and multiplications. For example:
- Code: Select all
ap=floor((base.ap+gear.ap+2.*(str-10)+extra.ap+buff.example).*(1+0.2.*buff.example));
sp=gear.sp + extra.sp + floor(str.*0.6.*talent.tbtl) + int./int_to_sp + buff.example;
This looks like basically any other programming language. The only difference is that MATLAB is designed to work with matrices (hence MATrix LABoratory), so it has a different operator for element-by-element operations than it does for matrix operations. In the above example, every time you see a ".*", it indicates an element-by-element multiplication.
So dissecting that code snippet, we're calculating our total ap. We take our base ap, add ap from gear, add ap from strength (less the first 10), and any extra ap I want to add (dummy variable for generating scaling plots), plus AP we get from an example buff (not yet implemented). There's also a multiplicative factor and a floor() function.
As for documentation, the entire help system is online. It's the same documentation you get in MATLAB via F1. Most of what I know about MATLAB was learned by reading the help file and messing around.
<edit> Temporary storage
- Code: Select all
[list=1][*]Parses of our abilities at several AP/SP values. At the moment, I primarily need:
[list][*]Exorcism on live (low priority)[*]HoW on PTR (low priority until we're certain the nerfs are intentional)[/list]
Instructions:
[list=1][*] Find an isolated dummy with no debuffs.
[*] Equip a particular gear set, ideally one with no procs to speak of and no set bonuses.
[*] Record and upload a parse containing 50-100+ casts of each ability, the more the better.
[*] Link the parse here or in the MATLAB thread, along with all of the following information (any parses that [i]don't[/i] include this information are effectively useless to me):
[*]Repeat this process for several gear sets with widely varying AP/SP. Ideally I'd like one with low AP/SP, one with high AP / low SP, and one with low AP / high SP. Even better if you can equip items such that one of the stats is the same between parses (i.e. equip a bunch of INT gear to raise SP without changing AP at all).[/list]
</edit>
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 7465
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Re: A call to arms
theckhd wrote:As for documentation, the entire help system is online. It's the same documentation you get in MATLAB via F1. Most of what I know about MATLAB was learned by reading the help file and messing around.
Sure, but if I learn this, it won't be using the commercial MATLAB, but one of the free ones, so having the docs somewhere reachable is a pretty big deal. :)
-

Sabindeus - Moderator
- Posts: 10324
- Joined: Mon May 14, 2007 9:24 am
Re: A call to arms
The free variants have almost exactly the same syntax, so it should be basically the same. Again, I'm not using many fancy functions in here, just multiplications and additions. The only tricky thing in my mind is getting used to recognizing ".*" as a multiplication operator.
Really, I could just write "A*B" for most of the math and it would work out fine. But for some of the simulations, I want to pass arrays to generate plots. MATLAB by default uses A*B to mean matrix multiplication, whereas I'd want element-by-element multiplication. The operator for that is ".*", and similarly for division ("./").
That example might also be a bit confusing because I'm using structures fairly heavily in the new version. A structure is just an easy way to clump variables together for organizational purposes. So for example, i have a "base" structure that contains all of our base stats: base.str is our base strength, base.agi is our base agility, and so forth. Similarly, I have a "gear" structure that contains our total stats from gear, so gear.ap is our AP contribution from gear, gear.str is our strength from gear, etc.
I could have stuck with the old system of having separate variables for everything: base_str, base_agi, gear_agi, gear_str, gear_ap, and so on. From the code's perspective, there's little difference. But for me, the structures are far more powerful. As an example, if I want to see a rundown of our stats from gear, I can just type "gear" at the command line and it'll spit everything out. If I wanted to do that in the old system, I'd have to type out each one individually.
Even more impressive: There's an "egs" structure, which stands for "Eqiuppied Gear Set." It's a structure array, or an array of ~34 structures, one for each slot of gear and each enchant. Each individual structure contains the stats of the item in that gear slot. In the old system, if I wanted to know the total amount of STR on our gear, I'd have to type something like:
total_str = head_str + neck_str + shoulder_str + ....
In the new structure, it's this:
total_str = sum([egs.str])
Really, I could just write "A*B" for most of the math and it would work out fine. But for some of the simulations, I want to pass arrays to generate plots. MATLAB by default uses A*B to mean matrix multiplication, whereas I'd want element-by-element multiplication. The operator for that is ".*", and similarly for division ("./").
That example might also be a bit confusing because I'm using structures fairly heavily in the new version. A structure is just an easy way to clump variables together for organizational purposes. So for example, i have a "base" structure that contains all of our base stats: base.str is our base strength, base.agi is our base agility, and so forth. Similarly, I have a "gear" structure that contains our total stats from gear, so gear.ap is our AP contribution from gear, gear.str is our strength from gear, etc.
I could have stuck with the old system of having separate variables for everything: base_str, base_agi, gear_agi, gear_str, gear_ap, and so on. From the code's perspective, there's little difference. But for me, the structures are far more powerful. As an example, if I want to see a rundown of our stats from gear, I can just type "gear" at the command line and it'll spit everything out. If I wanted to do that in the old system, I'd have to type out each one individually.
Even more impressive: There's an "egs" structure, which stands for "Eqiuppied Gear Set." It's a structure array, or an array of ~34 structures, one for each slot of gear and each enchant. Each individual structure contains the stats of the item in that gear slot. In the old system, if I wanted to know the total amount of STR on our gear, I'd have to type something like:
total_str = head_str + neck_str + shoulder_str + ....
In the new structure, it's this:
total_str = sum([egs.str])
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
-

theckhd - Moderator
- Posts: 7465
- Joined: Thu Jul 31, 2008 3:06 pm
- Location: Harrisburg, PA
Re: A call to arms
Hey theck, I don't have a huge surplus of time or anything, but I'd be happy to be a tester since I don't want my beta access to be a complete waste. 
-

Phonic - Posts: 206
- Joined: Wed Jun 25, 2008 7:52 am
Return to Advanced Theorycraft and Calculations
Who is online
Users browsing this forum: No registered users and 2 guests




