Daily Dev Update: Eight-Team FFA and Single-Board Showdowns - December 9, 2025
Period: December 9, 2025
Total Commits: 20
Hey — here’s what we’ve been working on. The headline is full multi-team support (A–H) across the game and a new single-board FFA mode. We also chased down a bunch of FFA edge cases, cleaned up tower targeting on large maps, and tightened up the UI so team info is always clear. It’s getting sturdier; still some rough edges we’re smoothing out.
What’s New
-
Eight-team support across the stack
- Teams A–H now flow through gameplay, UI, rendering, and the server.
- Winning team displays use letters consistently, and team colors are unified across the HUD, lobby, and game.
- Castle and unit visuals use tinting so everything stays readable with eight distinct teams.
-
Single-board FFA mode (one shared battlefield)
- All teams fight on a single grid with one pathfinder and one rendered board.
- We hide the minimap and disable view switching here to reduce confusion.
- Spawns, castles, towers, minions, and projectiles all render together; placement and pathing logic run against the shared space.
- Bots understand this layout and bias spawns toward enemy castles instead of default edges.
[screenshot: single-board FFA brawl with 6+ team colors at 8b7ed5a]
- Clearer team identity in the UI
- The Info Panel now shows owner and team tags for towers, minions, spawns, and castles.
- Team colors are applied consistently across HUD and menus.
- Lobby labels are simplified (e.g., “Team A”), colors are conveyed visually instead of in the text.
[screenshot: info panel with owner/team tags at b2f003d]
- Maps and editor updates
- All maps (and the tutorial) explicitly use the same base tileset for consistent visuals.
- “The Hunters” got castle position adjustments to fit FFA better.
- The level editor picked up collapsible sidebars for more canvas, better camera bounds for large maps, smoother water/grass painting, and deterministic grass variations.
[screenshot: level editor with collapsed sidebar and wide canvas at c89a260]
What Got Fixed
-
Targeting and visibility in FFA
- Towers now search across all teams and simply filter allies, which fixes the “A vs B only” blind spots in multi-team games.
- Minion positions are correctly updated for all eight teams, so towers don’t “lose” targets from teams C–H.
- Spawn markers in single-board FFA no longer vanish due to mismatched ownership/view logic.
-
Large map targeting (the 32-tile ceiling bug)
- We removed a hard Y-axis cutoff that was capping tower targeting at 32 tiles tall. Towers now respect the actual map height, so big maps behave correctly end-to-end.
-
Single-board flow polish
- Pathfinding now fully rebuilds for all minions when you place a tower in single-board mode.
- Tower placement checks the correct castle team, and multi-team targeting queries hit the right data structures.
- Spawn selection works across all teams by coordinates, which avoids false negatives when choosing spawn points.
-
Spawns and selection
- Minions from all eight teams can be selected; no more “invisible” teams in FFA.
- Spawn areas can be neutral (unowned) in FFA, and server-side validation respects that.
- Bots spread minion spawns across available areas instead of clustering.
-
Campaign and tutorial cleanup
- Tutorial spawns show up on the correct board again.
- Auto-spawn logic now targets the proper enemy castles.
- Campaign defeat triggers when your castle goes down; endless mode survival tracking is more reliable.
- Online games correctly load the chosen map schema for custom matches.
Under the Hood
-
Server and ruleset changes
- Teams are now determined from active players, and castles are generated per active team.
- Validation focuses on “2+ teams available” rather than specific slots, and co-op maps coalesce players into one team cleanly.
- We updated documentation to reflect the multi-team server architecture.
-
Rendering and assets
- We use one castle texture and tint per team for consistent visuals and lighter asset load.
- Materials for spawns, minions, towers, and fallback projectiles are created per team color.
- Input scanning and render passes iterate over all teams instead of hardcoding pairs.
-
Systems and tools
- Spatial data structures now respect actual map dimensions; no more hardcoded height limits.
- The pathfinder rebuild in single-board mode is more reliable.
- The level editor uses seeded randomness for grass, reduces water flicker, and resizes the canvas correctly with UI changes.
- Lobby team buttons cycle through valid teams based on map settings, using live colors.
As always, thanks for the bug reports and clips — a lot of today’s fixes came from folks pushing weird edge cases in FFA and big maps. If you still see towers skipping valid targets or spawns behaving strangely on shared boards, send us a timestamped replay and the map name and we’ll dig in.