 |
| Welcome to Elitist Jerks |
We're testing some new features on the site regarding OpenID registration and coordination with gamerDNA. If you experience any issues with registering an account, please take the time to fill out a report and send it to this e-mail address. We would appreciate any assistance you could provide in making sure everything is functioning as intended. Thanks!
If this is your first visit, please be sure to check out the FAQ and the forum rules. Users must register to post and new registrations are subject to a one day "mute" period to get acquainted with the community.
|
07/01/09, 8:39 AM
|
#1
|
|
Von Kaiser
Blood Elf Warlock
Bronze Dragonflight (EU)
|
OptiGear - BiS warlock gear optimiser (alpha)
Some weeks ago I developed a BiS optimising app for warlocks. It's time to give it some public testing, since I have had a fair bit of interest in this previously.
Download here
How it works
Unlike other gear optimisation efforts, this app (assuming the algorithm is now bug-free) gives a 100% guaranteed best gear set for a given set of items & stat weights, since it performs an efficiently pruned exhaustive search rather than a typical hill climbing or evolutionary approach. You set the weights & hit total you wish to calculate for, exclude or lock any particular items you want or don't want, and calculate the gear set. The time taken varies a lot depending on the exact weight & options chosen, but typically will be around 10-20 seconds on the default settings on a reasonably modern PC.
Limitations
Accuracy of this app depends entirely on the accuracy of the stat weights and item values it is fed with. It is populated with an item set taken from all relevant ilvl200+ items on wowhead (as of a few weeks ago). Trinkets, meta bonuses, tier bonuses and so forth are estimated, and can be manually configured. These may not be 100% accurate (particularly the meta gems), and part of the reason for this testing is to get some feedback to tune these to more realistic values.
Only rare gems are used at present.
If you choose the 'get gear from wowhead' option, it will update all items except for trinkets and item enhancements.
Using the app
1) Extract the app & xml files anywhere you like, but ensure they're kept in the same folder or you'll crash it.
2) Run the exe to load the app.
3) Select the default affliction/destro weights (the only ones I've entered so far) or enter your own manually
4) Right click on any gear slot to lock/unlock it
5) Use the excluded items tab to exclude any items you don't want to consider (e.g, hard mode items you don't expect to ever see)
6) Click 'Calculate gearset' to return the optimal set.
The returned gearset will include the necessary gems to activate your meta. It will display the 'hit' and 'weight' score of the chosen set at the top of the screen. Items are shown as links to wowhead, with gems included and hit rating shown on the left for a quick reference. Certain item enhancements (feet, gloves, etc) where there is no single obvious 'best' enhancement are also included in the calculation.
Items can be easily edited in their respective xml files.
In theory you should be able to use this to find the best gear set for any warlock spec, with any target hit rating, including or excluding any particular items you choose.
Any feedback is welcomed. Especially if you find any bugs!
Version History
v0.69 - 18/8/09
- added T9 triumph tier set bonuses
- updated gems list
- updated gear list
- adjusted pruning process to speed up app
v0.64 - 3/7/09
- adjusted default profile weights to match simcraft
- fixed meta requirement overgemming bug
v0.63 - 2/7/09
- Fixed bug where gems assigned to locked items would not be displayed
- Compacted layout slightly
- Prevented crash when clicking on an link with no item assigned
- Added labels to the left of items so you can more clearly see what slot it is for
- Prevented app becoming disabled when invalid weight data was input
v0.62 - 2/7/09
- Fixed socket hit bonus for items not being included (note: socket hit bonus may not currently show up, but is included)
- Fixed pruning error in initial gemming process
- Added ability to include/exclude all items
v0.61 - 1/7/09
Initial public release
Last edited by VenomByte : 08/18/09 at 8:33 AM.
|
|
|
|
|
|
07/01/09, 9:22 AM
|
#2
|
|
Glass Joe
Orc Warlock
Hellscream (EU)
|
I had a quick play to see if i could find you any bugs and found a couple
At 1024x768 resolution i cant see the whole of the application.
If i click on any of the links (I.E. Head, Meta, etc) it gives me an error: "Object reference not set to an instance of an object."
If i enter invalid data into a weight field and click "Calculate Gearset" it disabled the button, I get a label telling me i have supplied an invalid value but doesn't re-enable to "Calculate Gearset" button so i have to close the application and start again.
Some other things that might be worth looking into:
Display the data in a grid rather just a large white space. I think you should at least stick a label at the side of each piece of gear so i can at a glance see if its a head/neck/etc piece.
I also think that the gem should be click-able as well rather than just "gear + gem" just linking to the gear.
|
|
|
|
|
|
07/01/09, 9:40 AM
|
#3
|
|
Von Kaiser
Blood Elf Warlock
Doomhammer
|
- It would be nice to be able to save a custom weight.
- It's not 100% clear what the function of the "Force Hit Rating" checkbox is.
- Right above the 1h weapon entry I have an entry called "N/A". Clicking it brings up a .net error.
- Being able to disable loot from certain bosses would be nice although I understand that might not be possible since Wowhead doesn't have the source for every item.
- On the exclude screen a field to type in the name of the item as a search/filter would be nice. You can currently type a letter to go to the first item that begins with that letter but after that you have to scroll/look manually.
Last edited by FalseMyrmidon : 07/01/09 at 6:02 PM.
|
|
|
|
|
|
07/01/09, 9:52 AM
|
#4
|
|
Von Kaiser
Blood Elf Warlock
Bronze Dragonflight (EU)
|
Force hit rating forces the hit rating to be at least what you specify, e.g 289 or 368. It has the same effect as setting the 'lost hit weight' (the amount of 'weight' value to subtract from a gear set per point it falls short of the hit target) to a very high number.
The entry above 1h weapon is likely 2h weapon. It will be N/A if your set comes up with a 1h weapon, and vice versa if it has a 2h weapon, since you'll only have one or the other. You also won't get an offhand if you have a 2h.
Other feedback noted; I'll be compiling a list of fixes/improvements to incorporate in the next version.
|
|
|
|
|
|
07/01/09, 10:14 AM
|
#5
|
|
Von Kaiser
Undead Warlock
Darkmoon Faire (EU)
|
It might, from a convenience standpoint, be nice to be able to exclude an item from the primary tab, rather than switching over to the secondary tab to do so. A right-click context menu comes to mind as a possible implementation.
Cosmetically, making the form fixed-single rather than sizable would be nice, although first prize would be sizable with scaling.
|
|
|
|
|
|
07/01/09, 10:47 AM
|
#6
|
|
Glass Joe
|
A nice feature on the excluded tab would be to exclude all items. This would give me the ability to easily add the items I currently have back into the "included Gear" to determine what combiniation is best for me.
|
|
|
|
|
07/01/09, 2:14 PM
|
#7
|
|
Glass Joe
Blood Elf Warlock
Cho'gall
|
I suggest adding the item slot names, e.g. head, chest, trinket, to make it immediately obvious which piece of gear is assigned to which slot. Best scenario would be to model the WoW character profile's equipment slots.
Additionally it would be convenient to have a way to export gear sets perhaps to xml or xls.
edit: When you lock a piece of gear what gems and enchants does the app decide to use? There is no display for this information.
Last edited by Charming : 07/01/09 at 2:37 PM.
|
|
|
|
|
|
07/01/09, 4:34 PM
|
#8
|
|
Glass Joe
|
Wow, this is a pretty cool program.
The only trouble I've had with it is whenever I click on the "GetGearFromWowhead" button I get an error report and it closes.
I'd like to see the gear categorized (Heroics, 10-mans, Uld25 Hard modes) so it would be easier to know your best upgrades as you go along.
|
|
|
|
|
|
07/01/09, 5:38 PM
|
#9
|
|
Von Kaiser
Blood Elf Warlock
Bronze Dragonflight (EU)
|
Originally Posted by Charming
edit: When you lock a piece of gear what gems and enchants does the app decide to use? There is no display for this information.
|
When you lock a piece of gear you lock just that - a piece of gear. The app will still assume all gems slots and enchants, including those applying to that piece of gear, are free to be recalculated. You can lock any enchantments you wish, but you cannot lock any gem other than the meta.
|
|
|
|
|
|
07/01/09, 6:15 PM
|
#10
|
|
Don Flamenco
Gnome Warlock
Alterac Mountains
|
For the love of god, a white list would be lovely vs a blacklist. I'd much rather pick through a HUGE list and select the items I want than go through and eliminate 100's of items.
Also add a setting for alliance hitcap/vs horde (10/13% vs 11/14%)
Oh 1 last edit, Working just great in win7.
Last edited by supplicium : 07/01/09 at 6:26 PM.
|
|
The character linked in your profile appears to be below level 10. This may account for your poor Patchwerk DPS.
|
|
|
|
|
07/01/09, 8:18 PM
|
#11
|
|
Von Kaiser
|
I think something that needs to be added would be something for professions. Being a Jewelcrafter would affect the results. I also think there needs to be a way to filter gems because at BiS gear levels gemming for hit is not a good thing.
Another thing I noticed was when I put in 342 hit rating even if I checked off force hit rating, it still calculated the gear with 350 hit.
Overall I like the functionality and the ease to use it. I look forward to tracking the development.
|
|
|
|
|
|
07/01/09, 10:12 PM
|
#12
|
|
Don Flamenco
Gnome Warlock
Alterac Mountains
|
Originally Posted by Cohren
I think something that needs to be added would be something for professions. Being a Jewelcrafter would affect the results. I also think there needs to be a way to filter gems because at BiS gear levels gemming for hit is not a good thing.
Another thing I noticed was when I put in 342 hit rating even if I checked off force hit rating, it still calculated the gear with 350 hit.
Overall I like the functionality and the ease to use it. I look forward to tracking the development.
|
The idea that gemming for hit is a BAD idea gets to be a worse and worse idea the better your gear gets. The penalty for switching a single gem can be far less than switching a piece of gear.
Like a [Veiled Monarch Topaz] is often the best gem to use for your shoulders (t8.5). While using a 100% hit gem is often flawed, partial hit gems aren't always bad. Though the idea of using anything outside of these gems is a bad idea.
|
|
The character linked in your profile appears to be below level 10. This may account for your poor Patchwerk DPS.
|
|
|
|
|
07/01/09, 11:30 PM
|
#13
|
|
Von Kaiser
Blood Elf Warlock
Doomhammer
|
Couple of bugs:
It doesn't seem to be taking hit from socket bonuses into consideration. Also, I have a gear configuration where it slotted a Veiled Monarch Topaz and I don't know why since the gear profile is over the hit target even without it.
Screenshot of said gear profile:
http://xs141.xs.to/xs141/09273/optigear750.jpg
That screenshot also shows it not recognizing the +4 hit from the shoulders.
|
|
|
|
|
|
07/02/09, 5:48 AM
|
#14
|
|
Von Kaiser
Blood Elf Warlock
Bronze Dragonflight (EU)
|
Okay, I've now uploaded a new version. Two bug fixes and one added feature
v0.62
- Fixed socket hit bonus for items not being included (note: socket hit bonus may not currently show up, but is included)
- Fixed pruning error in initial gemming process
- Added ability to include/exclude all items
|
|
|
|
|
|
07/02/09, 6:00 AM
|
#15
|
|
Glass Joe
Blood Elf Warlock
Drak'thul (EU)
|
BiS
Good job VenomByte, thanks.
Is it possible to link items to some wow item database (tooltips) and sort them by slots (head, neck, etc.)?
Then I think, it would be perfect.
|
|
|
|
|
|
07/02/09, 6:03 AM
|
#16
|
|
Von Kaiser
Blood Elf Warlock
Bronze Dragonflight (EU)
|
Originally Posted by Cohren
I think something that needs to be added would be something for professions. Being a Jewelcrafter would affect the results. I also think there needs to be a way to filter gems because at BiS gear levels gemming for hit is not a good thing.
Another thing I noticed was when I put in 342 hit rating even if I checked off force hit rating, it still calculated the gear with 350 hit.
Overall I like the functionality and the ease to use it. I look forward to tracking the development.
|
Something for professions is on my 'to do' list. Blacksmithing is trivial, but Jewelcrafting is another matter. Having up to three prismatic gems adds a large amount of complexity to the algorithm. I am not sure whether there is much value in doing this when JC gems will lose their prismatic advantages in the next patch anyway. Professions aren't high up the priority list just yet for this reason.
As for filtering ordinary gems, I see no real value in this. Gems are cheap and readily available. If you believe the ones the program is telling you to use are not optimal and could be better replaced by different gear selections, then you should raise the issue and I will investigate whether there is a bug in the system. The program should be returning you the most efficient way to reach the hit cap, regardless of what part of that comes from gear and what part from gems.
EDIT:
Further on gems, I wonder if it might be worth challenging the assumption that
* [Runed Scarlet Ruby]
* [Reckless Monarch Topaz]
* [Veiled Monarch Topaz]
* [Purified Twilight Opal]
are the only worthwhile gems.
If you run the app with the default affliction settings, with head slot locked to 'Enamored Cowl', you will see it gemmed with a Shining Forest Emerald - Item - World of Warcraft. This fills 1 blue gem towards the meta requirement, as well as completing the +9sp yellow socket bonus and giving the last few hit points needed to get over the cap. I cannot be 100% sure the calculation was bug free, but logically I can't fault the decision to put a green gem there. This is admittedly a rare situation, but one worth considering.
Thoughts?
Last edited by VenomByte : 07/02/09 at 7:22 AM.
|
|
|
|
|
|
07/02/09, 6:57 AM
|
#17
|
|
Von Kaiser
Blood Elf Warlock
Bronze Dragonflight (EU)
|
A few more fixes:
v0.63 - 2/7/09
- Fixed bug where gems assigned to locked items would not be displayed
- Compacted layout slightly
- Prevented crash when clicking on an link with no item assigned
- Added labels to the left of items so you can more clearly see what slot it is for
- Prevented app becoming disabled when invalid weight data was input
|
|
|
|
|
|
07/02/09, 8:20 AM
|
#18
|
|
Von Kaiser
Gnome Warlock
Der Rat von Dalaran (EU)
|
Stone me to death, but I have to say, that the method of gear optimisation is wrong.
Even if it became widely accepted: You can not use linear weights to value the items and use this linear function as a objective function for BiS-items.
If you take the dps of a tank'n'spank fight over 3 minutes as the objective function, the function is neither linear nor multilinear.
Even if all other stats are fixed, the change of one stat is only linear for spell power.
The reason that the objective function is not linear, if the other stats are fixed:
hit rating: The cap
crit rating: The cap and mechanics: pyroclasm
haste rating: The gcd cap and spell cooldowns.
The cooldowns of chaos bolt and conflagrate make the objective function looks like a "step function".
After this criticism I want to indicate a method how to get a proper best equipment set:
- Choose a concrete talent spec, number of T-items and type of fight
- Generate a statistical model
- Estimate the parameters of the model
- Verify that the resulting concrete model is proper. If not, go back to step 2
- Derive the objective function
- Use as the search space all possible item combinations of gear and do a brute force search over the whole space to maximise the objective function
Beware: If you change something of step 1, you have to do the whole method again.
|
|
|
|
|
|
07/02/09, 8:24 AM
|
#19
|
|
Piston Honda
Tauren Druid
Stormreaver (EU)
|
Wouldn't it be fairly easy to make this applicable to any class? With decent estimates for set bonus dps values, and allowing the user to enter in stat values themselves, I would love to use this for my moonkin, but the tier gear messes it up right now.
|
|
|
|
|
|
07/02/09, 8:46 AM
|
#20
|
|
Glass Joe
Undead Warlock
Magtheridon (EU)
|
There seems to be a bug in the process of gemming to match the meta requirement. In screenshot 1 below you can see that the application chose to gem 3 Purified Twilight Opal's, and specifically one into a red socket in the head piece. Gemming a Runed Scarlet Ruby into this slot would yield more DPS with the given weights, since the meta is still activated by the two other blue gems. Locking the "No Meta Gem" option for the head piece correctly converts the Purified Twilight Opal into a Runed Scarlet Ruby as can be seen in screenshot 2.
(1): http://img525.imageshack.us/img525/5918/opti1.jpg
(2): http://img20.imageshack.us/img20/6641/opti2.jpg
|
|
|
|
|
|
07/02/09, 10:01 AM
|
#21
|
|
Von Kaiser
Undead Warlock
Sargeras (EU)
|
@Troffel
I do agree with you, when say that the approach is not right if we want to have a exact BIS equipment.
Model is non-linear. If it was, scale factor would always be the same and model would be
DPS(haste,crit,sp,hit,int,sp)=Fixed_DPS+SF_haste*haste+SF_crit*crit+SF_SP+....
.
But we saw that SF change depending the gear you have. So SF_haste would be a function like SF_haste(haste,crit,SP,...).
Scale factors are fined for a one by one equipment switch but not to find a combinaison of gears.
However, I think that simcraft has done most of the reverse engineering to get a model close enough to the wow reality.
Is there any mathematical representation of that model ?
So why not just trying every combination but use the simcraft result instead of using scale factors ?
For the programme, maybe could you how us a sorted list of the best in slot gearset instead of the very best that nobody won't ever see ^^.
Last edited by thetrueavatar : 07/02/09 at 10:30 AM.
|
|
|
|
|
|
07/02/09, 10:47 AM
|
#22
|
|
Von Kaiser
Blood Elf Warlock
Bronze Dragonflight (EU)
|
Scale factors are calculated from an arbitary 'top level' set of gear. Since this app is calculating top level gear, it is likely those scale factors will be very close to the perfect values which would be accurate for the gear eventually chosen. These values are generally accepted as accurate guidelines when comparing a couple of items which might change one or two of your stats by a few percentage points - which essentially, is all this app will do over a good manually guesstimated BiS list.
Comprehensivly exhausting every combination is not feasible.... especially not if you want to Simcraft every single one.
Simcraft isn't perfect, nor is recount, or any other tool for simulating or calculating damage or gear. You'll never know for sure what the true 'best' setup is. But this is a step in the right direction.
Last edited by VenomByte : 07/02/09 at 11:04 AM.
|
|
|
|
|
|
07/02/09, 11:18 AM
|
#23
|
|
Glass Joe
|
Piecewise linearity
Originally Posted by Troffel
Even if all other stats are fixed, the change of one stat is only linear for spell power.
The reason that the objective function is not linear, if the other stats are fixed:
hit rating: The cap
crit rating: The cap and mechanics: pyroclasm
haste rating: The gcd cap and spell cooldowns.
The cooldowns of chaos bolt and conflagrate make the objective function looks like a "step function".
|
If you can model linear objective functions, then piecewise linear functions such as max and min just take a bit of trickery. I don't know about the algorithm of OptiGear, although the original post mentioned exhaustive search. If it works based on linear programming principles, then one can rephrase the obvious contrainsts to slightly different constraints which are linear.
For example, let's consider a simplified example where we will just focus on hit of N slots of gear, each with possible L_i choices of items. I'll ignore gem slots and 1H/2H for this example.
- Let
for , be 0-1 integer variables representing whether or not to use the piece of gear.
- Let
be the amount of hit on the item.
- Let
be the hit scaling factor.
- Let
be the weighted (multiplied by scaling factor) other stats on the item.
- Let
be the hit cap.
The informal problem (I suppress obvious limits of indices for readability) is to maximize
with the decision variables  ,
subject to the constraints
 , for each  .
