@ ProtPally/War, Bear contributors

Topics: Rawr.Base, Rawr.Bear, Rawr.ProtPaladin, Rawr.ProtWarr, Rawr.TankDK
Aug 3, 2009 at 11:49 PM

Hopefully someone who works on these modules is around. I'm starting up a Tank related project, and I'd love to give my users the ability to load their stats/etc in from a Rawr profile. The DKTank module saves all kinds of goodies (Armor, Health, Parry/Dodge Rating and %, Miss %) but none of the other Tank modules do this. Presumably they just let Rawr do all the recalculating when the profile is loaded.

I wonder if it'd be possible to have someone update the Prot Paladin/Warrior and Druid Bear modules to save the same information (including Block %/Value for Pally/War) in the character files. I'm a relatively experienced C# programmer and I'd even be willing to do the work myself. What I don't have any experience with, however, is source control or collaborative projects. If no one wants to actually do the updates themselves, I would be happy to take it on if someone can give me a bit of direction on how the rest of it all goes.

Thanks a bunch! :D

Developer
Aug 4, 2009 at 12:45 AM

Exactly what kind of project are you starting that Rawr cannot do?

Aug 4, 2009 at 2:44 AM

Basically, SimulationCraft for tanks. Recently some discussion has come up that makes me think there is a need for such a thing that I can fill. I've seen a number of "simulators" in my travels, but none of them have the depth or detail that I'm looking to create.

Coordinator
Aug 4, 2009 at 3:19 AM

In what way do you see the DKTank model saving armor/health/parry/dodge/etc? It really shouldn't; and we don't want others to do as well, if it does. Can you clarify what more you're aiming to do, that Rawr doesn't already do? If you're a C# dev, why start another project at all?

Aug 4, 2009 at 3:52 AM

If you go to File-Save As under the DKTank model and open the resulting XML file in Notepad, you will find a section that contains the following:

<Armor>26576.457</Armor>
      <BonusArmor>673</BonusArmor>
      <Health>37065.16</Health>
      <Agility>136</Agility>
      <Stamina>2547.96</Stamina>
      <AttackPower>3239.48486</AttackPower>
      <Strength>1140.625</Strength>
      <HitRating>247</HitRating>
      <DodgeRating>561</DodgeRating>
      <ParryRating>517.15625</ParryRating>

I'm not sure I understand why you wouldn't want it to save that data, but I don't know enough of Rawr's architechture to have an informed opinion about that.

As for what I'm looking to do, as far as I can tell Rawr doesn't offer much in the way of any kind of simulation for tank damage that could be used to compare across class lines.

Coordinator
Aug 4, 2009 at 4:02 AM

Ah, yeah, that shouldn't be there. Nice timing though, Shaz just got back today; can you fix that, Shaz?

That data shouldn't be there, since it doesn't belong in a character file.

