К основному содержанию
скилл CX Codex

tower-defense — скилл для Claude Code: что делает и как установить

Плейбук для игр в жанре tower defense: маршруты врагов, волны, автонаведение башен, золото и жизни. Пригодится, когда нужно собрать цикл волн или выровнять баланс.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill tower-defense -a claude-code
Открыть на GitHub

Что делает tower-defense

Скилл описывает цикл tower defense: игрок ставит и улучшает башни на золото, запускает волну, враги идут по маршруту к цели, башни сами выбирают цель и стреляют, за убийства капает золото. Внутри — список обязательных систем: путь по путевым точкам или сетка с поиском пути, спавнер волн по таймеру, параметры башен, приоритеты наведения, экономика и жизни. Плюс таблица настроек баланса и разбор частых поломок.

Волна подаётся как данные: список троек «тип врага, количество, интервал», а не хардкод. Наведение сначала отбрасывает врагов за пределами радиуса, потом берёт одного по режиму — первый, последний, ближайший, самый сильный, самый слабый. Есть и прикидка «выдержит ли коридор»: урон в секунду умножается на время в радиусе и сравнивается с запасом здоровья врага.

Поиску пути скилл не учит: за A*, flow field и steering отправляет к game-ai. Движение вдоль пути, тайлмап, данные башен и виджеты HUD берутся из соседних скиллов набора. Если делаете maze TD, где башни перекрывают проход, готовьтесь пересчитывать пути после каждой постановки, иначе волна застрянет. Математика баланса лежит в references/balancing.md.

Какие задачи решает

  • собрать цикл волн с золотом и жизнями
  • задавать волны данными, а не хардкодом таймеров
  • добавить башням режимы приоритета цели
  • подкрутить рост здоровья врагов против дохода игрока
  • убрать софтлок в maze TD, где башня перекрывает путь

Примеры запросов агенту

  • Собери прототип tower defense: враги идут по путевым точкам, башни наводятся сами, есть золото и жизни.
  • Почему игра быстро становится слишком лёгкой? Перебери кривые здоровья врагов и дохода.
  • Добавь башням выбор приоритета цели и предпросмотр следующей волны.

Как установить tower-defense

1Через Skills CLI (Vercel)

npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill tower-defense -a claude-code

2Вручную: положить файлы

~/.claude/skills/tower-defense/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/tower-defense/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о tower-defense

Как установить tower-defense в Claude Code?

Выполните npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill tower-defense -a claude-code. Скилл окажется в ~/.claude/skills/tower-defense/SKILL.md.

Что делает tower-defense?

Описывает системы игры в жанре tower defense и связки между ними: маршрут, спавнер волн, наведение башен, экономику, жизни и HUD подготовки. Отдельно разбирает ручки баланса и типичные ошибки вроде монолитной сложности или одного выигрышного билда.

Когда скилл не подойдёт?

Если игрок сам управляет стрельбой, нужен fps-shooter, а для свободной стройки базы с потребностями — survival-crafting. Сам алгоритм поиска пути разбирает game-ai.

Исходный текст

SKILL.md · Apache-2.0
---
name: tower-defense
description: >
  Build a tower defense: enemies pathing along lanes, wave spawning, towers that auto-target and fire,
  an economy, and lives. Use for a tower-defense/wave-defense game, or balancing waves and economy.
---

# Tower Defense

A playbook for tower defense — enemy pathing, wave spawning, tower targeting, and the
economy that ties them together. This is a **compositional** skill: it orchestrates pathing,
AI, and UI into a TD loop. It does not re-teach pathfinding; it defines the systems and the
balance levers (DPS vs. HP vs. income) that decide whether a TD is tense or trivial.

## When to use

- Use when building a game where the player **places towers** that automatically attack
  **waves of enemies** following a path, spends earned currency to expand/upgrade, and loses
  if too many enemies leak through.
- Use when designing wave composition/pacing, tower targeting priorities, or the gold economy.

**When _not_ to use:** the player directly controls a shooter → `fps-shooter`. Free-form base
building with needs → `survival-crafting`. For the pathfinding algorithm itself, use `game-ai`.

## Core loop

**Prepare (place/upgrade towers with current gold) → start the wave → enemies path toward the
goal while towers auto-fire → earn gold from kills → survive the wave → repeat against a
harder one.** The tension is a planning puzzle: is my current DPS enough for what's coming,
and can I afford the answer?

