A downloadable tool

Created by: Nik Sublett

About me: Hi! I am a senior studying Computer Science at George Mason University. I will hopefully be graduating in the Spring of 2026. Some of my hobbies include gaming, motorsports, and fishing.

About the tool:

This project is a custom Unity editor tool designed to help game developers balance enemy waves across levels. Instead of guessing difficulty by feel, designers define enemy types using EnemyStats Scriptable Objects (health, damage, attack rate, speed, spawn weight). The tool converts those stats into a consistent difficulty rating, then simulates how many of each enemy appear in every round. Each enemy can use one of three growth models--(linear, exponential, or manually specified counts)--so designers can model simple ramps, scaling hordes, or handcrafted boss waves.

Key Features & Innovations:

  • Enemy stat modeling: Uses EnemyStats Scriptable Objects (health, damage, attack rate, speed, spawn weight) and converts them into a consistent difficulty rating.
  • Flexible growth modes per enemy:
    • Linear - fixed extra enemies per level
    • Exponential - growth factor for scaling enemies
    • Manual - exact enemy count per level for full control
  • Multi-enemy wave support: Each round can mix several enemy types, and the tool sums their contributions into one total difficulty value.
  • Difficulty over time graph: Shows how total difficulty changes round-by-round, with vertical grid lines and labels for each level.
  • Per-level breakdown: For any selected round, the tool shows a table of each enemy's count, base difficulty, and contribution, plus the total.
  • Built as a Unity-native editor tool: no external spreadsheets, no separate app--designers can tweak, test, and iterate without leaving the engine.
  • Lets designers combine multiple enemy types and growth patterns in one place, then see the combined difficulty instead of guessing

Download

Download
EnemyWaveDifficultyTool.unitypackage 7 kB

Leave a comment

Log in with itch.io to leave a comment.