Jump to content


Photo

Java-based Gear, Gem and Reforge Optimizer


  • Please log in to reply
63 replies to this topic

#1 necro_potence

necro_potence

    Von Kaiser

  • Members
  • 41 posts

Posted 03 February 2011 - 02:00 AM

Hello everyone. I've recently been working on a java-based Gear Optimizer.

What does it do?
Basically, it lets the user select (almost) any lvl 85 item, input stat weights, caps and metagem of choise, and from there it computes and returns the best possible gear setup. This includes selecting the proper items, gems and reforges. It might sount as a very hard to use too, but it actually isn't. Here is a video that shows you how to optimize yourself in a handfull of clicks and one minute of your time.

What makes the WoWGearOptimizer any different than other tools like it?
  • It is not limited to reforges only. Reforge-only tools are based on the assumption that you have already selected the best 16-17 items among the ones that you currently own, and from there they start to apply the reforges and tell you which one is best. Sadly though, selecting the items cannot be done independently (and beforehand) of the reforge and gemming process, and selecting the proper item mix will contribute way more than reforging the wrong item mix right. Also, they can't give you any suggestion on which items to get next etc.
  • It makes no compromises. What it will come up with is the best setup possible, not something close to it. I spent most of the development time refining the optimization process in order to not leave a 20% margin of error, but not even a 0.000001% one.
  • Not making compromises means being more thorough. Yet, it is incredibly optimized and fast. This is a real example from a user here:

    The most combinations your tool tries is 540k for me. A different tool (a rogue tool) makes sure of optimisation (but only does reforging, not gemming or enchanting) tests over 5 *B*illion combinations, i.e. all of them.

I'm still not convinced that it is quite that fast?
Although the problem of finding the optimal mix is np-complete, and therefore it could be very slow to solve, there are many optimizations that can be made to speed up the process. As a reference, optimizing my armory char as it is takes 306.110.016 tests before all the optimizations are applied, but only 3.888 after them. Settling for a close to optimal result would be a lot faster, but I didn't want for this tool to settle for anything other than the true optimal solution.

I'm confused, I have no clue about which algorithm I should use to fire the optimization...
I'll give you a real life example so you can choose whichever suits your needs.
Number of combinations to test: 9.953.280
Parallel (low mem) computed the result in 43 seconds, and the whole program was using 60 MB of ram.
Serial computed the result in 2 minutes and 10 seconds, and the whole program was using 60 MB of ram.
Parallel (high mem) computed the result in 31 seconds, and the whole program was using 620 MB of ram.
Please note that this test was done on a 8 thread machine, if the optimizer had access to a lower amount of threads the gap between the two parallel algorithms would have been even smaller.

