Top Gear — Find Your Best Combination

Seriallos
Raidbots
Published in
3 min readMay 7, 2017

I just recently launched a new feature on Raidbots: Top Gear.

On a highway to the calzone zone…

The idea is very similar to some addons out there (SimPermut, SimcTrinketComparison — shout out to BlizzN and Kutikuti, conversations with them and looking at their code helped me tremendously) — look at all the gear on your character and in your bags, select the items you want to focus on, generate all the possible combinations, and simulate.

Usage should be pretty straightforward:

  • Copy the text after using /simc in-game (make sure you have at least version 1.7.0 updated last week)
  • Paste into Top Gear
  • Select the items you want making sure to stay under or at the iteration limit
  • Simulate

As with just about everything else on the site, you can adjust iterations, fight style, fight length, and SimC version. You can also use Raidbots to generate the raw SimC input and run locally (although with some limitations, the addons linked above are probably better for setting up local runs).

Once complete, the report page will show you the gearset with the maximum DPS for your simulation as well as a breakdown of the other sets (based on differences from the top set).

Common Workflows

Top Gear excels at solving some common problems:

  • Simming trinket combinations
  • Simming legendary combinations

For patrons with a higher iteration limit, you can start mixing even more items in to try to find optimal gearsets.

Limitations

The single biggest challenge is that the explosive number of combinations along with the computational intensity of SimC means that you have to choose a subset of items in order to fit the simulation into a reasonable time.

This would take about 9 days to run on Raidbots

Top Gear has iteration limits in place that vary:

  • Public users: 200k
  • Rare Patrons: 400k
  • Heirloom Patrons: 800k
  • Epic + Legendary Patrons: 1.6m

These largely correspond with the simulation time limits in place to make sure that the simulation fits.

These values may change over time based on the scaling capacity available.

I’ll also be looking into various approaches at pruning gearsets that aren’t desirable or will clearly be downgrades. Right now the only constraint is that each gearset must have exactly two legendaries. One possible future feature is being able to specify the tier bonuses that should be maintained.

One implementation note — once you have selected items that result in more than 500 gearsets, “Show SimC Input” will no longer work and the numbers become rough approximations. This is because the time it takes to generate all the combinations begins to have a significant impact on browser performance (I may look into taking advantage of web workers eventually to solve this performance problem).

How It Works

Generating gearset combinations uses some combinatoric tools. Raidbots uses the following process to create the combos:

  • Generate all combinations of two trinkets
  • Generate all combinations of two rings
  • Generate the Cartesian Product of all item slots (treating the two item ring/trinket combinations as a single item)
  • Filter the result to sets that match the constraints (right now it’s only checking for exactly two legendaries)

From there, convert those combinations into SimC input (a whole bunch of big copy commands and toss it into the Raidbots queue.

Known Issues

  • There look to be some rare SimC crashes with large simulations. I’ve been working with SimC devs to track these down and fix them up (an eternal “thank you” to Navv for tracking down the issues I run into)
  • Item quality colors are not always correct. This is because I haven’t built full understanding of bonus IDs (warforge, titanforge, M+ item level) into Raidbots yet. Tooltips are more accurate as WoWDB does understand this data.

--

--