# card-game

Скилл-плейбук для карточных игр: описывает карты как данные, разводит колоду и сброс по зонам, задаёт фазы хода и порядок разрешения эффектов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 6100 установок · ★ 4506
- Автор: gamedev-skills
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/HEAD/skills/genres/card-game/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/card-game

## Что делает

Скилл включается, когда основные объекты игры — карты, которые переходят между зонами: колода, рука, стол, сброс. Агент получает модель зон с правилом «карта лежит ровно в одной зоне», добор с перетасовкой сброса и список обязательных систем: стоимости, ресурсы, фазы, условия победы. Карты описываются как данные: у каждой есть `id`, `cost`, `type` и список `effects`, который разбирает один интерпретатор.

Ход разложен на фазы `untap`, `draw`, `main`, `combat`, `end`. Фиксированный порядок снимает споры о том, когда срабатывают триггеры. Розыгрыш карты атомарный: сначала проверка стоимости и целей, потом списание ресурсов, перемещение карты и разрешение эффектов. Провалилась проверка — зоны и ресурсы остаются как были. Типовые поломки: карта в двух зонах сразу, забытая перетасовка, нет лимита руки.

Если планируются реплеи или отмена хода, глобальный генератор движка не годится: состояние сидированного RNG сохраняют вместе с прогоном. Границы диапазона тоже кусаются — `randi_range(a, b)` в Godot включает `b`, а `Random.Range(int, int)` в Unity верхнюю границу отбрасывает. Из-за этого часть порядков перестаёт выпадать. Ассеты карт и раскладку руки скилл не трогает: за них отвечают `godot-resources`, `unity-scriptableobjects` и `godot-ui-control`.

## Требования
- Работает с: Unity, Godot

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill card-game -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/card-game/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/card-game/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill card-game -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/card-game/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill card-game -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/card-game/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install gamedev-skills/awesome-gamedev-agent-skills card-game
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/card-game/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill card-game -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/gamedev-skills/awesome-gamedev-agent-skills --path skills/genres/card-game
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/card-game/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill card-game -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/HEAD/skills/genres/card-game/SKILL.md

## Когда брать
- разложить карты по зонам без дублей и потерь
- собрать добор с перетасовкой сброса на пустой колоде
- описать эффекты карт данными и одним интерпретатором
- выстроить фазы хода и порядок срабатывания триггеров
- сделать розыгрыш карты атомарным при отмене выбора цели

## Примеры запросов агенту
- Сделай карточную игру на Godot: колода, рука, сброс, добор с перетасовкой и стоимости карт.
- Опиши карты как данные с эффектами `damage` и `heal` и напиши один интерпретатор эффектов.
- Разбей ход на фазы `untap`, `draw`, `main`, `combat`, `end` и добавь лимит руки.

## Похожие
- [make-game](https://affpapa.org/nevibecode/skills/make-game.md) — скилл · 1100 установок
- [game-development](https://affpapa.org/nevibecode/skills/miles990-game-development.md) — скилл · 410 установок
- [godot-genre-card-game](https://affpapa.org/nevibecode/skills/godot-genre-card-game.md) — скилл · 371 установка
- [asset-audit](https://affpapa.org/nevibecode/skills/asset-audit.md) — скилл · 469 установок
- [reverse-document](https://affpapa.org/nevibecode/skills/reverse-document.md) — скилл · 461 установка
- [iphone-duo-games](https://affpapa.org/nevibecode/skills/iphone-duo-games.md) — скилл · 427 установок

Из того же набора: [gamedev-skills/awesome-gamedev-agent-skills](https://affpapa.org/nevibecode/by/gamedev-skills/awesome-gamedev-agent-skills.md) — 77 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
