Register

Edgy/Raffy's Official Catus Thread

Face-rippin fun.
Exalted
User avatar
Posts: 1066
Joined: Fri Nov 25, 2011 7:49 pm

Re: Edgy/Raffy's Official Catus Thread

Postby aggixx » Fri Oct 18, 2013 6:30 pm

Could you add intellect & spell power to stat scaling? Off by default off course (although I suppose you could have it smart toggle when HotW casting is on). Also you should probably normalize the stat weights by the highest secondary stat not by mastery, when you generate HotW casting weights the normalization gets totally screwed because mastery is worth 0.
Image

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Fri Oct 18, 2013 10:54 pm

Will be in next update, present if HotW is enabled. I think it normalizes against lowest stat (so it's 1.00) but yeah that would get screwed for HotW casting. Maybe I'll just remove the normalization, it makes more sense if the weights are in units of DPS/stat.

I've also been trying to figure out how to best reduce the noise in the stats weights. I've been getting stabler results by running like 10x of each stat (with 1/10th the iterations), and then averaging those results. I think ultimately, I need to do some kind of percentile/quantile diff between the entire distributions, because they're just too much noise when compressed down to averages, for example: a 300K DPS mean gaining +3K DPS on +1000 stat with +100 DPS of error, that means 100/3000 => 3% error but you only get down near +100 DPS of error with a +/- 50 standard error which occurs at very high iterations.

I made it so when you click any Hit/Exp number, it toggles between ratings (2550) and percents (7.5%). I added a "First Generator" option to "Combat Prep" so you can experiment with using SR, FB, or Rip (default) with your first 5cp. It is interesting to see if trying to squeeze off an extra finisher during DoC + 4pc-assisted opener is worth it.

I've also restored quick comparison sim feature (like relative to armory or another config with current sim settings.)

I need to check out the Thrash numbers to see why Simc and Catus were disagreeing on Clearcast Thrash numbers.
Image

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Sat Oct 19, 2013 8:07 pm

First Finisher + More Descriptive Names:
Image

Stat Weights: Intellect and Spell Power + uncoupled Mastery/Haste/Crit:
Image

Simulator: Trinkets selector:
Image
Image

Honored
Posts: 142
Joined: Thu Mar 18, 2010 12:33 am
Location: Melbourne, Australia

Re: Edgy/Raffy's Official Catus Thread

Postby Grenache » Sat Oct 19, 2013 8:17 pm

It's incredible what you've done with this tool. Ferals are completely spoilt for choice having surely the most theory crafted spec in the game. A friend asked me about warrior rotation and I found almost nothing on the web that that could help him. Thanks Raffy.

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Sun Oct 20, 2013 7:05 am

Thanks. As the code evolves, certain parts have gotten pretty modular/flexible, which makes adding features a lot of fun. When working on Catus, I actually spend the majority of my time trying to figure out how to design the interface to make it easy to use. A major goal is making things simple and convenient so it's fun to experiment with and try new things. This requires making some sacrifices (I don't directly expose the action list and many features could have finer-grained control) but I think it works out pretty well. I'm always open to suggestions or ways I could make something better.

Simulator: Trinkets is working, it just needs some more polish and reporting:
Image

Basic mode lets you use the trinket selector to pick what to sim. You can then choose to apply upgrades (just uses maximum allowed) and how to pair them up: Pairwise, Replace Trinket 1, or Replace Trinket 2.

Advanced mode lets you enter trinket pairs using CompactGear code:
Code: Select all
# Enter trinket pairs, one per line
#     Pair Format: <Trinket1> / <Trinket2>
#  Trinket Format: <ItemId> (+<ItemLevelDelta>) (i<ItemlLevelAbsolute>)
#         Example: 96918 i600 / 105527 +8 == [600] Rune / [580] Haromm
# Any text following (#) is ignored

# T1: [600] Rune of Re-Origination (Heroic Thunderforged)
# T2: [580] Haromm's Talisman (Heroic Warforged)
96918 i600 / 105527 +8


Both modes support Automatic Reforging, Don't Reforge, or can use current settings for both 1:1:1 and Maximize Secondary reforgers (depending if you have a Rune equipped.)

