Warcraft III Custom TD Tower Balancer

This bundle is marked as pending. It has not been reviewed by a staff member yet.

<<<< UPDATED NOVEMBER 9, 2024 >>>>
GitHub:
https://github.com/Aphotica/WC3-Tower-Balancer
Contact (Wintermaul Wars Discord): Join the Wintermaul Wars (WmW) Discord Server!

Created for use in Wintermaul Wars maps on Warcraft III, though should work in any Tower Defense game on WC3.

For the dynamic algorithm:
the more races/data you add, the more accurate it becomes (recommend 15+ races to use). Outliers populate at the bottom of the screen.
For the standard algorithm: adjust anything you'd like in the algorithm editor as well as the preset balance ranges.
HOW TO USE

  1. Add the tower data for your race and give your race a name. If any tower fields don't apply, leave them blank.
  2. Export your race data for each race before hitting "Clear All" and adding additional races. **You can export and work out of the same Excel file. As long as the race names are the same, any updates will override it.
  3. The more races and towers you add, the more accurate the dynamic algorithm becomes (recommend a minimum of 10 races)
  4. Use the Algorithm Editor to adjust the preset balance ranges (and algorithm itself) to your needs if using < 10 races.
  5. When all races and towers are completed and exported into one CSV, import them back into the program.
  6. A comprehensive view of the tower data will calculate. The outliers (weakest/strongest) will populate at the bottom
  7. Begin implementing changes to your towers as needed, exporting after each race to update the tower values.
  8. For a tower to be balanced, its DPS/Gold must be within the balance range (+/- 1 SD), have a Z-score between -1 to 1, with a percentile rank between 40-60% (disregard if data set is small)
NOTE: To retain modified data while flipping through races, a temp_backup.csv is created in the exe location to recall the data. Delete this when no longer needed.

Further Details:

1. DPS per Gold within Balance Range:
The algorithm calculates a balance range for each tower, defined as the mean DPS per gold ± one standard deviation. A tower is considered balanced if its DPS per gold falls within this balance range. The balance range can be dynamically calculated based on the current data set (dynamic algorithm) or preset based on predefined ranges. DPS per Gold is multiplied by 100 to achieve realistic whole numbers.

2. Z-Score:
The Z-score measures how far the tower's DPS per gold is from the mean DPS per gold in terms of standard deviations. A tower is considered balanced if its Z-score falls between -1 and 1, which means the tower's DPS per gold is within one standard deviation from the average. Z-scores outside this range indicate the tower is either underpowered (Z < -1) or overpowered (Z > 1).

3. Percentile Rank (ignore with small data sets): The percentile rank shows where the tower's DPS per gold falls compared to other towers, expressed as a percentage. A tower is considered balanced if its percentile rank is between 40% and 60%. This indicates the tower is near the middle of the distribution of DPS per gold. Towers with very high or very low percentile ranks are considered overpowered or underpowered, respectively.

4. Dynamic Balance Range for Target Types: For towers with different target types (e.g., "Ground Splash," "Air Splash"), the balance range is dynamically adjusted.

Air Splash or Ground Splash towers populate with two different balance ranges: a) one with splash (against target type) with a dynamic range 1.5x above the "All" target data b) one without splash (against non-target type) with a dynamic range 50% below the "All" target data This ensures that races that specialize in Ground or Air Splash will have the power to perform where they are meant to be strongest, yet have a noticeable tradeoff in single-target DPS compared to their peers.

6. Outlier Consideration: If the user enables "Ignore Outliers," the algorithm will exclude extreme outliers using the interquartile range (IQR) method. A tower's DPS per gold is only considered for balance calculations if it is not an outlier.

If curious, feel free to view the algorithm to see if the script will work for you. The code is open source, so feel free to use it however you need.

Dark Version:

294472-de763e511bd9786457e4d73787dc7c69.jpg

294473-ca8bd3a512628b4ba98fbc55fe905839.jpg
Previews
Contents

Warcraft III Custom TD Tower Balancer (Binary)

Top