Mostly, it's interesting to see what my reforging framework can do. It's very generalized but able to find global maximums relatively efficiently for most stuff. I basically just give it a pile of enchants and gems, and the constraints from the interface, and say "do it." There are many approaches to this problem, but not many can solve it exactly, provide all alternative solutions, and minimize the necessary changes.

I also realize that many Cat's often have to tank for some fights (esp. if you 10-man or semi-casual), so I'd like to add tools to Catus to help in that respect.

Yeah, just replace the jar. Catus can auto-update, so if this Bear Hax thing is working, I'll add it into the next official update (v30) and that should be the last time you need to directly download something. Yeah, xmx1g is "maximum heap: 1gb", but you can also skip that step and just use a search range of "5" in the reforger.

The reaching/shifting argument is actually the same thing. For example, many people assume that if Mastery is the best stat, then automatically that means you need to put mastery on your gloves. My reforger does not make this assumption because it is false.

Additionally, Zephyrus supports Hunters, and time and time again, people who use it are always surprised that it suggests to put Expertise on their gloves or Hit on their cloak, but overall results in a significantly better reforge than their existing arrangement.

As long as you favor Haste more than Agility (and the stat weights reflect this), it will not do something suboptimal. Knowing the value of Agility helps it satisfy/break socket bonuses. Knowing the value of Agility and Haste helps it choose which socket bonuses (secondaries or primaries) are worth it.

One shortcut I do take is solving the Hit/Exp problem first. Without this, my reforging approach isn't practical. This means you can't specify Hit/Exp weights. This decision was made specific to Feral needs. Possibly knowing true Hit/Exp weights would let you find even better reforges. Pure reforging (no gems/enchants) can be solved exactly as a linear programming problem almost instantaneously. The 3rd reforger in Catus "Constraints and Weights" will eventually be replaced with this technique, there just hasn't been any need for it.

Also, if the slow gem mode (like I described above) was available in this version, it would know what stat other than Crit is the best, and try those permutations as well. This is important when you over the cap and need to switch Crit into the next best thing.

Is there a limit to how much heap space you can give Java? I've got 16 gigs of physical memory, so there's a lot more than 1gb I can allocate it, if it lets me. I got almost all the way through with a 50 range and all the enchant boxes and the gems checked. Then it died .

Also, it's only using one and a half of my four processors when it's doing this. Is it possible to parallelize your goal seeking algorithm ... partition the search somehow?

That said, I got what appeared to be reasonable results with all but the gems checked. The weights I've been using are:

Agi: 1, Str: 0, AP: 0Mastery: 1, Haste: 1.5, Crit: 2

Those are more intended to order the priority rather than to indicate any kind of actual relative weight in terms of all the possible effects of each stat. Obviously that's a bit of a facile way to use stat weighting . If we really dug into it, technically Strength would have some relative weight (as it still grants me 1 AP) and then AP would have an equivalent weight to that. Practically, I'm never going to be looking at anything that has those stats. Also, as you said, Agility has some weight proportional to its granted AP and Crit (Dodge is both not pursued and (and because it's) clobbered by DR).

Using those, I got a fairly light-touch result that ended up dropping only ~800 Crit for an equivalent increase in Haste. That seems very "correct".

What are you pulling that summary you keep pasting from? I've pressed a lot of buttons and I haven't found something that prints that out (the gear comparison is the closest, but it doesn't look like that).

"Unknown enchant effect: 4446"That's your weapon enchant, which is not implemented since it's not useful for Feral.

It only needs more memory because of the bug where its storing all solutions it finds, instead of the best 5K or so. Just cut the range to 5 or so, you don't want a solution that's 50+ over the Hit/Exp cap anyway.

The Maximize Secondary reforger is only 1-threaded. The 1:1:1 reforger is multithreaded and much, much faster. Since Catus was created, I've been using the Rune and I'm still using the Rune, so I'm not very motivated to trim a few seconds off a reforger I never use. The algorithm is perfectly chunkable however. Maybe I'll do it this weekend.

I tried v29 today and once again I experience a problem similar to the one I reported with v24:Although configurations are the same, I see a drop in simulated DPS from ~313k in v28 to ~293k in v29.Is it possible the bug from v24 crept back into the codebase?

My first post her..long time reader..Thanks for all the work its an awesome addition for me. Now i have a little question. I do not have a RoR and im trying to use secondary stats to get a good result...i must i admit i fail in doing so..mostly cause i do not know how to use weights in an appropriate way. Could you plz help me a little on my way?

Saeneas wrote:I tried v29 today and once again I experience a problem similar to the one I reported with v24:Although configurations are the same, I see a drop in simulated DPS from ~313k in v28 to ~293k in v29.Is it possible the bug from v24 crept back into the codebase?

The problem from before was the RPPM/ICD setting going into the future, instead of the past. Which RPPM/ICD option are you using?

I tried to reproduce your results with following procedure:1.) Alt-Click on the green plus-sign to get a fresh blank config2.) Import from Armory3.) Section "Encounter Configuration" -> Click on "Use Recommended Effects"4.) -> "Generate Distribution"