What other extra features are currently implemented?

  • loading your character directly from the armory. Its use is twofold: you can use it as a shortcut to load many items at once and then proceed to use them for the optimization process, or you can use it to load your exact armory configuration and evaluate how much dps/hps it is worth. Doing both will tell you exactly how big is the gap between your current setup and the optimized one, so it's easy to judge whether or not you wanna invest the money to go from the current configuration to the optimal one
  • pre-sets of stat weights for most classes and specs
  • unlike other tools it supports all normal random enchantment items from Throne of the Four Winds
  • multithread support to speed up the computation considerably
  • saving to disk your current profile (so you won't have to reinput weights, lookup items again etc)
  • saving to disk the result of an optimization run so you can easily reopen it at a later time (maybe because you run it when you can't access WoW so you can't reforge/regem right away, or to do comparisons between different runs)
  • you can quickly import stat weights from simulationcraft with just a cut&paste
  • there is a button to export a textual representation of the optimized setup. This makes it extremely easy to copy it into WoW, so you won't have to tab in and out of the game to see how every single item should be gemmed or reforged

The WoW Gear Optimizer uses some fairly complex algorithms to reduce the number of combinations that must be tested (in many cases reducing them by up to six orders of magnitude). Also, after the first time that you run it, it will create a desktop shortcut icon, and regardless of whether you run it from the website or from the desktop, it will always autoupdate itself to the latest release.

Where can I see what it can do, or simply learn how to use it?
Here are the videos that I've made to demonstrate what it can do, and how to use it:


Where can I download it?
The software itself is downloadable at WGO | Wow Gear Optimizer

Some extra user feedback

It perfectly recommended reforging options to get me to exactly 1742. Not options I would have intuitively used when reforging manually. But now all my stats are better balanced according to the stat weights and I even simcraft 4k dps higher



Curent Version (1.9.5) buglist:


#2 frank4g63

frank4g63

    Glass Joe

  • Members
  • 3 posts

Posted 03 February 2011 - 01:15 PM

hmm cant seem to load any profiles from the armory - 'No items matching...' error persists

EDIT: It looks as if the program is searching on the Item box above the character input info?

#3 Bigchipper

Bigchipper

    Glass Joe

  • Members
  • 5 posts

Posted 03 February 2011 - 01:19 PM

Same...would not retrieve my character.

#4 necro_potence

necro_potence

    Von Kaiser

  • Members
  • 41 posts

Posted 03 February 2011 - 02:04 PM

Same...would not retrieve my character.


Which char did you lookup? I looked up for Bigchipper @ Bloodhoof - Game - World of Warcraft and see that it is a lvl 82 paladin. As I specified in the first post, it has (almost) all lvl 85 items. I haven't worried about lower level items for two reasons, 1) the actual cost, 2) cause stat weights derived from spreadsheets or tools like simulationcraft are almost always for max level chars (which makes sense ofc).

#5 necro_potence

necro_potence

    Von Kaiser

  • Members
  • 41 posts

Posted 03 February 2011 - 02:09 PM

hmm cant seem to load any profiles from the armory - 'No items matching...' error persists

EDIT: It looks as if the program is searching on the Item box above the character input info?


I could load your char without a problem. Maybe you had something written in the item name input box, which overrides everything else (as writing an item name means that you want that one exactly, so it doesn't make sense to add more filters like CLOTH etc, note that mutual exclusivity on some filters is exactly like other tools, say wowhead, work).

#6 PainfulDeath

PainfulDeath

    Glass Joe

  • Members
  • 14 posts

Posted 03 February 2011 - 02:10 PM

It was not able to look up my character "Пэйнфул" from EU-"Ткач смерти" realm. But i figured the program just doesn't support any non-english symbols.

#7 necro_potence

necro_potence

    Von Kaiser

  • Members
  • 41 posts

Posted 03 February 2011 - 02:23 PM

It was not able to look up my character "Пэйнфул" from EU-"Ткач смерти" realm. But i figured the program just doesn't support any non-english symbols.


It doesn't at the moment, true, but of course I plan to take some time off to add support to them.
In the meantime, you can lookup items without using the armory import function, afterall once you have spent some time to lookup them you can simply save them to a file so you won't have to lookup them again one by one every time.

#8 frank4g63

frank4g63

    Glass Joe

  • Members
  • 3 posts

Posted 03 February 2011 - 02:51 PM

I could load your char without a problem. Maybe you had something written in the item name input box, which overrides everything else (as writing an item name means that you want that one exactly, so it doesn't make sense to add more filters like CLOTH etc, note that mutual exclusivity on some filters is exactly like other tools, say wowhead, work).


I had nothing in the item description box, but closed and reopened the program to make sure that it was clear - same result. I couldn't pull / load your character either, nor any one of 3 others I tried from multiple servers.

#9 PainfulDeath

PainfulDeath

    Glass Joe

  • Members
  • 14 posts

Posted 03 February 2011 - 03:12 PM

It doesn't at the moment, true, but of course I plan to take some time off to add support to them.
In the meantime, you can lookup items without using the armory import function, afterall once you have spent some time to lookup them you can simply save them to a file so you won't have to lookup them again one by one every time.


Manual adding is actually pretty fast, so i did try to do that. Some feedback after trying to use this software to optimize my gear:
1) I couldn't find any of these 2 items:
Corla's Baton - Game - World of Warcraft
Mantle of Master Cho - Game - World of Warcraft
2) The software seems to work with reforge and gemming, but does not use the enchants, which can really screw the optimization. Also does it work with profession bonuses? (BS,JC are the ones from the top of my head, which will affect optimization greatly) Does it count the belt buckle?
3) Also there is no apparent way to "remove" the group selection while you do it. If i for example want to look for a "ring" slot, after that i cannot look through "all slots" without having to shut the software down and launching it again.