Rawr doesn't simulate anything; are you sure you're really needing a simulator? What are you trying to learn/show that can't be done with a closed form model? If you think something's missing from Rawr, why not add it to Rawr (as long as it makes sense to add; a simulator definitely wouldn't, for example).

Aug 4, 2009 at 4:19 AM

Exactly! A simulator definitely wouldn't make sense to Rawr, and since that's what I want, there's no point in trying to write one within the constraints of Rawr.

Is there a reason that data doesn't belong in a character file and that behavior needs to be fixed? Being able to load info from a file rather than forcing my users to input it manually would be super awesome. :(

Coordinator
Aug 4, 2009 at 4:32 AM

The closest to what you want is copy to clipboard menu command.

Aug 4, 2009 at 4:42 AM
Edited Aug 4, 2009 at 4:49 AM

Hmmm. Thanks Kavan, that's helpful. It has everything I'd need except avoidance ratings, though :(

Would it be possible to have that added instead, since it seems you don't want that kind of data stored in the character files. Hope I'm not coming off rude. I just think it'd be really awesome to have some interaction between Rawr and my simulator, since Rawr is so popular among theorycrafters. :D

Developer
Aug 4, 2009 at 4:46 AM

We don't want the .xml character files to be saving that adata because it's only supposed to eb saving data required by Rawr: Option Panel settings, gear in slots, gear that is available for optimizer etc. The stats are being generated within Rawr dynamically by the gear and settings and shouldn't be getting reloaded in/out of the files.

Rodney, we are questioning your/the communities *need* for a tanking sim when Rawr can tell you how effective you are in a fight with a boss. Is there some major factor that we are not getting that you are wanting to show? If there is, let's add it to Rawr rather than make changes so some other tool that will be far less accurate for a long time (until it's well-polished from lots of man-hours) and make Rawr better.

Aug 4, 2009 at 4:58 AM

I see a need for a Tank version of SimulationCraft, and Astrylian said him/herself that it wouldn't make sense to have such a thing in Rawr. Not to be argumentative, but if you don't want help with some interoperability (which is the impression I'm getting) then don't - I'm going to develop the tool whether or not you guys see a need for it. I just thought it'd be nice to have a little bit of cooperation among some devs with similar goals.

Aug 4, 2009 at 5:12 AM

I recently wrote a simulator that supports loading its data from Rawr character files.  I solved this problem by writing a quick script that parses the XML character file for gear, talents, buffs, and glyphs, then uses Rawr's *Cache.xml files to reassemble the overall stats.  It's a little more work to code, but it lets users just use any old Rawr character file without having to enter anything manually.

I can point you to the code if you'd like, but the script is pretty damn ugly.  It works fine, but I just slapped it together with little bits I gleaned from Google.

Aug 4, 2009 at 5:13 AM

Yeah, that was what I was hoping to avoid, kbranch, but if you're willing to point me to your code I would certainly be grateful for the head start it might give me. :)

Aug 4, 2009 at 5:39 AM

The script that does the XML parsing can be found here. The relevant bits are in the ParseRawrFile function at the end of the file.  The C++ portion handles calculating the final stats.

Aug 4, 2009 at 5:41 AM

Thanks! :D

Coordinator
Aug 4, 2009 at 6:09 AM

That sort of thing isn't necessary; you can export a list of stats for a character from a model, but they don't belong in the character file, that's all. Rawr.Enhance does this.

Again, "I see a need for a Tank version of SimulationCraft" means what? What is that need?

Aug 4, 2009 at 6:21 AM

An extra export step is an unnecessary hoop for your users to jump through, though.  That'll also leave you with the final stats after all buffs and talents have been applied, which means you'll still need to parse the character file for talents and buffs if you want to implement them yourself so the user doesn't have to fire up Rawr every time they want to tweak the slightest thing.

Coordinator
Aug 4, 2009 at 7:17 AM
Edited Aug 4, 2009 at 7:31 AM

No, all of that can be a part of the export; you can have it include/exclude whatever you want. It's a necessary hoop, not an unnecessary hoop. They *should* be firing up Rawr (or leaving it running) every time they want to tweak the slightest thing about their character.

Aug 4, 2009 at 4:08 PM

Rawr.Enhance does it, but none of the other modules do as far as I can see, and if the Copy Stats to Clipboard output is any indication of the uniformity in exports between different modules... I don't think I can relish the idea of having to have four different parsing functions. It seems my cross-program cooperation idea isn't meant to be, for now. Thanks for your time, gents.

Aug 4, 2009 at 4:19 PM

Why should they have to fire up Rawr?  My simulator implements buffs, talents and glyphs just fine, there's absolutely no need to use another program when you want to tweak those.  Rawr support is there as a convenience, not as a required core piece of the program.

Developer
Aug 4, 2009 at 4:58 PM

I know I'm usually viewed as a cynical person, but still.

 

This almost seems like a very nice method for you to have future users migrate from Rawr to your program, and now you are asking the Rawr programmers to implement a method to make it more of a convenience to migrate? Jesus holy mother of ...

Aug 4, 2009 at 5:08 PM
Edited Aug 4, 2009 at 5:10 PM

I'm not sure if you're responding to me or kbranch, but make no mistake - What I am writing is not intended to replace Rawr or replicate what it does. Its purpose is entirely separate from that of Rawr and if anything I'd love to see people use them in tandem. My thoughts were, essentially:

"Making people type things in manually kind of sucks. There has to be a better way to do it. Rawr is pretty popular... I wonder if the character data it saves could be parsed without any headache. Awesome! The DKTank save does... but none of the others do. I wonder if I could get the devs for the other modules to do something similar. How do I get in touch with them?"

And at that point, I made this thread. :)

Aug 4, 2009 at 5:16 PM

It's hardly a plot to steal users from Rawr, the tools are different and meant to be used together.  Rawr is great for a very fast, user friendly theory crafting tool, but there are some fundamental limitations with a mathematical model.  This is no more insidious than the relationship between Rawr and EnhSim.

Coordinator
Aug 4, 2009 at 5:57 PM

I'm not concerned about that at all; I'm concerned about our users, and giving them the best experience possible. If there is a need for Rodney's proposed tool (and I'd still like to see what that need is), then exports (consistent ones; you can write them however you want) are totally possible.

Aug 4, 2009 at 6:03 PM
TNSe wrote:

This almost seems like a very nice method for you to have future users migrate from Rawr to your program, and now you are asking the Rawr programmers to implement a method to make it more of a convenience to migrate? Jesus holy mother of ...

That makes no sense at all.  He isn't adding gear to his tool so it can never replace Rawr. If he was adding gear to his tool he wouldn't need anything from Rawr at all and wouldn't be posting.  In fact if the only reliable way to get your buffed stats is from Rawr then if anything his requires Rawr in order to be easily usable.

The concept of a TankSim like EnhSim is interesting.  Static mathematical models are never perfect and simply serve as a directional guide.  There are numerous ways to rate the gear, none of which are perfect (I think ProtPal has 6 models implemented? and they all come up with different answers).  If you had a simulator into which you could put real game tank, boss and healer data from parses I suspect that would be quite useful to theorycraft with.  It won't be perfect either but it will be yet another data point.

Simulations are very valuable as another data point for decision making.  I've often felt that models are lacking in important ways.  Cat has issues with up time on it's DoTs for example...real world, we don't have 100% Rip uptime; Rawr assumes we do.  "What would my best gear possible be when --I-- play?" is far a more useful piece of knowledge than "What is the best gear if I were to somehow play perfectly?"...which is what Rawr.Cat tells me today.  Simulations can be better at that than models in this way.  Simulations let you try things like "What if I always refresh Rip, even if it's early, so it never falls off, only biting if it's not almost off and Rip won't let me overwrite?" losing Rip ticks but gaining Rip up time.  Given that Rip will not let you overwrite a stronger Rip you actually increase your tick damage as well on those overwrites.  Simulations help you zero in in terms of real play, real cp generation, real miss/dodge at your hit/exp how that affects your overall damage. 

How adverse the developers are to any other tool than Rawr existing is...saddening.  It's against the spirit of open source development in general.  Some people use Rawr, some use spreadsheets, some people just use rules of thumb and no theorycrafting at all.   For the most part success or failure is not dependent on how good you are at theorycrafting (take a look at Ensidia...they are renowned for terrible gear selection and bad theorycrafting...but they do fine).

