Astute readers of my assorted posts in the Rogue Gear Spreadsheet thread may have noticed me express a certain level of discontent regarding the spreadsheet format in terms of doing good rogue modeling. I've repeatedly expressed the sentiment that Rogue modeling would benefit by being done in an actual programming language. And it's this notion in particular I had in mind when I asserted that the Rogue Gear Sheet is not the framework I'd want to do expansion modeling in.
So, that said: I figured it was about time that I work on putting such a framework together, so over the past weekend I finished off the code I've been working on on and of for the last several months and now believe I have it to a point where it's worth letting you fine people take a look at it; hence, at the end of this post, you'll find RogueCalc v0.1.
Now, lets be clear: it's called 0.1 for a reason. Those of you that remember Rogue Gear Spreadsheet v0.1 will recall that it was a far cry from it's current incarnation... and the same thing applies here. This is not a finished product, and isn't as functional or fully-featured has the current spreadsheet. But, there's enough to give you the idea, so I figured I'd let people have a look.
At the moment, this is just a command-line damage calculator. Eventually, I want to get gear recommendations akin to the Rogue Gear Sheet's in here, but there's a few problems that need to be solved first - more on that later. It also needs a GUI, more cycle calculations, and the like... but that, too, comes later. For the moment, what this program does is simple: you enter your name and realm, plus choice of buffs; it fetches your gear + spec from the armory, applies the selected buffs, and gives you a sorted list of damage estimates for every cycle of the form XsYr. This will cover most SS and Hemo builds - for dagger-centric builds, this admittedly does not work so well - that's another one of those problems to be solved later.
I imagine a lot of this will become clearer once you have the chance to play with this a bit, so before I go any further I suppose I should tell you how to use this thing. I should warn you that in this early form this is a bit more complicated to use than the spreadsheets, so if you're looking only at doing some quick gear comparisons, I'd recommend that you not use this; however, for those of you that would like to help me debug this and turn it into a more useful tool for the masses, I'd love to have your feedback.
1) You will need Python to run this. Eventually, I have some ideas for removing this restriction... but for the moment, you'll need to download and install Python. To get it, stop by the python website, download your favorite package, and install it. For most of you, that will probably be the Windows Installer for 2.5.2.
2) Once you have Python installed, download and unzip the attached file. It will create a folder with two files in it, RogueCalc.py and RogueCalcConfig.txt. The first is the brains of the program, and the second is the equivalent of the front page of the existing spreadsheets. So, the first thing you're going to want to do is open up RogueCalcConfig.txt in your favorite text editor, and adjust the settings there as you see fit. Initially, this probably consists of just entering your character name and realm so it can pick up your stats; further down, there's options for your buffs, plus the ability to enter in different talent specs if you so desire. Make sure to read the explanations in the file for everything. If you do not enter values exactly as specified, there's a very good chance that the program won't work
3) Once you have the config file set up to your taste, open up a command-line prompt and navigate to the RogueCalc directory. Once in this directory, type the command line "python RogueCalc.py". At this point, it'll think for a second or two, and then spit out damage estimates for every possible XsYr cycle.
1) If you're specced daggers, it's not going to find your optimal cycle correctly, and you'll probably wind up with a damage recommendation somewhat below what the Gear Sheet comes up with for you.
2) Your DPS will probably be 1% or so higher than the Rogue Gear Sheet will tell you for the same gear and buffs. This is because this sheet models certain things - notably WF - more accurately than the spreadsheet can, and the effect of this turns out to be slightly higher DPS in general.
3) Pretty much everything that the Rogue Gear Sheet supports is supported here as well... and a whole bunch of other stuff besides. There are no new procs or set bonuses added, but if you are wearing gear with no such complications, the program should pick it up correctly. The only item I'm specifically aware of being missing is Might of the Scourge (and if you have Might of the Scourge on in your armory, please let me know so I can add it).
What I'm looking for
Mostly, what I'm hoping for at this stage is to have some assortment of you fine people out there run this against your armory, and perhaps the armory of any other rogues you happen to feel like trying it on. Yes, it's primitive, and yes, it's not very useful right now, but it's not going to get to the point where it is without testings. So if some of you out there would like to be guinea pigs and try running this with a range of buffs and abilities and try to find anything I might have done wrong, that would be great. If you run into a situation where you're getting answers significantly different the the Gear sheet (other than the above-mentioned notes), please let me know.
What to do if something doesn't work
This is a very early release of this project. As such, it contains bugs. Hence, sometimes when you run it, you may get answers that seem like nonsense. You may get not answers at all, simply a message asking you to tell me about it and a bunch of garbage. In either event, I would like to know about it. Post in this thread, or PM me about it, and send me the following 3 things:
1) Any and all output generated.
2) Your config file.
3) In whatever directory you ran RogueCalc from, there should be a log file called RogueCalc.log. Please send me this as well.
So, as noted, this is a very early version of the tool, and it needs quite a bit of work. If there are any of your out there with coding experience, I'd love to have your help on any part of this you feel like helping with - and believe me, I have a whole laundry list of things that I'd like to add. However, there's one thing - more than anything else - that is going to be needed for the tool to move forwards. And that one thing is the ability to scrub wowhead, wowdb, the armory, or some similar site to build an item database and store it in an easy-to-access format. I know some work has been done on this, but I couldn't find anything up-to-date and working. Item recommendations and the like cannot happen until we have an associated item database, so please, if you know how to do this and could help me out, that would be great.
Past that: if people would like to look through the code and tell me if things look sensible, that would be great. And anyone interested in helping with other parts of this, please let me know. While I do believe this is the better framework to be working with moving forwards, I also believe that there's a fair amount of work needed before we get everything working, so any help I can get with that would be great.