The trinkets are checked valid, so that includes things like profession requirements, faction requirements, unique-equipped, etc. If the trinket has sockets (like Ghost Iron Dragonling) they get autofilled (or you could use advanced mode and socket it directly.)

Like the other simulators, it works relative to whatever Encounter you have selected.

A typical use-case would be:
1. Import your Feral
2. Setup encounter/buffs (can just click "Standard Encounters > Patchwerk" and "Use Recommended Effects")
3. Scroll-down to "Simulator: Trinkets", enable Basic-mode, click "Select Trinkets"
4. Choose whatever trinkets you own
5. Simulate!
Image

Exalted
User avatar
Posts: 1066
Joined: Fri Nov 25, 2011 7:49 pm

Re: Edgy/Raffy's Official Catus Thread

Postby aggixx » Sun Oct 20, 2013 7:56 am

One step closer to the mythical Rawr/AMR-like gear listing :)

raffy wrote:I need to check out the Thrash numbers to see why Simc and Catus were disagreeing on Clearcast Thrash numbers.

Could be a SimC issue, not sure if I've ever done a direct comparison to in-game on Thrash specifically and the way it is implemented in SimC is kind of a kludge.
Image

Revered
User avatar
Posts: 201
Joined: Fri Dec 24, 2010 1:57 pm

Re: Edgy/Raffy's Official Catus Thread

Postby Steakbomb » Sun Oct 20, 2013 5:15 pm

Any chance we will get an Installer for Catus now that it auto updates?

Currently I have my folder in my programs folder and have a shortcut on the desktop and made an icon for it to use.
Image

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Sun Oct 20, 2013 6:58 pm

What kind of functionality are you looking for?

Currently, the autoupdater works like this:
1. it figures out where the application was launched from
2. it duplicates itself, and renames it Updater.jar
3. it launches the duplicate, and quits
4. Updater.jar scans the local directory for Catus.jar (or Zephyrus.jar)
5. if it finds it, it downloads the latest Catus from my Dropbox
6. if the download was successful, it overwrites (without replacing the file) that original Catus.jar
7. launches the new Catus, and quits
8. when Catus is launched and it's the latest version, it kills the local Updater.jar

Next update should have a progress bar for update progress.

If you're on Mac, this makes sure it keeps the existing Catus icon (blue paw) and preserves any aliases.

Are you saying if you launch from a shortcut (on Windows, I guess?) it is doing something stupid?

Trinket Simulator in progress:
Image
Trinket Simulator complete:
Image
Should have a release tonight.
Image

Revered
User avatar
Posts: 201
Joined: Fri Dec 24, 2010 1:57 pm

Re: Edgy/Raffy's Official Catus Thread

Postby Steakbomb » Sun Oct 20, 2013 8:19 pm

raffy wrote:What kind of functionality are you looking for?

Currently, the autoupdater works like this:
1. it figures out where the application was launched from
2. it duplicates itself, and renames it Updater.jar
3. it launches the duplicate, and quits
4. Updater.jar scans the local directory for Catus.jar (or Zephyrus.jar)
5. if it finds it, it downloads the latest Catus from my Dropbox
6. if the download was successful, it overwrites (without replacing the file) that original Catus.jar
7. launches the new Catus, and quits
8. when Catus is launched and it's the latest version, it kills the local Updater.jar

Next update should have a progress bar for update progress.

If you're on Mac, this makes sure it keeps the existing Catus icon (blue paw) and preserves any aliases.

Are you saying if you launch from a shortcut (on Windows, I guess?) it is doing something stupid?



I am on Windows and at least for me, the .jar file doesn't have a custom icon(uses the java icon) so I made a simple blue paw to keep it similar.

That is with or without a shortcut. What I did is I put the Catus Folder in my Programs folder and then created a shortcut to it on my Desktop and then edited the shortcut to use the blue paw icon.

What would be nice is make an installer for it like every other program has for Windows.

Although I realize you are on a Mac and Mac doesn't technically install anything so it probably isn't worth it to do it.
Image

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Sun Oct 20, 2013 8:30 pm

Once you have the shortcut setup, everything works? And it can autoupdate from the shortcut?