Worrying about "diluting the theorycrafting space" I think is very short sighted.  New tools, if anything, help people see things in new ways.  Sometimes those ways are useful, sometimes they are not, but they are always valuable exercises even if they only serve to validate current models and offer nothing new.  More than one opinion on any question is always welcome...and theorycrafting via models or simulators are just that: opinions.

Developer
Aug 4, 2009 at 6:22 PM

Think you need to look up what Cynic means.

 

kbranch' wording was wrong, and he corrected it. I was reacting to the fact he wrote that Rawr would only be a convenience.

 

But other than that, nice long useless post of nothing.

Coordinator
Aug 4, 2009 at 6:33 PM

I am not adverse to other tools besides Rawr existing. But dilutting the theorycrafting space isn't short-sighted, it's a very real problem. Look at how much trouble we have convincing people that things like Pawn values, or Maxdps.com are bad. Improving existing tools, if possible, will usually be better than creating new ones.

I fully support there being a new tool, if there's a need for one, and it's done in the right way. You've got to look at the big picture. What should this tool do? Why can't we make Rawr do that? Who should use this tool? What should they do with it? (Hint: those last two are very important, and it doesn't sound like you're thinking about them, but I may be wrong.

For example, EnhSim. The way that attack speeds, haste, windfury procs, and instant attacks play off each other is extremely difficult to model in a closed form way. So, EnhSim exists, and has alot of strong development behind it. Rawr.Enhance exports to an EnhSim config file, to make running EnhSim on the character file quick and easy. Primarily, it's intended for use as a second oppinion, a double-check of Rawr's results. It's intended to be used by developers, when working on the model, and for a few hardcore users to do as well. It not intended to be used for character design, gear selection, or required for normal users.

The bottom line is that we don't want to create alternatives to Rawr, we want to create compliments to Rawr. For everyone's benefit, users and developers alike, it makes much more sense to improve Rawr, where you find it lacking, than to create an alternative to Rawr (duplicating a ton of effort, confusing users, etc.)

Aug 4, 2009 at 6:48 PM

There's definitely a need for what I'm looking to do. As awesome as Rawr is for gear selection and comparisons, there are things it simply cannot do because it's not meant to. You can't tell Rawr "A Warrior and a Druid are tanking a dual-wielding boss that hits for X with his main hand, Y with his off hand, and has a magical ability dealing Z damage every 30 seconds. Both are being healed by two healers, one does 13k-15k every 2.5s and the other does 8k-10k every 1.8s. Compare their survivability."

The purpose is to be able to provide a reasonable simulation of Patchwerk-like tests we can do on the PTR to show the effects of class changes and compare tanks. Such tests require significant coordination, server cooperation, and available players to run to the point that it is almost impossible to get a large enough sample size that reasonable conclusions can be drawn from. The point isn't to be able to use my tool to microtune your gear and see what an optimal setup is. It's to remove factors from the equation that make it difficult at best to compare tank performance reasonably.

Coordinator
Aug 4, 2009 at 6:54 PM

Sounds great, makes sense.

Aug 4, 2009 at 6:57 PM
TNSe wrote:

Think you need to look up what Cynic means.

 

kbranch' wording was wrong, and he corrected it. I was reacting to the fact he wrote that Rawr would only be a convenience.

 

But other than that, nice long useless post of nothing.

Just...wow.  Was there really any call for such a rude reply?  I thought I was very respectful in my post.

Astrylian:

I think you have an unrealistically optimistic view of WoW players and their ability/willingness to theorycraft.  Most by far do (and are always going to) use things like pawn and EJ "BiS gear" lists.  Even Rawr is by far too much work and too confusing for many players.  When I try to get new people to use it, it's often like pulling teeth...and they often don't really spend time tweaking things and really USING the tool they just look at it like another gear list to occasionally be referred to.

People experienced and intelligent enough to use multiple tools understand that each tool is simply an opinion and it is highly likely NONE of them are perfectly modeling reality.  Simulation tools are generally the most complex theorycrafting tools around you have to spend substantial amounts of time just to find out which pair of boots, between two, is better and then do the same for the next pair, alternate gemmings, then every other slot...it get's insane.  Most users will not use them.  Experienced users that want a third, fourth, fifth, etc opinion might though.

The bottom line, from this perspective, is that you won't be creating an alternative to Rawr.  The tiny fraction of WoW players that will use a simulation program is even smaller than the tiny fraction of players that will use Rawr and is in fact mostly a subset thereof.  A good simulation allows you to help validate standard models and test out end cases that often do not model well.

Aug 4, 2009 at 7:02 PM
TNSe wrote:

kbranch' wording was wrong, and he corrected it. I was reacting to the fact he wrote that Rawr would only be a convenience.

I stand by the original wording.  Your interpretation of it may have been wrong.  Rawr support in my simulator is, in fact, there as a convenience.  I never said that Rawr itself was only a convenience.

Coordinator
Aug 4, 2009 at 7:11 PM

Enough with the pointless bickering, guys.

Khanthal, I don't think I'm unrealistically optimistic. Sure, alot of people will always use things like Pawn, and that's fine; those things have a purpose. But that doesn't mean that we shouldn't do our best to make Rawr as user-friendly as possible. Rawr's whole point is to make the ultra-complex theorycraft easy to understand, and use, for everyone. Alot of it is just improving how simple things appear at first glance, to prevent that sort of shock at all the options that you mentioned. For example, those people you tried to get to use Rawr, what was there problem? How can we address that? Did you show them the tutorial video?

But yeah, a simulator as a validator to Rawr makes total sense, I support that.

Aug 4, 2009 at 7:40 PM
Edited Aug 4, 2009 at 7:43 PM
Astrylian wrote:

Khanthal, I don't think I'm unrealistically optimistic. Sure, alot of people will always use things like Pawn, and that's fine; those things have a purpose. But that doesn't mean that we shouldn't do our best to make Rawr as user-friendly as possible. Rawr's whole point is to make the ultra-complex theorycraft easy to understand, and use, for everyone. Alot of it is just improving how simple things appear at first glance, to prevent that sort of shock at all the options that you mentioned. For example, those people you tried to get to use Rawr, what was there problem? How can we address that? Did you show them the tutorial video?

But yeah, a simulator as a validator to Rawr makes total sense, I support that.

I didn't know there was a video :).  I've been using it for...a long time heh; there wasn't a video when I started.  Both Rawr and Power Auras (Classic) are the two things I try to "sell" to everyone that seems like they could benefit and is open/looking for that sorta thing.  For example I'll sneak it in when people are saying "Not sure if I should get this polearm...I'm not sure it's an upgrade." ..."Well Rawr says it's an upgrade based on your gear from the armory"..."What's Rawr?"

The biggest difficulty I have is actually getting them to install it, half the time.  People get weird about anything they install with regard to WoW.  If I can get them in the program they usually think it's cool. 

The first and most difficult hurdle always, ALWAYS, is explaining gemming.  The new gemming system has really helped make explaining it easier.  People are FAR more amenable to it.  I always used to have to say things like "This is the only part that's hard/sucks" and try to talk fast enough to get them past it.  The next hurdle is helping them understand that if they change one piece, they need to re-look at all the other gear and see if other things shifted.  I never start them with the optimizer; I always get them to "hand optimize" a little first so they understand and see that changing one thing can change everything else.  It's a huge change from static lists people are used to.  By default they think if Rawr says A is better than B then it will ALWAYS be better...and of course it's often not.

It's not too hard to get people to this point.  They will open Rawr with their given gear set and look at a drop, say it's an upgrade, loot it and equip it in Rawr and go from there.  It's very hard to get them to go much, if any, past that to plan out gear upgrades or deal with real optimizations that are not straightforward.  An example there is that, unless you happen to have a bunch of ArP or a good ArP trinket, Rawr won't tell you that ArP is awesome...because at that point it isn't.  In truth, with the right gear, it can be better than other stats but your basic user will never see it unless they stumble on it through random gear upgrades getting ArP up high enough.  Similarly they won't necessarily think about "what if I swap this piece out for my +hit so I can swap that other one in".  True optimization is sort of...advanced Rawr use for people it seems.  Explaining that they can go through and click little green diamonds for 15 minutes across all the gear they have and gems/enchants they want to use until they get them all in so the optimizer can work often doesn't go over well.

None of them would even have gotten to the point they are without me hand-holding them there, though.  That's the real problem.  If I hadn't devoted the time to "shepherding" them they never would have adopted the program at all.  A lot of WoW players have been using gear lists or their own personal rules of thumb for a long time and they do good damage/tank well/heal well so...they don't see any need to change to something unfamiliar and, to them, infinitely more complicated. 

Developer
Aug 4, 2009 at 8:12 PM

kbranch, okay, let me Rephrase it: Your wording let it be easy to misinterpret what you meant. But you have clarified.

 

khantal, I find it weird, that you who complain so much about the average users ability to use program, suddenly turn around and find it saddening that Rawr authors don't want any other tools than Rawr.

 

I did mention to start with I am a Cynic. I don't expect more of people than what I said. This is why I needed a clarification, and I have received one I am happy with.

Coordinator
Aug 4, 2009 at 8:20 PM
khanthal wrote:

The biggest difficulty I have is actually getting them to install it, half the time.  People get weird about anything they install with regard to WoW.  If I can get them in the program they usually think it's cool. 

Agreed, just installing it is the biggest hurdle, and we've taken that to heart when designing Rawr. You're going to love just telling people an 11-character URL with Rawr3. :D

The first and most difficult hurdle always, ALWAYS, is explaining gemming.  The new gemming system has really helped make explaining it easier.  People are FAR more amenable to it.  I always used to have to say things like "This is the only part that's hard/sucks" and try to talk fast enough to get them past it.  The next hurdle is helping them understand that if they change one piece, they need to re-look at all the other gear and see if other things shifted.  I never start them with the optimizer; I always get them to "hand optimize" a little first so they understand and see that changing one thing can change everything else.  It's a huge change from static lists people are used to.  By default they think if Rawr says A is better than B then it will ALWAYS be better...and of course it's often not.

Yeah, the gemming change was huge. It's still complex, but at least it's abstracted away from the user by default, and for the vast vast majority of users. 

It's not too hard to get people to this point.  They will open Rawr with their given gear set and look at a drop, say it's an upgrade, loot it and equip it in Rawr and go from there.  It's very hard to get them to go much, if any, past that to plan out gear upgrades or deal with real optimizations that are not straightforward.  An example there is that, unless you happen to have a bunch of ArP or a good ArP trinket, Rawr won't tell you that ArP is awesome...because at that point it isn't.  In truth, with the right gear, it can be better than other stats but your basic user will never see it unless they stumble on it through random gear upgrades getting ArP up high enough.  Similarly they won't necessarily think about "what if I swap this piece out for my +hit so I can swap that other one in".  True optimization is sort of...advanced Rawr use for people it seems.  Explaining that they can go through and click little green diamonds for 15 minutes across all the gear they have and gems/enchants they want to use until they get them all in so the optimizer can work often doesn't go over well.

Yeah, I don't really have a good answer on how to make this simpler and easier to see. It's just a very complex problem. One thing that will help at least somewhat is a standardized set of charts showing how stat values scale with stats.

None of them would even have gotten to the point they are without me hand-holding them there, though.  That's the real problem.  If I hadn't devoted the time to "shepherding" them they never would have adopted the program at all.  A lot of WoW players have been using gear lists or their own personal rules of thumb for a long time and they do good damage/tank well/heal well so...they don't see any need to change to something unfamiliar and, to them, infinitely more complicated. 

Yeah, the hand-holding really helps get someone comfortable with Rawr; that was the idea with the video (check it out!). I still think there's some UI design that we can do to improve things for people who don't view the video, though.

 

Aug 4, 2009 at 8:21 PM
Edited Aug 4, 2009 at 8:31 PM
TNSe wrote:

khantal, I find it weird, that you who complain so much about the average users ability to use program, suddenly turn around and find it saddening that Rawr authors don't want any other tools than Rawr.

There are other users than average/basic ones.  Those users like to have lots of tools, not just one, and attempt to understand the strengths and weaknesses of each tool.  That even the concept of a new tool is by default bad is what I am saddened by.  I would think more tools, especially niche ones that are very deep and narrow and not really intended for average users, would be applauded.

Perhaps it comes back to your cynicism there, for you.  I naturally assume that a new tool developer will likely make something useful in the end and that, even if it turns out to not be well designed/implemented, any exploration into the theorycrafting space has potential for new discoveries or thought processes.

Astrylian

Is it possible the video could be off on the side of the download or home page maybe?  I envision someone coming to Rawr's site and seeing a youtube box on the side with the ability to just play embeded if they want...might rope people in.  I know the screen shots way back when on the druid Wiki are a big part of why I started using Rawr.

Developer
Aug 4, 2009 at 8:27 PM

First off, Rodney, thank you for finally explaining your purpose with the new tool you wish to create. Now that that is out in the open, I'm sure we (in addition to Astrylian) are far more amenable to your request. It does make sense if you need to create wide-scale data such as that, which Rawr simply isn't the utility to do but could easily be a 'setup' step for your simulation utility. Even if for nothing more than to select all the gear and add up the stats for you, it could lead you into optimizing the gear before running the sims so you can maximize the effectiveness each time.

Astrylian: As we are currently running several models with a '3.2 Mode', perhaps we should implement a permanent 'PTR Mode' for each model so that users wanting to see what happens after any 'next patch' can check out the differences.

To khanthal's note, I regularly recruit persons on my server, especially warriors and EVERY time the reaction is immediately... WOW! thass AHSUM! and then I need to walk them through setting up their character and then run an optimize to show immediate improvements. It does seem to need some 'shepherding' as he put it to get people really into the mechanics that make a Rawr enhanced character great. The Rawr video is a great way to do that but it's not on the Main Page in big red bold print saying WATCH ME. It's also based on version 2.2.0.3 so several of the interface functions have since changed (especially the dropdowns over the gear comparison pane). If we remade this video as soon as Rawr3 released I think we'd have a nice phat fanbase to work with and it would be easier to recruit new users (possibly new developers).

Aug 4, 2009 at 8:35 PM
Edited Aug 4, 2009 at 8:36 PM

My pleasure, Jothay. That was my idea - to not muck about with what Rawr already does (calculate stats from class, gear, etc) so I don't have to join the Department of Redundancy Department and do it myself, and have that available to my tool to make it quick, clean, and user friendly. Saves me a lot of headache if I don't have to do all that calculation, and provide a UI for people to select their talents and blah blah blah. It would probably save users some annoyance, as well.

Developer
Aug 4, 2009 at 8:40 PM

khantal, gotta agree there. I always assume any new tool is going to be inferior until proven otherwise. But obviously the infinite monkey theory will sometimes come through.

Aug 4, 2009 at 8:41 PM
Jothay wrote:

To khanthal's note, I regularly recruit persons on my server, especially warriors and EVERY time the reaction is immediately... WOW! thass AHSUM! and then I need to walk them through setting up their character and then run an optimize to show immediate improvements. It does seem to need some 'shepherding' as he put it to get people really into the mechanics that make a Rawr enhanced character great.

Concept:  The nifty new box that pops up when you start wow...if it finds no saved chars it could have, in 50 foot high letters, "Do you want to do some initial setup?"

Guided setup:

- Asks for char name and server, imports

- Opens the buff tab and points it out, asks if they want full raid buffs by default, or if they want to do it custom later

- Asks them if they want only current content enchants available to the optimizer or to include all, presses the little green dots for them respectively

- Asks them what qualities of gems to include for optimization (the autopicker can be at least sort of smart here, only green dotting gems that actually have two relevant stats...i.e. not selecting anything with any spell power for bears).

- Shows them the gemming templates and asks them to change things if they want

- Tells them about anything else that is relevant to the specific spec (if they need to poke around in some tab)

Bam...they are totally close to being able to use the optimizer effectively.

Developer
Aug 4, 2009 at 8:46 PM

I think we are getting a little off-topic, and it's partially my fault, khanthal can you start a new thread with anything pertaining to "New Users and Rawr" and copy the points out from this thread as quotes?

Aug 4, 2009 at 9:02 PM
Edited Aug 4, 2009 at 9:03 PM
Jothay wrote:

I think we are getting a little off-topic, and it's partially my fault, khanthal can you start a new thread with anything pertaining to "New Users and Rawr" and copy the points out from this thread as quotes?

Anyone interested in this off-topic I direct you here: Link

I apologize for my part in the thread-jacking...it just sort of happened haha.

Aug 17, 2009 at 5:06 PM

Hello again!

I've made some very good progress on my project and wanted to see about getting an update about this. Would it be possible for you guys to throw in a Stats Export feature that has universal formatting and information across the Tank modules? I'd very much like to keep people from having to enter all their stats manually if you're willing to do something like this. :)

 

Coordinator
Aug 17, 2009 at 5:37 PM

Again, this really should be model-specific. You could draft up the code, and submit it as a patch. Personally, this isn't high on my list of priorities at the moment, so I probably wouldn't be adding it to Rawr.Bear any time soon. Would be better for you to do it just so you can have the stats you're looking for, anyway.

Aug 17, 2009 at 6:02 PM

I understand where you're coming from, Astrylian. My concern with it being model-specific is that with so many different developers working on Rawr, there is already no parity in many ways across modules. The Copy Stats to Clipboard menu option would be the perfect solution, but no two modules compile the same information, which leads me to believe each module has its own function for it.

I haven't looked in-depth at any of Rawr's source. Are stat values not stored globally in some fashion? It seems it should be relatively easy to have a function that compiles values for every character stat.

Developer
Aug 17, 2009 at 6:27 PM
Edited Aug 17, 2009 at 6:29 PM

Stats are not stored at all (to a sheet or anything), they are calculated from the gear worn and talents buffs etc. Once calculated, they are put into display functions for ease of viewing. We do have a Stats class that holds all the end-result numbers (Str, Stam, Dodge, etc) for interim calcs.

Aug 17, 2009 at 6:45 PM

o.o
So are you saying that once the calculations for stats are done, those stats are just displayed and then the data for them is wiped? They're not stored at any point in time? I don't quite know how to react to that.

Coordinator
Aug 17, 2009 at 7:07 PM
Edited Aug 17, 2009 at 7:07 PM

Well, yeah. The currently displayed CharacterCalculations object is in memory; that's what's displayed.

Copy Stats to Clipboard is different because that just copys the displayed values that show up on the stats tab, which is entirely model-specific.

You should write the code, precisely so that it is consistent across models, and it has to be model-specific, precisely because you need to tailor the results to your use of them. There's no single authoritative list of Stats and values. You need to save the data you want, in the way you want, from the point of view you want, and that's very model-specific.

Aug 17, 2009 at 7:17 PM
Edited Aug 17, 2009 at 7:22 PM

I'm kind of boggled that there is no universal storage of character stats anywhere within Rawr. That seems like an incredibly inflexible and inconvenient design decision to me.

What you seem to be telling me is that for the results I'm looking for, an update would essentially have to be made to every module to which the desired functionality applies? Is that correct? Since all the Copy to Clipboard function does is (more /boggle) copy only what is being displayed by the current module, the choices seem to be either:
A) Update the four tank modules to display all of the information I'd want to use so that Copy to Clipboard snags it automatically
B) Update the four tank modules individually with a button to "Export Stats to EnhSim config file" from the Enhancement Shaman module

