Period: December 4, 2025 Total Commits: 18
Hey, here’s what we’ve been working on today. The big pieces are the playable skill tree, a full pass on minion abilities (auras and survivability), and a DOT/true damage system with proper visuals and timing. We also cleaned up UI stats, tightened bots, and did a naming pass on the simulation tick system. It’s getting there.
What’s New
-
Skill tree you can actually use in a match
- The radial tree is playable and synced with the server. Unlocks apply immediately to your towers/minions and show up in the match UI.
- The tree groups skills by color and by type (Tower/Minion) with clear prerequisites and five tiers per branch.
- We added a glowing skill tree button beside the level-up button, and a new skills panel in the tab menu that shows what you and your opponent have unlocked.
- [screenshot: radial skill tree with colored branches at 501ee61]
- [screenshot: tab menu skills grid with colored borders at 375f748]
-
Minion abilities (auras and sustain)
- Speed Aura: +10% move speed to nearby allies.
- Healing Aura: +2% HP per second to nearby allies.
- Life Regeneration: +2% HP per second self-heal.
- Burst Healing: Heal 50% HP after 3 seconds out of damage.
- Stoneskin: 3 seconds of full damage immunity, 15s cooldown. Also got a visual update so you can tell when it’s active.
- Heroic Charge: +10% move speed per nearby ally.
- Resurrection: Revive at 50% HP after 5 seconds.
- Under the hood this runs through an aura system each tick, so bonuses apply and clear reliably as units move.
- [screenshot: red minion entering Stoneskin with chrome tint at 974c158]
-
Damage-over-time and true damage
- Enflame and Poison apply 10% of tower DPS per second for 5 seconds. Enflame stacks and blocks healing; Poison takes the higher value when multiple are present.
- True damage now bypasses resistances, which helps certain builds punch through high-armor comps.
- We added clear status visuals: tints plus flame/bubble particles so you can read the fight at a glance.
- [screenshot: enflame and poison particle effects on a minion at a56715e]
What Got Fixed
-
DOT timing and readability
- DOT now ticks once per second instead of every frame. This makes numbers sane (no more spammy “1,1,1…” texts) and damage more predictable.
- Damage calculation uses the same effective fire rate logic as your towers, so displayed DPS and applied DOT are aligned.
-
Stats and UI clarity
- InfoPanel now shows real values for speed and flying HP bonuses. We fixed it to read live multipliers, not just base configs.
- Added a skill bonus indicator under the relevant stats so you can see what’s being modified.
- Hooked up the new skill tree button in the in-match HUD.
-
Consistency after unlocking skills
- When you unlock a skill mid-match, existing units now update. Example: flying HP bonuses apply to air units you spawned before the unlock.
-
Bots and menus
- Fixed bot level indexing issues so they start at the correct level and unlock skills based on their unit color mix.
- Enabled the level system in the test arena for skill tree testing.
- Added a skip option when all units are already unlocked, and we now show the skill tree right after skipping.
-
Housekeeping
- Removed some unused variables and standardized on a single player identity field across systems.
Under the Hood
-
Tick-based simulation terminology
- We dropped the old “block” wording and moved to tickNumber, tickTimestamp, and processTick. This matches how the server actually runs and makes logs easier to read.
-
Cleaner spawn and modifier flow
- Minions now receive a single spawn modifiers object (health, speed, resistance) that bakes in castle and flying bonuses.
- Towers gained conditional damage multipliers (vs slowed/flying/ground) and minions got resistance bonuses applied consistently.
- We added a reliable way to check “slowed” state and made sure bonuses interact as intended.
-
Skill configuration overhaul
- Instead of boolean flags, skills now carry settings objects (percent, range, durations, cooldowns, etc.). This makes tuning easier and reduces special-case code.
- The UNLOCK_SKILL path is fully defined in the server pipeline so client unlocks sync cleanly without type mismatches.
- DOT settings are centralized with clear naming (e.g., DPS percent is explicitly configured).
-
Tests
- Expanded coverage across the skill tree, conditional modifiers, and minion abilities (auras, healing, Stoneskin, death/respawn). All suites are passing.
Thanks for all the feedback on readability and mid-match unlocks. The updates above aim to make fights clearer (auras/visuals), builds deeper (conditional multipliers + true damage), and the UI more honest about what your army is actually doing. If you notice odd stacking behavior or auras not dropping when units leave range, let us know with a clip and timestamp—those reports help a lot.