Period: August 30, 2025 Total Commits: 4
Daily Dev Update: Hot Rocks and Hotter Flames - August 30, 2025
Hey, here’s what we’ve been working on today. Short version: three new area-control towers, some much-needed projectile plumbing, and a pass on income fairness that should help PvP feel less swingy.
What’s New
-
Earth Tower (AOE stun control)
- Throws boulders that damage and stun on impact.
- Stun radius scales roughly 1–2.5 tiles, with duration from 1–2.5s based on level.
- Ground-only. Good for setting up kill zones and buying time for your backline.
- Gameplay tip: Pair Earth in front with Fire behind to capitalize on clustered, stunned targets.
[screenshot: boulder impact with stun VFX at 189a80b]
-
Fire Tower (Volcano-style AOE burst)
- Six levels, focused on consistent splash damage to ground units.
- AOE radius around 1.5 tiles; damage ranges from 260 up to 9400 at top end.
- Uses a fireball projectile with an explosion VFX on impact.
- Works best against packed lanes or when Earth is already clumping enemies.
[screenshot: volcano fireball explosion on clustered minions at 2ecc239]
-
Flamethrower Tower (continuous AOE beam)
- New “single persistent projectile” that sticks to the tower and applies continuous damage in a cone.
- Includes a 16-frame detonation animation and turns with the tower so it lines up cleanly.
- Flame stops when there’s no target, so you won’t see random licking fire with nothing in range.
- Great for area denial on chokepoints and finishing off low-health packs.
[screenshot: new flamethrower cone with continuous damage at 827a546]
-
UI bits
- Bottom bar now loads towers/minions from config dynamically. Less manual maintenance, more consistency when new content lands.
- HUD income uses the simulation’s income source directly, so it reflects what you’re actually earning.
[screenshot: HUD income display using sim core values at 32e6ee8]
What Got Fixed
-
Projectile and VFX
- Standardized projectile speed interpretation (100 = 1 tile/sec) so travel times match minion speeds.
- Smoother mortar arcs with cached start values; removed that jitter on long throws.
- Instanced renderer now supports frame-by-frame detonation animations; cleaner VFX timing.
- Sprite sheet dimensions are now read from config for proper UV mapping.
- Bullet spawn offset rotates with tower angle; reduced “misaligned muzzle” moments.
- Coordinate system corrected (0° = West) so directional effects like the flamethrower line up with aim.
- AOE effects now respect each tower’s movement-type filters.
-
Economy and fairness
- Bots now use fixed-point math for gold to avoid rounding weirdness.
- Income only counts minions you placed. No more inflated income from ally spawns or edge cases.
- HUD pulls from the same income source the sim uses, so what you see is what you get.
-
Stability and edge cases
- Fixed a negative block number issue in the client/bot reader that could lead to inconsistent timing.
- Cleaned up projectile type detection for towers with level-based AOE.
What’s Still Broken
- Balance on the new towers is a first pass. Stun chaining from Earth can feel oppressive on small maps. We’ll tune durations, radii, and cooldowns after we collect more data.
- Continuous-damage visuals on the flamethrower are new. There may be occasional hiccups when a target drops out of range mid-frame; we’re watching for edge cases where damage ticks linger a frame too long.
- VFX timing on slower machines can drift slightly on heavy waves (lots of explosions at once). We’re profiling the animation path and will trim cost where we can.
- Ground-only targeting for Earth/Fire is intentional, but it leans counterplay toward flying units. That’s fine for now, just calling it out so you’re not surprised.
Under the Hood
-
Config and systems
- Fire and Earth tower (and their projectiles) converted from JS to TypeScript for clearer typing and faster iteration.
- Tower config now supports per-level bullet modifiers like AOE and stun, so scaling is defined in one place.
- Projectile system gained support for “singleBullet,” “attachedToTower,” and “instantDetonate” to enable continuous-damage effects like the flamethrower.
- Added “targetsLocation” and “dontDamageTarget” options to handle blasts that pop at a point without double-dipping the primary target.
-
Rendering and movement
- Instanced renderer updated for multi-frame detonation animations.
- UV mapping reads from sprite sheet dimensions, cutting down on off-by-one artifacts.
- Mortar/boulder movement uses linear interpolation with cached baselines for smoother arcs.
-
UI and bots
- HUD income now reads from the same function the sim uses, removing drift between display and reality.
- Bot gold accounting moved to fixed-point; fewer rounding desyncs and cleaner replays.
What’s Next
- A balance pass on Earth stun durations and Fire damage thresholds, tuned around PvP pacing.
- Flamethrower polish: cone width, tick cadence, and turn-speed so it’s strong up close without erasing entire lanes.
- Performance tuning on VFX-heavy moments (pooling, batching, and a couple cheap wins in the animation path).
- More clarity in tooltips and status icons so you can read stun/slow/burn states at a glance.
Thanks for all the feedback. If you find a combo that feels busted (or useless), let us know which towers, levels, and map you used. It helps us tune faster.