Result: v28: 326,7k v29: 297,7k

I'm quite puzzled what I could probably have done wrong to break my v29-catus-installation.Today I upgraded my installation from v25 to v29. Later on I seperately downloaded v28 tocompare v28 and v29.I will now download a fresh v29 and look if my problem persists.

Symisch wrote:Hi Raffy,My first post her..long time reader..Thanks for all the work its an awesome addition for me. Now i have a little question. I do not have a RoR and im trying to use secondary stats to get a good result...i must i admit i fail in doing so..mostly cause i do not know how to use weights in an appropriate way. Could you plz help me a little on my way?

Sure, most straight forward way is using the Catus defaults.1. import your kitty2. "Reforge" pane, select "Maximize Secondary"3. click defaults4. i'd suggest using: hit(7.5%) exp(7.5%) range(100), [x] change gems, [x] break bonuses, [x] hands, [x] back5. click reforge6. if it finds solutions, they show up in the solution menu below the reforge button7. the first one is auto-selected and your stats should be updated8. use "Reforgerade" and "Shopping List" to figure out what needs to change relative to your armory

Note: make sure you're not using the BearHax update from the previous page.

You can kick this up a notch by computing stat weights specific to your gear:Oh poop, there's a bug in the "Stat Weight: Simulator" when you don't have any set bonuses.Nevermind, this will need to wait until the next Catus update.

I did this very quickly, but it shows the Catus defaults are reasonable. It's possible that 1 Agi = 2 Mastery for your gear, but you'd need to do a much larger simulation.

@Saeneas, can you send me the Base64 encoding of the v29 config that results in 297K DPS?

I have a theory now that I see your DPS numbers -- "297,7K" -- in v29, I added non-US number parsing, but never tested it. I also did not localize any of the default values, for example, I'm unsure if "7.5%" parses properly for you. It is possible that "7.5m" encounter duration also does not parse properly. Can you try setting the encounter duration to "450"?

Maybe I should of done it the other way and just forced everything to US formatting.

Ok great, that profile sims as expected.My guess "7.5m" in your locale is "75m" Yep, 297K :p (I think Catus kills the sim at 60 minutes by default)You'll need to use "450" or "7:30" until I can fix this in v30.

Edit: Are all you crazy comma-for-decimal-place-users ok with the US conventions? I think it will be easier in v30 to revert the localization change and instead enforce that all formatting by Catus is US instead of locale-specific. It's nontrivial for me to test for these situations and I'm sure more of them will creep up in the future.

Hi Raffy thanks a million for your reply..small extra question..how do i generate myself those optimal weights for my gear? Generate weights isnt doing anything for me at the moment it seems..or do i have to wait for like really long?

