godot-genre-tower-defense
Installation
SKILL.md
Core Loop
- Prepare: Build/upgrade towers with available currency
- Wave: Enemies spawn and traverse path toward goal
- Defend: Towers auto-target and damage enemies
- Reward: Kills grant currency
- Escalate: Waves increase in difficulty/complexity
NEVER Do (Expert Anti-Patterns)
Design & Strategy
- NEVER make all towers have the same niche; strictly ensure distinct specialties: Aura Slow, Armor Piercing, Anti-Air, Burst Sniper, and Splash Damage.
- NEVER allow a "Death Spiral" with no exit; strictly provide small comeback bonuses or interest on saved gold to prevent early inevitable failure.
- NEVER make early waves feel like busywork; strictly provide an "Early Call" bonus to skip wait times and accelerate engagement.
- NEVER trust client-side economy updates; strictly require the authoritative server to validate currency addition and tower purchases in co-op.
Pathing & Placement
- NEVER allow the player to "Seal" the exit in mazing games; strictly validate path existence with
NavigationServer2D.map_get_path()before finalizing tower placement. - NEVER use synchronous
bake_navigation_polygon()for mazing; strictly offload to a worker thread to prevent 100ms+ frame hitches during placement. - NEVER use global coordinates for grid logic; strictly convert to Vector2i/Vector3i to ensure pixel-perfect tower alignment.