This represents 1 piece of gear per category.
For the formal version, we simply introduce a new decision variable Z and add more constraints.
The formal problem rephrased into a proper linear program is to maximize

with decision variables  ,
subject to
-

-
- equations to enforce min
-
, for each . This represents 1 piece of gear per category
I was meaning to implement this in Solver in OpenOffice/Excel for the past couple weeks for testing but hadn't gotten to it due to work and being tired.
Last edited by bastetswarrior : 07/02/09 at 12:34 PM.
Reason: Clarified weight means scaling factor
|
|
|
|
|
|
07/02/09, 11:57 AM
|
#24
|
|
Von Kaiser
Undead Warlock
Sargeras (EU)
|
I understand your point if you only goal is to provide the very best in slot gears.
I was hoping application could help to choose upgrade until we reach the top BIS.
About brute force algorithm, you are right it will take too much time with simcraft. However I was asking me how do you manage computing your BIS with scale factors ? Do you use kind of greedy algorithm ?
|
|
|
|
|
|
07/02/09, 2:26 PM
|
#25
|
|
Von Kaiser
Undead Warlock
Twisting Nether
|
Looks interesting - wrt to the white list/black list/gear filtering options - it might be nice to be able to choose which bosses are available, and which modes (10/25/hard). This would be a Best Available In Slot.
|
|
|
|
|
|
Similar Threads
|
| Thread |
Thread Starter |
Forum |
Replies |
Last Post |
| 3.1 Ret BiS Gear Lists |
frmorrison |
Paladins |
374 |
08/03/09 1:33 PM |
|