Yeah, I'm going to skip the installer setup for now. I just tested the shortcut idea myself on winbox and that works well. I recommend other windows users doing the same thing so you get a nice paw icon :) On Windows, since I can't set the icon for a jar, I made the start-bar icon the blue paw.

Edit: I'll look into what it takes to make a Windows shortcut automatically with a blue icon.
Edit: It's too messy and non-standard :|

--

I think the Thrash issue is just 250ms vs 500ms reaction time.

--

Stat Weights instability is mostly due to combat duration. If you do a Patchwerk sim with "Duration, 7.5, Fixed" (instead of the Default "Automatic") the resulting weights should be very stable, even at small iterations (5K-10K). I'm consistently getting Hit and Exp within "0.05 DPS/stat". DoC also causes some variance, but the #1 source by a large margin is the combat duration.

So the first solution is: when you're doing stat weights, choose a Fixed time (both Patchwerk and Cleave support this), such that the time spent per simulation is identical between various deltas. The major issue with fixed time sims, is that "BitW" is faked as it always occurs at 25% time remaining. This is unrealistic because the typical time spent in BitW is much less than 25%.

The second solution involves fixing the Automatic mode, such that it produces more consistent combat durations. Automatic was my first attempt at iteratively determining the bosses HP prior to any simulation being done, and then fixing that HP for the remainder of the sims. This is what causes is the "Generating Simulators" progress dialog, as each sim requires 200+ iterations stabilize the encounter duration. If you use a Fixed duration or one of the Simc variants, there is no simulator creation delay. I'm probably going to add a second Automatic mode, which hopefully will produce better results.

--

I've added [x] "Inert"/Active checkbox to Stat Weights delta, which will changes the deltas from working like "Mastery Buff" (Inert) to working as "gear stats" (Active), this coupled with [x] "Group Secondaries" allows you to simulate the value of Agi vs Sec for Rune. Apparently 2:1 was a pretty good guess:
Code: Select all
Baseline             363.4K  17.64K       0    0.00 
Agility              373.1K  18.05K    9638   10.71  +900 Agility
Secondary            368.8K  17.89K    5345    5.94  +300 Crit, +300 Haste, +300 Mastery
Image

Honored
Posts: 77
Joined: Tue Sep 18, 2012 4:01 pm

Re: Edgy/Raffy's Official Catus Thread

Postby Helistar » Mon Oct 21, 2013 6:00 am

raffy wrote:I've also been trying to figure out how to best reduce the noise in the stats weights. I've been getting stabler results by running like 10x of each stat (with 1/10th the iterations), and then averaging those results.


Completely random (and complex) idea: have you thought about sampling the DPS with random variations around the current point?
I mean: the current approach is always to change one stat by delta and determine the partial derivative numerically (ether by central derivative or left-right for capped stats). What about random sampling around the current point (i.e. introducing deltas on all the stats at the same time) and then performing a least-squares fit with an N-dimensional hyperplane? This would save you a lot of sampling (every simulation contributes at determining the slope for ALL stats, and not just one), and it could be that looking at the fit quality we can see if there are bad things going on (= discontinuity of the DPS function).
I don't know if I made myself understandable....if not, ask :)

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Mon Oct 21, 2013 6:14 am

Released Catus v26.
- stat weights has errors, intellect, spell power, split mastery/haste/crit, inert/active delta
- new automatic variance mode for patchwerk/duration
- simulator: trinkets, blah, blah
- first finisher, proc reset fixes, better descriptions
- hit/exp toggleable (on-click) between rating/percent
- fixed save preferences bug w/o disabled toggles (roar, healing touch, berserking, lifeblood, hotw options)
- various bug fixes

This needs more testing, but I'm going to release it and see what breaks :)

You can [alt] click on "Select Trinkets" to add other trinket.
You can [alt] click on "Generate Trinkets" to list valid trinket pairs.

[ctrl+I] = import from armory
[ctrl+N] = new config (appended at end)
[ctrl+T] = clone config (inserted beside selected config)
[ctrl+W] = delete config (also closes most dialogs now)
[ctrl+D] = sim: distribution
[ctrl+L] = sim: combat log