Coordinator
Aug 17, 2009 at 8:16 PM

Copy to Clipboard is not what you want, and is entirely unrelated. Forget that.

All this boggling makes me think you don't understand how Rawr works. There are no stat values. There's no 'universal storage of character stats', because Rawr doesn't 'care' about stats. It cares about results. Results are what it keeps in memory for the current character object. This isn't an inflexible or inconvenient design, in Rawr, unless you're trying to do things inaccurately.

I think you may have a simplistic view of the 'stats of a character'. Again, there really is no universal answer to 'what are the stats of this character'. All sorts of things (very class-specific things) influence stats in very complex, non-static ways. That's why you need to write the code to get exactly the stats you want, in the way you want.

Aug 17, 2009 at 8:28 PM

We have a Stats object, which has the option to store just about every stat possible (hit rating, physical hit % increase from talents, warlock set bonus, bleed modifier, decrease in rage cost of Sunder Armor, etc etc).

Each model developer has a CharacterCalculations object, which stores relevent information.  This could be things like Slam DPS, Expertise, or TimeBetweenCooldowns, or whatever you want.

The model developer then takes the stats from your talents, gear, race, and buffs, combines them into one big stats object, and then parses it to populate the CharacterCalculations object.  This would include calculating how often each attack is missed (combining talents, buffs, hit rating, and target level) -- we don't do this in Rawr.Base because there always seems to be exceptions to the general calculation -- made up example: a talent that says "Your moonfire is 1/2/3% less likely to miss".  In this case, you'd need a Moonfire miss chance AND an EverythingElse Miss Chance.  See where the problem is?