## Must-have systems

1. **Enemy path** — waypoint lanes, or grid + pathfinding for maze TD (refs).
2. **Wave spawner** — timed, scripted sequences of enemy types with per-wave scaling.
3. **Towers** — range, fire rate, damage, projectile/hitscan, splash; placement validity.
4. **Targeting** — per-tower priority (first/last/closest/strongest/weakest) (refs).
5. **Economy** — gold from kills + wave bonuses; tower/upgrade costs; sell refund.
6. **Lives / leak** — enemies reaching the goal cost lives; 0 = game over.
7. **Wave/prep UI** — lives, gold, next-wave preview, start-next-wave control.

## Design knobs

| Knob                      | Effect                  | Notes                                    |
| ------------------------- | ----------------------- | ---------------------------------------- |
| Enemy HP growth/wave      | upgrade pressure        | Geometric ~1.1–1.2× (refs).              |
| Income vs. HP curves      | difficulty              | Player should _almost_ afford each wave. |
| Tower DPS / range / cost  | tower identity          | Cheap+wide vs. expensive+tall.           |
| Targeting priority        | optimal placement       | Changes play more than raw stats.        |
| Enemy variety             | counters one-build wins | Fast / armored / flying / swarm / boss.  |
| Leak penalty              | stakes                  | Cost lives _and_ lost bounty.            |
| Upgrade vs. build economy | strategy depth          | Diminishing upgrade returns.             |
| Wave pacing               | tension curve           | Spike → breather → spike, not monotonic. |

## Patterns

### 1. Wave spawner (timed, data-driven)

```python
# Pseudocode. A wave is data: a list of (enemy_type, count, spacing). Spawn over time.
wave = [ ("grunt", 10, 0.5), ("runner", 5, 0.3), ("tank", 2, 1.0) ]

def run_wave(wave):
    for enemy_type, count, spacing in wave:
        for _ in range(count):
            spawn_enemy(enemy_type, at=path[0])   # enter at the path start
            wait(spacing)                          # seconds between spawns (use a timer/coroutine)
    # wave clears when all spawned enemies are dead or have leaked
```

### 2. Tower targeting (filter to range, then pick by priority)

```python
# Pseudocode. "First" (furthest along path) is the standard default for stopping leaks.
def acquire_target(tower, enemies, mode="first"):
    in_range = [e for e in enemies if distance(tower.pos, e.pos) <= tower.range]
    if not in_range: return None
    if mode == "first":    return max(in_range, key=lambda e: e.progress)   # furthest along path (stop leaks)
    if mode == "last":     return min(in_range, key=lambda e: e.progress)   # least progress (guard the entrance)
    if mode == "closest":  return min(in_range, key=lambda e: distance(tower.pos, e.pos))
    if mode == "strongest":return max(in_range, key=lambda e: e.hp)         # burn down tanks first
    if mode == "weakest":  return min(in_range, key=lambda e: e.hp)         # secure kills / last-hit bounty
    return in_range[0]
```

### 3. "Can this lane hold?" sanity check (DPS vs. HP)

```python
# Pseudocode. One tower's damage to one enemy crossing its range.
tower_dps     = tower.damage * tower.fire_rate
time_in_range = tower.range_coverage_length / enemy.speed
damage_dealt  = tower_dps * time_in_range
# Lane holds if summed damage_dealt from covering towers >= enemy.hp (per enemy). See refs.
```

## Pitfalls / failure modes

- **Enemy HP scales slower than player income/DPS** → game trivializes after a few waves.
  Tune the HP curve against the income curve (refs).
- **One dominant tower/strategy** → no decisions. Add enemy types that hard-counter builds
  (armored vs. rapid-fire, flying vs. ground-only) and diminishing upgrade returns.
- **Maze TD that can fully block the goal** → enemies get stuck/softlock. Forbid placements
  that sever the path for the spawn or for any enemy already walking; recompute paths when
  towers change (refs §1).
- **Fast enemies slow down at corners or skip waypoints** → per-step movement stops at each
  waypoint or overshoots it. Carry the leftover distance to the next waypoint (refs §1).
- **No next-wave telegraph** → specials feel random and unfair. Preview upcoming composition.
- **Per-frame movement unscaled by `dt`** → speed varies with frame rate. Scale steering by `dt`.
- **Leaks only cost lives, not gold** → leaking is sometimes optimal. Make leaks lose bounty too.
- **Monotonic difficulty ramp** → exhausting. Pace spikes and breathers.