"Encounter: Sequence", a quick way to Simulate vs armory/config, aggregated simulator statistics (stuff at bottom of combat log: uptimes and stuff) will have to wait until next version. CSV output is still very basic.
Image

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Mon Oct 21, 2013 6:47 am

Helistar wrote:What about random sampling around the current point (i.e. introducing deltas on all the stats at the same time) and then performing a least-squares fit with an N-dimensional hyperplane? This would save you a lot of sampling (every simulation contributes at determining the slope for ALL stats, and not just one), and it could be that looking at the fit quality we can see if there are bad things going on (= discontinuity of the DPS function).

I considered something along these lines originally, but I chose to mimic Simc functionality first. I've expanded on that, by adding stat grouping, inert/active, positive expertise, and automatic hit/exp capping. I could do something like this next, but I'd skip the analysis step, and just offer a CSV-style export with samples from this space. From here, you could easily import this into Mathematica and perform the necessary fitting.

Spoiler: show
First try: Mastery/Haste/Crit (inert) using my gear (w/Rune)
I just quickly sampled 500 points: https://dl.dropboxusercontent.com/u/298 ... Points.txt
Image


Second try: Agility/Mastery/Haste/Crit (inert) using my gear (w/Rune)
1000 points, this time I sampled the entire stats, not just the deltas.
(each point is the median of a sim of 100 using uniform random deltas +/- 1000)
https://dl.dropboxusercontent.com/u/298 ... oints2.txt
Image
Image

Posts: 2
Joined: Mon Oct 21, 2013 4:12 pm

Re: Edgy/Raffy's Official Catus Thread

Postby horoqt » Mon Oct 21, 2013 4:31 pm

raffy wrote:If anyone has any questions, comments, bugs or w/e about Catus or Zephyrus, please post them in this thread!


Alright Sir, here we go!

I was tenderly stroked by Fortuna so Garrosh dropped http://www.wowhead.com/item=104403 for me :>

When I tried to import my armory profile I got the error message "Unable to load item (104403): java.lang.NullPointerException"

When I switch my weapon for example to this baby http://www.wowhead.com/item=103952 it works perfectly, as usual.
Btw. I tried to manually add the weapon per ItemID and received exactly the same error message.


Y IS DIS HAPPENING? ლ(ಠ益ಠლ)

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Mon Oct 21, 2013 5:27 pm

Oops, I fixed the upgradability on the Hellscream heirlooms the other night but never added support for Heirloom quality in my item database:
http://raffy.antistupid.com/wow/items.php?id=104403
"quality" is returning null, I have no guard protecting that (it's assumed to exist.)

During the PTR, those items were being reported as epic quality and I haven't updated the database since then.

I've fixed that issue and incremented the database version. On next Catus launch, it should redownload all items and the problem should be fixed. Additionally, the Heirloom items should have the proper quality color.
Image

Posts: 2
Joined: Mon Oct 21, 2013 4:12 pm

Re: Edgy/Raffy's Official Catus Thread

Postby horoqt » Mon Oct 21, 2013 5:48 pm

──┬ ¯\_(ツ)

//Edit: Good guy raffy, here's some fish as reward!

(´◕ω◕)っ >)))°>

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Mon Oct 21, 2013 6:04 pm

There appears to be some windows-related issue where Catus hangs on shutdown and remains open after the interface has closed. It is having trouble saving preferences due to some Java/windows bug. I will fix this tonight. Be careful that you don't end up opening a zillion Catus's. Check Task Manager for stray Java's.

Edit: actually that was easy to fix, pushed v27.

Edit 2: The updater might have issues if you have stray Catus's open. It won't be able to overwrite the existing jar. I don't exactly know what it does in this scenario. I assume it has an error :) but I've never seen it occur. If your updater fails, check Task Manager.
Image

Posts: 5
Joined: Wed Jul 24, 2013 12:09 am

Re: Edgy/Raffy's Official Catus Thread

Postby Ungala » Mon Oct 21, 2013 10:09 pm