If you're just looking for a way to get all the stats that are displayed in the paper doll within the WoW game (ie Base Stats, Melee, Ranged, Spell, Defense, Resists), I agree that this is a gap we don't currently support in Rawr.  It would be nice, but honestly would provide little benefit for Rawr in the immediate future.

If you wanted a way to get that raw, combined stats object, that's something we could potentially support, but it would be a nightmare to parse through again (and you'd just be re-doing a lot of work we've already done at the model-level).  You're going to be better off getting the model-specific data and parsing them individually.  Presuming you want to use Rawr for your tool ;)

Aug 17, 2009 at 9:03 PM

Thank you ebs, that was very helpful and enlightening.

I think you're making things more complicated than they have to be, Astrylian. Getting the stats displayed in the paper doll within WoW, as ebs put it, is exactly what I'd be looking for, and nothing more complex than that. Rawr absolutely cares about that information - how would a Tank module know to value, say, Defense if the character isn't Defense capped? How would it know what your Parry % is if it doesn't know your Parry rating? You say that Copy to Clipboard is not what I want and entirely unrelated, but that's not true at all - I can pull up the TankDK module, use Copy Character Stats to Clipboard and it outputs 90% of the character stats a Tank simulator would need to do accurate calculations.

I feel like I'm getting a lot of resistance and hostility, here. Have I said something in the course of this exchange (besides suggesting that a single aspect of Rawr's design seems a bit goofy) that warrants it that I'm missing?