Otherwise it seems like a pretty straightforward and usefull piece of software and i will be looking forward to getting to use it, if you ever get time to fix those issues.

#10 necro_potence

necro_potence

    Von Kaiser

  • Members
  • 41 posts

Posted 03 February 2011 - 03:44 PM

I had nothing in the item description box, but closed and reopened the program to make sure that it was clear - same result. I couldn't pull / load your character either, nor any one of 3 others I tried from multiple servers.


Eu armory was down before so sometimes not getting anything might actually be that the source is offline. Other than that it must be a firewall/proxy issue, I can't query the armory from work either, but it works no problem from home.

#11 necro_potence

necro_potence

    Von Kaiser

  • Members
  • 41 posts

Posted 03 February 2011 - 03:49 PM

1) I couldn't find any of these 2 items:
Corla's Baton - Game - World of Warcraft
Mantle of Master Cho - Game - World of Warcraft


Thanks, I'll look into this. Sadly I don't have access to wowhead dbs so I had to make my own. I'll let you know as I get back home.

2) The software seems to work with reforge and gemming, but does not use the enchants, which can really screw the optimization. Also does it work with profession bonuses? (BS,JC are the ones from the top of my head, which will affect optimization greatly) Does it count the belt buckle?


No to all, but simply because they don't screw anything up. The aim isn't for the tool to come up with a perfect dps value that would be a 100% match to say what you would do on argaloth. The final dps value is only there for comparison purposes. If my result is 20.000, it could be 100.000.000 or 100 instead, its usefulness would be just the same. Enchantments and belt buckles don't change anything because you will put those either way. If you load two pair of shoes, which one is better will not change due to enchanting, since you will enchant both.

3) Also there is no apparent way to "remove" the group selection while you do it. If i for example want to look for a "ring" slot, after that i cannot look through "all slots" without having to shut the software down and launching it again.


You can deselect them by Control-Clicking them.

#12 necro_potence

necro_potence

    Von Kaiser

  • Members
  • 41 posts

Posted 03 February 2011 - 04:07 PM

It was not able to look up my character "Пэйнфул" from EU-"Ткач смерти" realm. But i figured the program just doesn't support any non-english symbols.


Actually just to see what happened I looked up for
Пэйнфул
Ткач Смерти

and the armory extraction did work, so I'm not really sure what your issue was...

#13 frank4g63

frank4g63

    Glass Joe

  • Members
  • 3 posts

Posted 03 February 2011 - 04:27 PM

Eu armory was down before so sometimes not getting anything might actually be that the source is offline. Other than that it must be a firewall/proxy issue, I can't query the armory from work either, but it works no problem from home.


Ah gotcha, I'll try it later on as well, thanks...

#14 pwil

pwil

    Glass Joe

  • Members
  • 4 posts

Posted 03 February 2011 - 04:34 PM

No to all, but simply because they don't screw anything up. The aim isn't for the tool to come up with a perfect dps value that would be a 100% match to say what you would do on argaloth. The final dps value is only there for comparison purposes. If my result is 20.000, it could be 100.000.000 or 100 instead, its usefulness would be just the same. Enchantments and belt buckles don't change anything because you will put those either way. If you load two pair of shoes, which one is better will not change due to enchanting, since you will enchant both.