LOOOOVE the new trinket option! Have you considered doing something similar for all gear? In Rawr's hayday, that is what made it my goto, the ability to preload in all of your gear options, and have it run sims and spit out the best possible combination. I know something similar can be done individually, but it would be extensively time consuming. I also understand that this is probably a side project for you, and the amount of work to incorporate something like this would be significant, but would be awesome if possible. ;)

Honored
User avatar
Posts: 66
Joined: Mon Feb 21, 2011 8:56 pm

Re: Edgy/Raffy's Official Catus Thread

Postby scorpio0920 » Mon Oct 21, 2013 10:22 pm

cat.png
cat.png (66.38 KiB) Viewed 604 times


v27

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Mon Oct 21, 2013 10:50 pm

@Ungala yeah, that will be next.

@scorpio: oops, that was the little hack I did last night to do random delta experiment from above. I apparently only reverted part of the change and it's stuck adding 1000 stat weight sims into a window with no scroll bar :p I'll fix that in an hour or so as v28.
Image

Honored
User avatar
Posts: 66
Joined: Mon Feb 21, 2011 8:56 pm

Re: Edgy/Raffy's Official Catus Thread

Postby scorpio0920 » Mon Oct 21, 2013 11:15 pm

Another issue, the simulation results, and text output inconsistent, and did not follow the DPS rank order.
cat3.png
cat3.png (50.71 KiB) Viewed 596 times

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Tue Oct 22, 2013 1:00 am

Thanks for reports. Putting up v28 in a few minutes should fix both of these issues.
- fixed trinket sort order, added error
- restored stat weights functionality (no longcat window)
- stat weights uses scrollable window
- hellscream heirlooms should be colored correctly, and non upgradable
- fixed windows save/exit bug
Image

Revered
User avatar
Posts: 352
Joined: Wed Jun 29, 2011 4:49 am

Re: Edgy/Raffy's Official Catus Thread

Postby Stenhaldi » Tue Oct 22, 2013 7:10 am

Minor thing, but it seems that a stat is given a positive weight even when the DPS delta is negative. In this sample, the intellect sim does less damage (due to statistical variation) and it's still given a positive weight.

Spoiler: show
Code: Select all
[Weights] (DPS/Stat)
Name                    DPS   Stdev    Gain   Error  Weight   Error  Delta
Baseline             399.0K  19.31K       0     193    0.00    0.21 
Agility              409.6K  19.66K  10.61K     197   11.79    0.22  +900 Agility
Secondary            405.0K  19.52K    5999     195    6.67    0.22  +300 Crit, +300 Haste, +300 Mastery
Weapon Damage        404.3K  19.22K    5313     192    5.90    0.21  +900 Weapon Damage
Expertise            394.2K  19.22K    4795     192    5.33    0.21  -900 Expertise
Hit                  394.6K  19.10K    4345     191    4.83    0.21  -900 Hit
Strength             403.0K  19.13K    4030     191    4.48    0.21  +900 Strength
Attack Power         402.7K  19.38K    3720     194    4.13    0.22  +900 Attack Power
Spell Power          399.2K  19.59K     263     196    0.29    0.22  +900 Spell Power
Intellect            398.9K  19.28K      46     193    0.05    0.21  +900 Intellect

Exalted
Posts: 769
Joined: Tue Oct 23, 2012 7:15 am

Re: Edgy/Raffy's Official Catus Thread

Postby raffy » Tue Oct 22, 2013 7:27 am

Ah damn, I figured that would happen eventually. I was asking around on simc irc: "how often does a positive delta result in a DPS loss?" and the only situation I encountered was various haste break points (which don't apply to us), but I forgot about random flux. This will be fixed in the next version.
Image

Revered
User avatar
Posts: 352
Joined: Wed Jun 29, 2011 4:49 am

Re: Edgy/Raffy's Official Catus Thread

Postby Stenhaldi » Tue Oct 22, 2013 7:52 am

Also, some unexpected behavior: when I set the fight duration range to "Simc: ±20%", it randomized the mean fight duration (while the duration for each iteration was still randomly distributed about that mean). That is, it introduced a random systematic offset in the fight duration.

Noticed this because it was putting stat weights all over the place, since each stat delta would be run at a different mean fight duration.

PreviousNext

Return to Kitty DPS

Who is online

Users browsing this forum: No registered users and 6 guests