Coordinator
Aug 17, 2009 at 10:33 PM

There's no hostility here at all; we're trying to direct you to the appropriate solution for your problem. I'm not making it more complicated than it has to be; it really is that complicated. When ebs says:

ebs2002 wrote:

...takes the stats from your talents, gear, race, and buffs, combines them into one big stats object...

He's really glossing over the fact that that's a very complex operation, and can be done in a variety of ways. Do you want the parry rating from strength included? AP from Agi/Str? Is it counting any spell-specific bonuses (and if not, what are they)? Are procs and other special effects included? What rotation is used to determine when special effects occur? Is it averaging out the stats from those procs, or doing something more complex with them? Is avoidance totaled up, and if so, are diminishing returns included? Is Savage Defense counted as block? Is the block chance/value included? 

There's a lot that goes into getting the data you want, and you'll inevitably want it done in the way you want, with output in the format you want.

Aug 17, 2009 at 10:51 PM

See, I knew Astry would have better examples than my Moonfire talent.

Honestly, the more I think about it, the less likely I think that Rawr will give you what you really need in a way you could use it.  Simulators and Mathematic Models just use different data to achieve their means.

It really shouldn't take too long for you to develop a routine that reads in a bunch of ItemIDs, gets the stats out of an Item cache, and total up the stats to get the paper-doll numbers you're looking for.  You can get ItemIDs and Buffs from our character's saved xml files.

