Period: November 13, 2025 Total Commits: 13
TowerStorm Dev Update: Spawn-Safe Targeting, Smarter Paths
Hey, here’s what we’ve been working on today. Mostly fixing edge cases that impact PvP fairness, minion routing on road maps, and a few UI snags that made small screens tougher than they needed to be.
What’s New
-
Arrow keys for camera movement
- You can now pan the camera with ↑ ↓ ← → in addition to WASD. Nothing fancy, just more ways to move around comfortably.
-
Wave preview clarity upgrades
- Wave preview now shows all minion types correctly, including IDs with hyphens (e.g., healer-drone). No more missing or mislabeled icons.
- Added level indicators next to minion icons:
- Level 0: No stars
- Levels 1–3: Small gold stars (★, ★★, ★★★)
- Level 4: One big gold star
- Level 5: One big red star
- Count is right-aligned for cleaner scanning.
- Impact: faster reads and better planning before you hit Send Wave.
[screenshot: wave preview showing level stars and right-aligned counts at 6207132]
What Got Fixed
-
No more spawn “pre-firing”
- Towers now reliably ignore minions in spawn areas across all targeting paths (batch, beam, AOE). This was inconsistently enforced before. PvP feels cleaner and less cheesy at spawn edges.
-
Road-map retargeting jitters
- Minions that were already on a road sometimes glitched after their target castle died. We now detect when they’re on the road and path directly to the new castle without redoing the spawn-to-road step. Movement is smooth instead of stuttery.
-
Keep minions out of spawn zones once they leave
- During road-to-castle routing, spawn tiles are excluded so units don’t backtrack into spawns. This keeps flow forward and prevents odd detours.
-
Soul Eater ghost overshooting at fast speeds
- At high game speeds (e.g., 200%), ghosts could oscillate around the tower and never get consumed. We now check against the actual per-frame move distance, so it lands cleanly at any speed.
-
Duplicate gold popups in multiplayer
- Fixed duplicate +gold popups caused by multiple event listeners stacking during simulation swaps. Only one listener now, so one popup per kill as intended.
-
Reconnections show up properly
- When someone refreshes and comes back, everyone else now sees them reconnected. Previously they could look disconnected for the rest of the match.
-
UI on small screens plays nice
- Send Wave button is now reliably clickable on short landscape screens. The hidden top bar was still intercepting clicks; we tightened the visibility rules so it truly gets out of the way when hidden.
- Lobby sidebar and campaign browser now scroll correctly on small-height displays. Headers don’t compress; content scrolls as expected.
-
Projectiles no longer linger between matches
- We clear instance counts before disposing instanced renderers. No more brief appearances of old projectiles or VFX when starting a new game.
Under the Hood
-
Targeting consistency in batches
- The batch targeting pass used by most towers now includes spawn checks just like the other targeting paths. This aligns performance-friendly targeting with the rules players expect.
-
Pathfinding clarity for devs
- Documented the minion path system (spawn → road → castle; normal maps; flow fields vs A*; and when we exclude spawns). Makes future fixes faster and reduces regressions.
-
Smaller quality-of-life tweaks
- Singleplayer text is clearer: “Waiting for player to start wave.”
- Count alignment and minion ID parsing in the wave preview are corrected so hyphenated IDs aren’t truncated.
Thanks for the reports and clips that pointed us to these edge cases. Keep sending them—especially anything around pathing and spawn boundaries. It’s getting tighter.