Period: August 26, 2025 Total Commits: 10
Hey all — here’s what we worked on today. New support tower mechanics landed, the renderer got a serious upgrade, and we cleaned up a bunch of sync and placement edge cases. It’s getting there.
What’s New
-
Damage Booster Tower (Aura + Electricity Beam)
- Adds a 10% damage aura in a 2.5-tile radius to nearby towers.
- Shows a thin electricity beam from the booster to its target for clarity.
- Towers inside the aura get a subtle red glow so you can tell who’s buffed at a glance.
- Gameplay impact: this leans into tower clusters and synergy drafting. You can build compact kill zones that scale better with buffs, at the cost of vulnerability to path reroutes.
- Note: visuals are in; numbers are conservative on purpose.
[screenshot: damage booster aura glow + electricity beam during a wave at de3ddce]
-
HUD View Toggle Revamp
- The “Show Opponent” button is gone. The view indicator is now clickable and doubles as the toggle.
- Added hover/active states so it’s obvious what you’re looking at and what will happen on click.
[screenshot: multiplayer battle with new UI view toggle indicator at 6642f15]
What Got Fixed
-
Gold and Wave Timer Sync
- Moved gold income and wave countdown to per-second updates instead of per-block.
- Added an accumulator so you get full-second income ticks, even through hiccups.
- Fixed a case where blocks could process twice; debounce is now 100ms to prevent repeats.
- Effect: more stable income and steady wave timers, especially during catchup.
-
Minion Placement Reliability
- You can now replace existing minion spawn assignments cleanly (old one despawns), and the visuals update correctly.
-
Placement Rules for 7-Castle Layout
- The pathing check now requires that all living castles remain reachable, not just one.
- Temporary placements are included in the check, so it’s harder to accidentally lock a route.
- Also adjusted internal tests to the new castle coordinates and full-height spawn bounds (0–16) for consistency.
[screenshot: updated tower placement grid with valid/blocked highlights at 532c822]
-
Board-Scoped VFX
- VFX now carry a team tag, and the renderer filters by the active view.
- Result: no more effects showing up on the wrong board.
-
Projectile + Renderer Cleanups
- Fixed projectile cleanup if a target dies early in the instanced renderer.
- Corrected some missing per-instance attributes that could cause invisible towers/VFX.
-
Economy Consistency
- Level-up gold cost is now computed from config:
- Level 1 → 2: 500
- Level 2 → 3: 1000
- …and so on from ECONOMY_CONFIG
- Removed reliance on event-provided goldCost for the deduction (kept for backward compat).
- Base income per second now uses the config value: 1.
- Level-up gold cost is now computed from config:
Under the Hood
-
Instanced Rendering Across the Board
- Minions, projectiles, towers, and VFX now use instanced meshes with custom shaders.
- Per-instance UV offsets drive sprite animations; added per-instance opacity for death fades.
- Updated to Three.js 0.179.1 and set a high-performance GPU preference.
- Removed the old performance throttle — we’re seeing 60+ fps in typical matches.
[screenshot: large wave with crisp animations and stable framerate at 0cd4c9b]
-
Renderer/VFX Details
- Introduced a dedicated VFXInstancedRenderer for cleaner batching.
- Fixed VFX frame dimensions to use actual config values instead of assuming 32x32.
-
Match + Chain Integration
- Rendering pauses during blockchain catchup to avoid stutters, then resumes clean.
- Smart contract now stores the match creator for secure host validation.
What’s Still Broken
- Path Visualization While Placing: We’ve got a path preview in there, but it’s currently disabled while we smooth performance and readability. It’ll help you see route changes before you confirm a tower.
- Catchup Pauses: During long chain catchups, rendering pauses. It’s intentional for now. If your wave timer jumps after a long pause, let us know.
- Aura Clarity: The red glow is readable, but we’re still tuning intensity and edge cases where multiple auras overlap visually.
What’s Next
- Iterate on the aura system (more support effects, better UI indicators, and layering rules).
- Re-enable and polish the path visualization so reroutes are obvious before you commit.
- Keep tuning economy numbers now that income and costs are config-driven.
- More visual polish on beam origins and VFX timing under load.
Thanks for all the feedback on placement edge cases and sync issues — it helped narrow the fixes quickly. If you see weirdness with timers, auras not applying, or beams lingering, drop us a note with steps to reproduce.
[screenshot: clustered towers benefiting from the damage aura in a mid-wave skirmish at de3ddce]