## Composition (build it from these skills)

- **Pathing:** `game-ai` for A\*/flow-field/steering; for fixed lanes, simple waypoint following.
- **Enemy movement:** `godot-2d-movement` (or engine equivalent) to move along the path; `unity-navmesh` for nav-based pathing.
- **Map:** `godot-tilemap` / `unity-tilemap-2d` for the grid/lanes; `level-design` for map layouts.
- **Data:** `godot-resources` / `unity-scriptableobjects` to define towers, enemies, and waves as assets.
- **UI:** `game-ui-ux` for HUD layout, scaling, and the build menu; `godot-ui-control` for the concrete widgets (lives, gold, wave preview).
- **Polish:** `audio-design` for fire/hit/leak sound cues.

## References

- For path representations (waypoints / A\* / flow fields), targeting modes, DPS and economy
  math, enemy scaling, and wave pacing, read `references/balancing.md`.

© gamedev-skills · Apache-2.0 · gamedev-skills/awesome-gamedev-agent-skills

Похожие скиллы

Всё по теме «Геймдев и 3D: Unity, Unreal, Godot, Blender» →
defense-in-depth-validation secondsky Скилл учит агента ставить проверки данных на всех слоях, чтобы баг стал структурно невозможным. Пригодится, когда невалидные данные ломают выполнение глубоко в коде. CX Codex +1 413установок prompt-injection-defense devops-skills Скилл помогает защитить LLM-приложения от прямых и непрямых инъекций промптов. Пригодится при настройке RAG-пайплайнов и субагентов с доступом к вызову инструментов. CX Codex +1 372установок msw-scripting MSW-Git Скилл помогает писать скрипты .mlua для MapleStory Worlds, соблюдая архитектуру компонентов и пространств выполнения. Пригодится при разработке игровой логики и отладке в MSW. CX Codex +1 9 900установок msw-general MSW-Git Базовый скилл для разработки в MapleStory Worlds: общие инструменты, правила платформы и шаблоны моделей. Остальные скиллы MSW на него опираются. CX Codex +1 9 900установок unity-package-management Unity-Technologies Управляет пакетами UPM из терминала через команды Pipeline или запасной C#-скрипт. Пригодится при настройке зависимостей Unity без открытия графического окна. CX Codex +1 7 300установок pixijs pixijs Маршрутизирует задачи по PixiJS v8 к специализированным инструкциям рендеринга и сцены. CX Codex +1 6 900установок

Из того же набора77

fps-shooter Помогает спроектировать шутер от первого лица: управление, стрельбу, оружие, здоровье и ИИ противников. Нужен при настройке ощущения прицеливания, отдачи и разброса. CX Codex +1 6 100установок roblox-luau Скилл помогает писать Luau-скрипты для Roblox: работать с сервисами, создавать Instances, подключать события и настраивать безопасное взаимодействие между клиентом и сервером через RemoteEvents. CX Codex +1 6 100установок visual-novel Плейбук для визуальных новелл: ветвящийся сценарий, показ персонажей и фонов, выборы, сохранения, журнал, пропуск и авто-режим. CX Codex +1 5 900установок unity-csharp-scripting Помогает писать скрипты MonoBehaviour под Unity 6.3 LTS, настраивать жизненный цикл компонентов, сериализацию инспектора и корутины без просадок FPS. CX Codex +1 5 900установок survival-crafting Плейбук для survival-игр: петля добычи, крафта и стройки, голод с жаждой и температурой, тиры инструментов. Даёт псевдокод узлов и разбор настроек, на которых петля ломается. CX Codex +1 6 000установок godot-csharp Скилл для написания игр на C# в Godot 4.7 с поддержкой частичных классов, lifecycle-методов, Export-полей, сигналов как событий C# и взаимодействия с GDScript. Нужен Godot .NET build и .NET SDK 8+. CX Codex +1 5 900установок godot-multiplayer Настраивает сетевой мультиплеер в Godot 4.7 через ENet, аннотации @rpc, репликацию узлов и разграничение authority между сервером и клиентами. CX Codex +1 5 900установок steam-publish Скилл ведёт релиз игры в Steam по шагам: депоты и пакеты, загрузка через steamcmd, ветки, чек-листы ревью. Нужен, когда билд готов, а магазин и релиз ещё нет. CX Codex +1 5 900установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой