DK Optimize is hosted on Google Code. The main link to the project is here.
Extract the archive and run SETUP.EXE
Navigate to Start -> Programs -> DK Optimize
Run DK Optimize
The Death Knight Gear Optimizer is a program written expressely for the purpose of finding the absolute optimal setup of gear, gems, and enchants for any Death Knight of any spec. It functions on a system of weighted stat values in which each stat is assigned a value relative to others. Generally, Attack Power is given a reference value of 1.00 or 100 so that calculations and relative values are easy to understand. This is a commonly used system both for Death Knights and other classes seeking to maximize their performance, but it falls apart when attempting to build entire sets of gear as the most valuable stats (often hit or expertise) have a limit past which they provide no benefit. Loot Rank and Wowhead are great tools, but you can't just cherry pick the best item for each slot. This situation is where the program comes in, combing through selected gear in order to make absolutely sure it picks the best item for each slot in conjunction with an entire set.
Calculates optimal gearing, gemming, and enchanting for any combination of items available in game.
Pre-loaded items include all iLvl 200+ items and all gems.
Support for professions shows how each one benefits your character
Support for racial traits like Axe Specialization and Draenei Auras keeps the results relevant and accurate.
Fully editable items, gems, and weights permits total customization and experimentation with theoretical or newly discovered gear.
Supports weights for Tier 7, 8, 9, and 10 set bonuses as calculated by the EJ community.
Considers talents like Virulence, Rage of Rivendare, Veteran of the Third War, Nerves of Cold Steel, and Tundra Stalker to make sure expertise and hit caps are correct.
Permits both Two-Handed and Dual-Wield gear and weapon selection.
Ability to save multiple profiles of gear so that you can easily swap between sets for optimization.
Ability to enable / disable specific enchants.
Full multi-threading support.
I'm constantly trying to improve this program, so here's an idea of what I've got in mind. If you've got a reasonable suggestion please feel free to mention it. No guarantees on anything, however.
Jewelcrafting is naive in this new version, but the code exists to implement it intelligently. I'll be working on that.
All ICC loot should be entered, but only some socket bonuses are included at this time. I will add them to the loot as the items drop or the bonuses become otherwise available.
Forcing both Spell Hit and Expertise caps can cause the program to seem to 'lock up'. The program is not frozen, but the calculation may be taking too long to be practical. Hitcap forcing does, however, function correctly when it completes in a reasonable time.
In situations where Hit and Strength weights are exactly the same, calculation time can in some cases be drastically increased.
Added socket bonuses for many hard mode ICC items. Several items from the less widely defeated encounters are still unknown.
Fixed an error that would cause Deathbringer's Will to behave oddly in some circumstances.
Fixed a problem with duplicate items on the shoulder item list.
Added logic to Jewelcrafting to prefer ArP Dragon's Eyes over Str gems if weights warrant it. This may behave oddly if ArP gems are not selected.
Fixed an error where the ArP hard cap from gear and gems alone was not being appropriately considered for final scoring.
Added socket bonus information for all non-heroic, non-Lich King loot from Icecrown Citadel
Fixed several minor typographical errors in the item list.
Updated stats for Malevolent Girdle to reflect re-itemization.
Added itemIDs for Ashen Band of Might, Ashen Band of Greater Might, Ashen Band of Unmatched Might, and Ashen Band of Endless Might.
Added all Lich King loot for all difficulties. Most socket bonuses are unknown at this time.
Fixed an error that would result in incorrect results with Ashen Band of Unmatched Might and Ashen Band of Endless Might
Added Ashen Band of Might, Ashen Band of Greater Might, Ashen Band of Unmatched Might, and Ashen Band of Endless Might.
Associated the Ashen Band DPS Proc with the strength versions of the ring.
Added Tiny Abomination in a Jar and Tiny Abomination in a Jar (Heroic). Proc values are approximate at best.
Added socket bonus values for loot from Blood Princes (10/25) and Blood Queen Lana'thel (10/25). Heroic socket values still unknown.
Fixed an error where Nerves of Cold Steel would carry over into Two-Handed calculations in some instances.
Updated Bryntoll, the Bone Arbiter proc values to account for the change in proc rate.
Added socket bonus values for loot from Rotface (10/25), Festergut (10/25), and Professor Putricide (10/25). Heroic socket values still unknown.
Fixed an error that would sometimes cause Hit Aura to be calculated incorrectly for horde characters.
Fixed several small typos in item names.
Updated 2H Unholy stat weightings.
Updated almost all remaining items to have the appropriate WowheadID value.
Fixed a coloration issue with Shadowmourne on the graphical results screen.
Added a window allowing the user to customize the value and behavior of the internally modeled items, including Bryntroll, the Bone Arbiter, Byntroll, the Bone Arbiter (Heroic), Deathbringer's Will, Deathbringer's Will (Heroic), Ashen Band of Unmatched / Endless Vengeance, and Shadowmourne.
Added data_internalprocs.xml as a default file to store internal proc data.
Added error logging to several functions that were missing this feature.
Added / Updated several Icecrown Citadel items with additional stat or socket bonus information.
Updated Unholy spec weights.
Added Wowhead ID field and data to all items.
Updated vBulletin output formatting to be more informative and consistent.
Internally modeled preliminary values for Deathbringer's Will, Deathbringer's Will (Heroic), Bryntroll, the Bone Arbiter, Bryntroll, the Bone Arbiter (Heroic), Ashen Band of Unmatched Vengeance, and Ashen Band of Endless Vengeance.
Added an option box for primary spec in the weight section to facilitate per-spec proc modeling.
Added several items from Icecrown that had previously been omitted.
Fixed an error that caused Koltira's Shoulderplates of Triumph (Heroic) to disappear from the item list.
Updated the vBulletin output format to use spellIDs for enchants for a more consistent result.
Added known item socket bonuses for Icecrown loot using Wowhead as the source.
Added the framework for internally calculated procs and weapon effects that will be used for several Icecrown items.
Added all known Icecrown Citadel Raid and Dungeon items. Socket bonuses are not yet included.
Fixed an error that could cause the program to crash if an incorrectly formatted value was entered as a weight.
Added support for Tier 10 set bonuses.
Added the ability to force two or four piece Tier 10.
Added all known ICC items as of release date.
Updated file storage to account for the additional parameters.
Added backwards compatibility for pre-2.5.4 files.
Added auto sorting by iLvl when the Edit Master Items screen is first opened.
Fixed an error that would erroneously inform the user that Custom Weights were no longer Custom.
Fixed an error that caused inconsistent formatting in several XML files.
Fixed an error where several XML tags were incorrectly named.
Fixed an error where two fields were ignored when matching weight set names.
Updated MH / OH speed to work correctly with the default value of weights from Kahorie's Simulator.
Fixed an error that would sometimes cause Main Hand, One Hand, and Off Hand designations to be ignored.
Fixed an error that would sometimes cause uniqueness in One-Handed weapons to be ignored.
Fixed a stat error for Gloves of Smoldering Touch
Fixed an error that would cause boot enchants to calculate incorrectly in some situations.
Added Arena PvP weapons for iLvls 245 and 258.
Re-release version written in Visual Basic.NET
Fixed stat errors for several items.
Added all non-proc based items available from the Onyxia encounter.
Added the ability to enable and disable boot, wrist, and glove enchants.
Fixed an error that would cause the calculations to crash when forcing a hit or expertise cap was turned on.
Added features resulting in a speed boost in overall execution.
Added the ability to save multiple configurations of gear.
Added a screen to configure various constants such as hit caps and rating statistics.
Added additional methods of output, including vBulletin, Plain Text, and XML.
Updated weight sets for Unholy and Frost to be current with WoW 3.2.2.
Updated weight sets for Unholy to be current with preliminary WoW 3.3.0 data.
Fixed problems with the installer that would cause it to not install on many systems.
Added file associations so that *.dko files can be opened from the file explorer.
Updated Jewelcrafting to be naive in its implementation. Revisions at a later time.
Added multithreading support to both candidate set selection and gemming. Large speed gains.
Fixed errors resulting from multi-region use.
Added rudimentary error logging to report causes of program crashes.
Updated Expertise to no longer calculate a truncated weight per recent theory changes.
Fixed a stat error for Shoulderplates of Trembling Rage.
Added Band of Draconic Guile.
Fixed a stat error for Blackhorn Bludgeon.
Fixed a stat error for Maexxna's Femur.
Added a weight for weapon speed in 0.1s increments.
Unholy weights updated but out of date again at time of this release. Blood and Frost unchanged.
Significant improvements to gearing and gemming algorithms should result in increased speed for all calculations.
Fixed several items which had incorrect stats.
Added a feature to write calculation results to a text file.
Region compatibility should really be fixed this time.
Updated trinkets to separate proc statistics from base item values.
Added consideration for the ArP, Hit, and Expertise caps from trinket procs.
Fixed a stat error for Comet's Trail.
Added further improvements to the gear iteration system.
Fixed a bug where long calculations would sometimes crash the program.
Added Nitro Boosts for Engineers.
Updated weights for Dual Wield Builds.
Fixed a bug where new items in the gear and gems screens would display 'a' instead of a checkmark character when selected.
Fixed a bug that would result in lost data when items were sorted by iLvl.
Added all Trial of the Crusader, Trial of the Champion, Ulduar, and Naxxramas leather and plate items.
Enabled the feature to force hit and expertise caps.
Fixed a bug where Blood Elf race was being incorrectly handled.
Updated information storage to work correctly in regions using ',' as a decimal point.
Fixed a stat error for Starfall Girdle.
Added Titanium Razorplate.
Added Titanium Spikeguards.
Updated weights for Unholy Two-Handed specs.
Fixed a bug that caused the uniqueness property for One-Handed weapons to be ignored.
Fixed a stat error for Stylish Power Cape.
Added Pyrite Infuser.
Added Caress of Insanity.
Improved the speed at which gearsets are iterated before the gemming process.
Fixed a bug that caused the calculation screen to malfunction if used twice during the same session.
Improved gemming process for faster gemming.
Improved the usability of the Gems, Weights, and Gear screens.
Fixed a bug that would make the results screen overly large on some systems.
Fixed a bug that forced me to disable the close buttons on many windows.
Contents of the main screen are saved from session to session.
Streamlined the process for saving data when the program is closing.
Ah, I understand. What you're saying is that with a text file that contains ',' as the decimal point, it works fine. However, the problem is that I distributed a file with values already populated containing '.' as the decimal point. That's a silly oversight on my part. I most likely won't be able to get a fix out for that until Monday, but as you mentioned the solution is a quick Find / Replace in your text editor of choice.
Let me know if I interpreted that incorrectly. Thanks.
I've selected the minimum number of gems and it still takes ages. It won't go beyond "Calculating...". It only works in a foreseeable timespan when I select very few items. I just don't need an optimizer programm, when I more or less know which items to pick. You see the dilemma .
How do you do the gemming process? I'd just check for gemming by color vs best gem spam. Then take away best gems (aka red gems) for some Exp/Hit. That's how I gem manually.
Or at least give us an option to put the best (red) gem in every slot, that would help me a lot.
I appear to have introduced a bug in the latest build. I'm going to check it out now.
Edit: I've nabbed the culprit, and it's something I'm going to have to figure out a way around as our gear scales higher. It's not a bug, just unfortunate timing combined with ugly scaling in a complex problem. In previous tiers, the value of pre-cap hit was always below the value of strength point for point, meaning that unless you were purposefully forcing the hitcap, there was never any reason to put anything but a red gem in a red socket. This simplifies gemming significantly, since you can just pass through and drop +20 str (essentially) into every red socket.
However, I'd written the code to account for when hit exceeded strength at the pre-cap level and it has just now been hit by the newest weight sets distributed. When hit is > str on a point for point basis, it becomes possible that a yellow or orange gem is optimal in a red socket. However, I can't simply reverse the str > hit logic and use yellow as my baseline since hit is a cappable stat.
To answer your question as to the gemming methodology, it's something like that: Fill red slots with red gems. Yellow slots and blue slots are looser, so they are iterated with the rest of the gems including the prismatic Nightmare's Tear. This just falls apart when hit > str, and it's something that I need to find a resolution to.
In the short term, simply make your Hit To Melee Cap weight field less than your strength weight, and you should be able to run 5-6 (maybe 7, depending on color) gem calculations reasonably. As long as the sets come out more or less at the hit cap (which they should / will), the relative optimal-ness of the set is conserved. As a note, adding another red gem to the mix is the fastest way to increase complexity. Additionally, forcing the hitcap imitates some of this logic, since you want to sacrifice reds in red sockets in order to meet the hitcap specified.
It's late on a Friday so I won't work out a solution to this tonight, but thanks for pointing it out to me. Sorry for it to have cropped up right as I made a new thread about it, but it just happened to coincide with that timing. Let me know if you have any other problems.
I'm not entirely sure why, but your newest release doesn't seem to be taking overall stats into consideration.
As an example it is stating that using both Grim Toll and Mjolnir Runestone is the optimal setup for 2h Blood, and that the 4p t8 is worth breaking to replace the shoulders and gloves with Shoulderpads of the Eternal and Bladebreaker Gauntlets. Both of these have been proven to be poor swaps previously. It is also stacking hit to very high ratings without concern for the melee and spell hit cap it would appear (I am getting swaps for 2h blood with 400+ hit).
I ran my first test today and the gearset it suggested showed 313 Hit rating, and spell hit cap 100%. However, the Frost thread (and my own understanding) puts spell cap at 11% from gear which is closer to 360 hit rating. Did I miss something along the way?
Quick observation - in the 51/0/20 weights, ArP is valued at 5.67 by default which makes it almost double the value of 1 STR for the spec.
According to the BiS thread, post #459 by Afabar, which is the one I assume you based your stats on (as the rest of the slats mirror it exactly) it should be 2.67.
Also - I seem to be missing the Valorous Darkruned Shoulders in my items list - if I manually add that, do I have to do a special setting so it is counted as meeting the t8 bonuses? To clarify : if I just type in Valorous Darkruned Shoulders as the name, will it be recognized as a t8 piece?
And last question: with the automatic install, do I need to uninstall the previous version before I install the new one in the same folder? I've done it so far to avoid conflicts, but if it's not needed I can just skip this step
Asphyxia - Can you upload me your gear / item / status text files that are giving that set as a result? I'll take a look at it.
dr_AllCOM3 - I'll try and put in a way to text export your results in the next release. Also I hadn't added the ArP cap, but will do so in the next version.
Sakuratei - If you have full raid buffs, the hit cap is 289 hit rating. This is the value that is used as the hit cap in the program.
Qrio - Ah, I'll fix that weight in the next go-round. Just a typo in the file on my part. Regarding Tier sets - you can simply add Valorous Darkruned Spaulders - the string match for Tier 8 is 'Darkruned' so you shouldn't have any problems. You don't have to reinstall - just select 'No To all' when you are prompted to overwrite in the installer and you should be fine.
I resolved the issue Zerack, I hadn't noticed at the time of my post that you had changed the weightings for each spec. However now I bring to you another concern (again, Armor Pen related). I don't believe the optimizer understands the soft armor penetration cap vs the hard cap and the actual effect trinkets have on it.
As an example, per the weights Doc posted in the Blood topic (which have been similar to my results), it says that I should use both Grim Toll and Mjolnir Runestone and then have about 650 passive armor penetration with the two trinkets, obviously this is not correct as Armor Penetration cannot exceed 100% and that puts me *massively* over the cap whenever even 1 trinket procs. Because of how the trinket values are entered into the sim as static values I don't believe it understands how the soft and hard armor cap works and how using a static value on armor penetration is not effective for optimization the way the program works.
There should be a way for it to calculate out the soft cap of 443 (+665 from Mjolnir is 1108, or 90.008%) and then the hard cap of 1108, and how that anything excess from trinket procs is simply wasted armor pen (ie, the weight of armor pen after 443 is greatly diminished in the event you are using a trinket). Is there a way we can solve that issue?
Obviously the value I am speaking of as 443 is in Blood, but that is the only spec where Armor Pen becomes worth stacking to extreme levels without regard for a balance in other stats, which is why I am encountering the issue as Blood and not as Frost / UH.
Last edited by Asphyxialol : 08/22/09 at 10:11 PM.