Any other use of our data is likely going to just set you up for bugs in your sim down the road.

Aug 17, 2009 at 11:51 PM

I'm glad to see this thread has started back on the "productive" track.

Let me recap what's been decided.

 

a) Simcraft is useful in a different type of way then modeling.  Simulations are useful for validating the results of models, especially when modules have difficulty with certain calculations

b) Rawr doesn't care about the stats you're interested in; those stats are simply part of the results (mitigation and survival rating for rawr.bear)

c) If you're looking for specific output from rawr (xml, etc) of stats in a certain manner, you should join the rawr development team; write code which adds this option and submit it as a patch.

 

/thread

Aug 18, 2009 at 12:02 AM

Doing the stat calculations myself was exactly what I was hoping to avoid. Rawr already does it - it seems silly to me to reinvent the wheel and kind of defeats the entire purpose of me even talking to you guys about it.

Going back to my earlier example, the Copy to Clipboard from the DKTank module is just about perfect, and the only thing it's missing is Dodge and Parry ratings. Maybe I'm not phrasing what I'm looking for in the right way? Rawr is duplicating WoW's paper doll stat calculations outside of WoW, all considerations (talents, buffs, what-have-you) included. It would be horribly inefficient and a complete waste of time for me to duplicate what's already being done. My Sim doesn't need to know, for example, how many points a Blood Death Knight has in Veteran of the Third War. That information is irrelevant to it if it already knows what the final Health and Stamina values are after the talent's been applied. It doesn't need to care what gear you're wearing if it knows the final stats when all your gear is tallied. These kinds of things are not within its scope, but they are within the scope of Rawr.

Rawr already does all the necessary stat summing and calculations - why recode what already exists? I can pull up Rawr's source right now and I'm fairly confident I know how to change what the Copy to Clipboard outputs for each individual module. Are you saying I should do that, and then give you back the code changes so you can implement it?

Aug 18, 2009 at 12:31 AM
gwindor wrote:

c) If you're looking for specific output from rawr (xml, etc) of stats in a certain manner, you should join the rawr development team; write code which adds this option and submit it as a patch.

 I think you're missing what I'm saying here.

 

I'm not saying you need to do the calculations yourself, I'm saying you should code an option in rawr which allows you to export the values that are displayed, in the exact format you need.  Obviously the calculations are already done for you, and its logical that you shouldnt have to do them all over again.  I'm just saying that if I want to use your Simcraft, I should go to Tools>Export to Rodney'sSimcraft in Rawr.  And thats a function that "you" should write.  If thats a modified version of "Copy to Clipboard" the yes, thats what you should write.  Obviously, it'll be up to Astryl on the final word, but I don't think he's in disagreement with you using the discussed data for you Simcraft application.

Aug 18, 2009 at 12:41 AM

I think you're missing our general point, though.  The calcs in Rawr do NOT give you the paper-doll stats that you want.  They include things like trinkets, temporary effects like vampiric blood/last stand, and others.

We'd have to do additional work to strip those out for you.

I do suggest that you take a look at the code base for each of these models to get a feel for just how much work is needed.  If it's minimal work, you could probably create a patch for it.  You'll get further with that approach than you will with the back-and-forth on this discussion thread, at least :)

Aug 18, 2009 at 1:37 AM

So what you're saying, ebs, is that the reason that Health discrepancy in the TankDK module exists (VB's 15% bonus being averaged) is a calculation that is done with all cooldowns and clicky trinkets, and that's inherent in all of Rawr, in every calculation model? I don't have the words to describe how goofy that is to me. But that's another discussion entirely that I don't want to have. I think we could've saved eachother a lot of grief if I'd been aware of that from the onset.

This is turning out to be far more effort than I thought it would. Since each module is different, it sounds like I'd have to write the code for all four applicable modules. Is that accurate?

 

