Period: December 29, 2025 Total Commits: 11
Daily Dev Update: Roads, Castles, and Cleaner PvP - December 29, 2025
Hey, here’s what we’ve been working on today. The focus was tightening PvP balance on road maps, getting bots to make smarter choices, and cleaning up a handful of UI and pathing issues. Nothing flashy, just a set of changes that should make matches feel fairer and more readable.
What’s New
-
Road-map balance pass
- We added a straightforward rule: minions spawned on road maps now have a -25% health modifier. Shorter, constrained paths were giving attackers too much effective HP over time; this levels that out without touching your builds on mazing maps.
- You’ll see this clearly in the UI as “Road Map -25%” on minion and spawn panels. No surprises.
-
Final castle visuals and readability
- Final/main castles now use an ornate sprite with proper team tinting to match your color.
- We adjusted size, offsets, and pushed the health bar up so it doesn’t get lost behind the new silhouette.
-
PVP-only maps separated from singleplayer
- We introduced a clear PVP game mode and filtered those maps out of the singleplayer browser. This keeps solo runs clean and makes it obvious what’s built for head-to-head.
- The level editor has a simple PVP toggle, and a few maps were updated to use it.
-
Hoppers mode polish
- We now apply map-defined starting gold and base income consistently, so openings are predictable across lobbies.
- On castle capture, built towers now refund appropriately. This reduces snowball pain and keeps matches from stalling after a swing.
What Got Fixed
-
No more path blocks next to water
- On certain maps with water barriers, it was possible to hard-block access to a castle. Path validation now correctly treats water as impassable, on both client and server. You still get to be clever with placements, just not fully seal routes with terrain exploits.
-
Spawn icons visible on big road maps
- Spawn markers could get buried under roads on larger grids. We reworked render ordering and added a dedicated road layer so icons sit where they should.
-
Lobby links behave for new players
- If someone joins from a direct lobby link, they now land in the right place after login instead of being dropped into the tutorial. It remembers where you were trying to go and gets you there.
-
Smarter bot tower choices on road maps
- Bots won’t buy wall towers on road maps anymore (they can’t block paths there, so it was just wasted gold).
- On-path trap towers (like spikes/wind) get placed on the road as intended; standard towers avoid the road tiles. This aligns bot behavior with how human players already min-max road layouts.
Under the Hood
-
Maze planning that actually follows the fight
- The maze planner now considers multiple adjacent build spots and feeds them into our gold-flow heuristic, which picks based on minion traffic. The practical effect: bots start building where minions actually pass, not behind their own castles. Feels a lot less “why are you doing that?”
-
Safer, shared path validation
- We pass terrain data (like water tiles) into the shared validator across client and server. Fewer edge cases, more consistent “you can’t place that” checks.
-
Render pipeline cleanup
- We adjusted how we compute render order to avoid negative values on large maps and gave roads explicit layer/z settings. That stabilized visual stacking across the board.
-
Cleaner onboarding and analytics
- We simplified tutorial event tracking into a tidy funnel and queue events until the client is ready. Also added a “Leave Game” option in the tutorial that goes straight to the menu if you don’t want the walkthrough.
- Tests were updated to skip onboarding during automation, which speeds up our runs and reduces flakiness.
Thanks for the reports on water-path blocks and road-map balance. Keep sending match replays where something feels off; those are gold for tuning.