Symisch wrote:Hi Raffy thanks a million for your reply..small extra question..how do i generate myself those optimal weights for my gear? Generate weights isnt doing anything for me at the moment it seems..or do i have to wait for like really long?

You can kick this up a notch by computing stat weights specific to your gear:Oh poop, there's a bug in the "Stat Weight: Simulator" when you don't have any set bonuses.Nevermind, this will need to wait until the next Catus update.

Also a note on the "Maximize Secondary" reforger, if you disable gems, you can get an exact answer instantly for any combination of weights. Each gem makes the algorithm significantly more complex (esp. with break bonus enabled), and most people have 15+ gems. Even with 3 gem options per socket, 3^15 = 14348907 permutations of gems PER reforge.

Next Catus will be bug fixes, Bear/Crit reforger, improved Quick Compare, Treant/FoN damage threshold calculator, import via URL, and localization fixes. Maybe another encounter. I think having more realistic encounters are important, especially ones that focus on our weaknesses. I don't know if it's possible, but it would be interesting to quantify the value of Soul Swap and Redirect.

I've been contemplating doing some kind of Combat Log analysis in tandem with the Catus simulator.

I've considered switching the action list over to absolute power and working on the WeakAura backend to support it.

Simulator: Stat Weights might need an iterative component, where it reforges after doing a simulation and repeats itself.

The Catus simulator is still backed by the original simulator from the first release. In preparation for the next expansion, it might be interesting to experiment with a Javascript version of Catus. This would also be far more open than the current Catus code which is still private.

The Catus simulator is still backed by the original simulator from the first release. In preparation for the next expansion, it might be interesting to experiment with a Javascript version of Catus. This would also be far more open than the current Catus code which is still private.

Some ideas:

A command line API would definitely be useful for the Simulator and Reforger. I've been working on a small project myself and calling any of the simulators (SimC, etc.) had so much baggage that performance scaling quickly became an issue. Having a command line interface would also make it easier to create small scripts/shortcuts to re-simulate interim gear/talent setups via web services and use them in tandem with in-game addons.

You already spoke of some kind of "libcatus" for dot power checks and mentioned the non-trivial nature of creating an absolute power system due to requiring a normalized "base". What if you could expose your basic calls for Rip/Rake/Thrash and FoN predictions for other addons (DF, WeakAuras) and use a pre-generated "fixture" from Catus (either addon or standalone?) to use as the 1.0 Base for all major abilities. This could be further scaled in the new expansion and addon maintenance would be made fairly trivial.

Some sort of combat evaluator would be cool. Say you enter your gear and what buff you had at the start of the fight. The strength of your character should then be completely known from the combat log. You could then compare what the player did and compare it to what the action script would have done in that situation. And then maybe present some summary in the end. With all the people asking for log analysis you could just run them through the program and get a nice little summary of what they could work on. Don't know how realistic this is though.

Another thing I would like to have is some sort of dense combat log generator. Right now, you see everything, rake ticks, treant rake ticks etc etc. It is a bit hard to get an overview. Could it be possible to maybe have a tick box for a more dense version that would look sort of like this: http://worldoflogs.com/reports/8spf21cd ... SUCCESS%29

Hi raffy!In v29 I'm not able to import my character (Drakkainen Al'Akir). Clicking 'Import' has no effect except fast disappearing import progress window. Cached files containt JSON data pulled from the battle.net. However I am able to load data of other ferals (at least those which I tried).edit: previous versions also do not work - seems like the problem is inside the data pulled from the battle.net.

command line error - Importing with ALT doesn't change anything.JSON of my character from the Cache folder - http://pastebin.com/QzPxTqCrVersions 27 and 28th don't work either.I don't know if there are any more details I can share with you, I believe the above screenshot says it all though.

Ok, I know now what's the case (I totaly forgot about that). I switched profession from BS to Engineering and I have two additional gems from BS which don't count. Being in this situation for the first time I just wonder if I can remove those gems somehow.