Aug 18, 2009 at 3:02 AM

No, it's not like that for every calculation model.  It's done per-model.  Some models average them out because it makes sense to (think +ap trinkets for a rogue).  Others don't use them at all.  Even others calculate DPS with cooldowns popped and without cooldowns popped, and take a weighted average.  It's the model developers duty to determine the best way to deal with these types of effects.  We have a snippet of code that will do it for every special effect (what we call procs and cooldowns), and it's up to the model developer to skip some effects.  TankDK didn't pull them out because of his own design -- we can debate whether that was the right choice elsewhere.

Yes, I think that you'll need to write code for all four applicable models.  As I said before, the stats we calculate is for mathematic models, not simcraft. 

Consider warriors, for instance.  Their incoming rage is modeled mathematically, which affects their threat.  A sim is better for this, because you're setting the amount of damage coming in and storing the rage before the hit -- you can easily model rage loss due to spiking over 100 rage.  A mathematical model like Rawr would instead be measuring incoming rage per second, and using that to calculate how many Heroic Strikes per second they can do, but it generally won't calculate the perceived rage lost due to incoming damage spiking the rage over 100 (which then gets truncated to 100 in the game).

 

Coordinator
Aug 18, 2009 at 4:58 AM

Again, Copy to Clipboard is not what you want, because:

  • It copies the display calculations, which are human-readable, formatted, etc. You want easily-machine-readable, raw data.
  • It copies the display calculations, which may change at any point, to adjust the display for users. You want data in a static format.
  • It includes the wrong/incomplete data, for your concerns.

You're very right to want to reuse the work Rawr does to total up stats, because it's a really complex thing to do. As I said already:

...that's a very complex operation, and can be done in a variety of ways. Do you want the parry rating from strength included? AP from Agi/Str? Is it counting any spell-specific bonuses (and if not, what are they)? Are procs and other special effects included? What rotation is used to determine when special effects occur? Is it averaging out the stats from those procs, or doing something more complex with them? Is avoidance totaled up, and if so, are diminishing returns included? Is Savage Defense counted as block? Is the block chance/value included? 

There's a lot that goes into getting the data you want, and you'll inevitably want it done in the way you want, with output in the format you want.

Yes, you'll have to write code for all four models, because that's the appropriate thing to do. You want data in a specific way, including a specific set of sources. You can copy the existing code to have a good place to start, meaning that you actually have to code very little. In the time you've gone back and forth about this, you could have just written it.

Aug 18, 2009 at 4:59 PM

I think at last we can agree that Copy to Clipboard is not what I want, but not for the reasons you say. It's basic string parsing. It doesn't need to be in some easily-machine-readable, raw data format. Had I known from the beginning that Rawr doesn't actually show you paper doll stats (and then not even universally so among models), I would have agreed with you immediately. I don't agree that writing separate functions that do the same thing for four different models is the "appropriate" thing to do, but apparently to work within the existing structure it's the necessary thing to do. Am I correct in equating it to the EnhSim export found in the Enhance module?

And to be fair, all the back and forth I've done has been in brief spare times at work, so I really couldn't have just written it. :)

Coordinator
Aug 18, 2009 at 5:04 PM

Yes, what you want to do should be very similar to the EnhSim export in the Enhance model.

Aug 18, 2009 at 5:23 PM

Guess that's where I'll start, then. Is there a readme somewhere for how you do patch submission, or is it just as simple as uploading the files that were changed via the submit patch page?

Coordinator
Aug 18, 2009 at 5:27 PM

Just upload the patched files (full files not a diff) on the submit patch page.

Aug 18, 2009 at 8:10 PM

Rodney,

If you are really concerned about accuracy and modeling discrete procs correctly, I would encourage you to work on the item-import.  It really isn't that difficult.  You are welcome to snarf any of my code as necessary.  (I'm the father of SimulationCraft.)  The reason I recommend working directly with gear-stats is because you really need that level of granularity to properly merge in all the various talents, buffs and debuffs. 

 

There are other benefits, too.  Once you support item IDs and enchants it opens up a ton of other possibilities, such as simply importing a Rawr character-save xml file, or downloading a Wowhead profile, or... etc.

 

If you have to write class-specific patches to Rawr you are looking at moving targets.  The character paper-doll format of simple gear lists, talents, and glyphs is pretty solid and I doubt that Rawr will change it in any significant fashion.

Editor
Aug 18, 2009 at 8:57 PM

That makes a heck of a lot of sense, Nate, from a "guiding concepts" perspective.

Aug 18, 2009 at 9:19 PM

My hatred for the idea of writing stat calculations based on item IDs and maintaining an item database is roughly equivalent to that of a thousand Mongol warlords. I think ultimately I know that if I want the most accuracy possible, I really should, but the intensity with which I don't want to do it is way too strong for me to think about it right now.

Aug 18, 2009 at 9:43 PM

It's really not as difficult or ugly as you seem to think it is.  Rawr's *Cache.xml files already have all the data you need, it's just a matter of parsing it.  I'm sure you could sit down for an evening and come up with something that can extract what you need from a Rawr character file.  It might take another evening to take that raw data and turn it into your final effective stats, but in the end you'll have a stand alone simulator that doesn't require another application for basic functions.  You'll need to handle procs and class specific effects yourself anyway, so it's really just a matter of adding up the base stats and applying a few multipliers.

Aug 18, 2009 at 11:29 PM

Not that it will change your mind, but maintaining an item database really isn't necessary.  At any given time, at least one of mmo, wowhead, or armory is online.  I simply access their databases........