Unless I'm missing something, enchants would make a difference. Reason: some enchants have hit.

I haven't tested this yet but I guess you could just subtract the hit you get from enchants from 1742 and enter that number as your hit cap. Seems like a poor way of doing it though.

#15 necro_potence

necro_potence

    Von Kaiser

  • Members
  • 41 posts

Posted 03 February 2011 - 05:04 PM

Unless I'm missing something, enchants would make a difference. Reason: some enchants have hit.

I haven't tested this yet but I guess you could just subtract the hit you get from enchants from 1742 and enter that number as your hit cap. Seems like a poor way of doing it though.


You can, should and are encouraged to do that by the tooltip on the caps tab:)

In general, enchanting for something that with 1 single item swap becomes useless isn't a good idea anyway.

Plus the current solution is more robust, because adding enchantments to the model would not prevent you from having to reduce the hit cap by hand if you want to factor in an hit elixir or food buff.

(In terms of poor ways, if I actually did add enchantments to the model, what currently takes 30 seconds to compute with the "poor solution" would have grown by quite some orders of magnitude, so I opted to go for the less elegant, much faster for the end-user, solution.)

#16 pwil

pwil

    Glass Joe

  • Members
  • 4 posts

Posted 03 February 2011 - 05:29 PM

You can, should and are encouraged to do that by the tooltip on the caps tab:)

In general, enchanting for something that with 1 single item swap becomes useless isn't a good idea anyway.

Plus the current solution is more robust, because adding enchantments to the model would not prevent you from having to reduce the hit cap by hand if you want to factor in an hit elixir or food buff.

(In terms of poor ways, if I actually did add enchantments to the model, what currently takes 30 seconds to compute with the "poor solution" would have grown by quite some orders of magnitude, so I opted to go for the less elegant, much faster for the end-user, solution.)


Haha apparently I was missing something. I stand corrected.

#17 Bigchipper

Bigchipper

    Glass Joe

  • Members
  • 5 posts

Posted 03 February 2011 - 05:35 PM

Which char did you lookup? I looked up for Bigchipper @ Bloodhoof - Game - World of Warcraft and see that it is a lvl 82 paladin. As I specified in the first post, it has (almost) all lvl 85 items. I haven't worried about lower level items for two reasons, 1) the actual cost, 2) cause stat weights derived from spreadsheets or tools like simulationcraft are almost always for max level chars (which makes sense ofc).

Sorry..that's not my main anymore. Look up Loosefur on Bloodhoof-US. I still cannot get it to work...says "no items matching the criteria have been found."

#18 tr0tsky

tr0tsky

    Glass Joe

  • Members
  • 19 posts

Posted 03 February 2011 - 05:54 PM

Sorry..that's not my main anymore. Look up Loosefur on Bloodhoof-US. I still cannot get it to work...says "no items matching the criteria have been found."


Says that for me too, although I can go to the armory page myself. (Soni@Frostwolf-US)

edit: Actually, I can't look any items up either...does this work on non-standard ports or something?

#19 pwil

pwil

    Glass Joe

  • Members
  • 4 posts

Posted 03 February 2011 - 06:02 PM

Sorry..that's not my main anymore. Look up Loosefur on Bloodhoof-US. I still cannot get it to work...says "no items matching the criteria have been found."

Says that for me too, although I can go to the armory page myself. (Soni@Frostwolf-US)


I was able to look up both of you without a problem. Only problems I can think of would be to check your spelling and make sure you have selected US from the dropdown menu. It defaults to EU.

#20 tr0tsky

tr0tsky

    Glass Joe

  • Members
  • 19 posts

Posted 03 February 2011 - 06:03 PM

I was able to look up both of you without a problem. Only problems I can think of would be to check your spelling and make sure you have selected US from the dropdown menu. It defaults to EU.


Yah, I definitely had things spelled properly and set to US. So, it must be a firewall problem then, I guess. Oh well, another program I can only use at home :P




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users