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

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

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

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

Что делает roguelike

roguelike задаёт цикл игры: игрок делает ход, мир отвечает своим ходом, состояние обновляется. Вокруг этого каркаса скилл расставляет системы, из которых складывается забег. Работает он как надстройка: процедурную генерацию, тайлмапы, сохранения и ИИ связывает в одну игру, а шум, ГПСЧ и API тайлмапов оставляет тем скиллам, где это уже разобрано.

Внутри по порядку разобраны обязательные узлы: энергетический планировщик, чтобы быстрые актёры ходили чаще, сетка с передвижением и ударом на столкновение, генератор комнат и коридоров, поле зрения с памятью об увиденном, бой по общим правилам для игрока и монстров, взвешенные таблицы лута с поправкой на глубину, permadeath с отдельным профилем разблокировок и журнал сообщений. Про зрение у скилла твёрдая позиция: симметричный shadowcasting, потому что наивный raycast даёт слепые зоны, а классический рекурсивный метод асимметричен — монстр видит вас, а вы его нет. В python-tcod это compute_fov с FOV_SYMMETRIC_SHADOWCAST.

Это не универсальная заготовка. Экшен в реальном времени с рогаликовым антуражем сюда не влезает, его собирают из жанра действия и procedural-gen; квесты и статы без permadeath уходят в rpg, открытый мир с крафтом в survival-crafting. Ещё один капкан из списка ошибок: после генерации нужен flood-fill, иначе часть комнат останется недостижимой. В Claude Code файл скилла ложится в ~/.claude/skills/roguelike/SKILL.md.

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

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

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

  • Собери рогалик на Python: пошаговое движение по сетке, процедурные подземелья, permadeath. Иди по списку систем из скилла roguelike.
  • Добавь энергетический планировщик хода и таблицы лута по глубине, как описано в скилле roguelike.
  • Пересчитывай поле зрения на каждом ходу и притуши уже увиденные клетки. Нужен симметричный shadowcasting, как советует roguelike.

Как установить roguelike

1Через Skills CLI (Vercel)

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

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

~/.claude/skills/roguelike/SKILL.md

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

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

Вопросы о roguelike

Как установить roguelike в Claude Code?

Выполните npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill roguelike -a claude-code. Файл появится по пути ~/.claude/skills/roguelike/SKILL.md.

Что делает скилл roguelike?

Собирает цикл рогалика: ходы по энергии, генерация подземелья, поле зрения, бой, лут и permadeath. Готовые части вроде тайлмапов и сохранений он связывает в одну игру, но не переписывает их.

Когда roguelike не подходит?

Для экшена в реальном времени с рогаликовым антуражем нужен жанр действия плюс procedural-gen, для квестов и статов без permadeath есть rpg, для открытого мира с крафтом survival-crafting. ГПСЧ и API тайлмапов скилл не объясняет.

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

SKILL.md · Apache-2.0
---
name: roguelike
description: >
  Build a roguelike: turn-based grid movement, procedural dungeons, permadeath, field-of-view,
  and loot tables. Use for a roguelike/roguelite or turn-based grid dungeon crawler with procedural levels.
---

# Roguelike

A playbook for roguelikes — the turn engine, procedural dungeons, field-of-view, permadeath,
and run economy. This is a **compositional** skill: it orchestrates procedural generation,
tilemaps, save handling, and AI into a run-based game. It does not re-teach noise/RNG or
tilemap APIs; it defines the loop and the systems that make a *run* compelling.

## When to use

- Use when building a **turn-based, grid-based** dungeon crawler where each death ends the
  run and the world is regenerated — a roguelike or "roguelite" (with meta-progression).
- Use when designing procedural dungeons, FOV/fog-of-war, permadeath stakes, or loot tables.

**When *not* to use:** real-time action with roguelike *dressing* → build the action genre
(`platformer`/`fps-shooter`) and layer `procedural-gen`. Deep stats/quests/dialogue without
permadeath → `rpg`. Open-world needs/crafting → `survival-crafting`.

## What makes it a roguelike (design anchor)

The community reference is the **Berlin Interpretation** (RogueBasin, IRDC 2008): a set of
"roguelikeness" factors, not a checklist. The high-value ones are the design targets:
**random environment generation, permadeath, turn-based, grid-based, non-modal** (all actions
in one mode), **complexity** (many item/monster interactions), **resource management**,
**hack-and-slash**, and **exploration & discovery**. Lean into these to feel roguelike; pick
which to keep deliberately. "Roguelite" usually relaxes permadeath with meta-progression.

## Core loop

**Take a turn (move / fight / use) → the world resolves its turn → see new state → descend /
loot / survive → die and restart with a fresh dungeon.** Replayability comes from the *world*
changing each run, not the player memorizing a fixed layout.

## Must-have systems

1. **Turn scheduler** — energy/initiative system so fast actors act more often (Pattern 2).
2. **Grid map + movement** — tile coordinates; bump-to-attack; blocked/walkable queries.
3. **Procedural dungeon generator** — rooms + corridors, or BSP/cellular; guarantee connectivity.
4. **Field of view + explored memory** — what's visible now vs. seen-before (Pattern 3 / refs).
5. **Combat + entities** — HP, attack/defense, status; monsters obey the same rules as the player.
6. **Loot + drop tables** — weighted, depth-scaled item/monster spawning (refs).
7. **Permadeath + (optional) meta-progression** — wipe the run; persist only unlocks/score.
8. **Message log + clear UI** — the player reasons from text/state; surface numbers and events.

## Design knobs

| Knob | Effect | Notes |
|------|--------|-------|
| Dungeon size / room count | run length, density | Scale with depth. |
| Connectivity guarantee | no unreachable rooms | Always verify reachability after generation. |
| Monster density / depth curve | difficulty ramp | Spawn by depth-weighted table. |
| Loot rarity weights | power variance | Rarer = bigger swing; identify adds discovery. |
| FOV radius / lighting | tension, information | Smaller radius = scarier, slower. |
| Resource scarcity (food/HP/ammo) | pressure to descend | Core tension lever in classic RLs. |
| Permadeath vs meta-progression | run stakes vs. retention | Roguelite softens the wall. |
| Identification / unknowns | exploration value | Unidentified items reward experimentation. |
| Seedable RNG | daily runs, debugging | Always allow a fixed seed (see `procedural-gen`). |

## Patterns

### 1. Deterministic, seedable run RNG

```python
# Pseudocode. One seeded RNG per run makes dungeons reproducible (daily runs, bug repro).
run_seed = chosen_seed or random_seed()
rng = Rng(run_seed)                 # use your engine's seedable RNG, not global random
dungeon = generate_dungeon(rng, depth)   # same seed + depth => same dungeon
# Persist run_seed in the save so a crash can resume the same world (see save-systems).
```

### 2. Energy-based turn scheduler (speeds differ)

```python
# Pseudocode. Actors gain energy each tick and act when they have enough.
# Faster actors gain more per tick, so they act more often — no fixed "player then enemies".
TURN_COST = 100
def next_actor(actors):
    while True:
        for a in actors:                 # 1) serve anyone already ready, in a stable order
            if a.energy >= TURN_COST:
                a.energy -= TURN_COST    #    (or the cost of the action they choose)
                return a                 #    this actor takes exactly one action now
        for a in actors:                 # 2) nobody is ready: advance time for everyone at once
            a.energy += a.speed          #    e.g. speed 100 = normal, 150 = hasted, 50 = slowed
```

Grant energy to everyone in a separate pass. Adding it inside the same loop that returns the
first ready actor starves every actor after it: with two speed-100 actors, the first one acts
every time and the second never does.

### 3. Field of view + explored memory

```python
# Pseudocode. Recompute visibility from the player each time they move.
visible = compute_fov(map, player.pos, radius=8)   # symmetric shadowcasting (see refs)
for cell in visible:
    explored.add(cell)                  # remember it forever (dim "fog of war")
# Render: visible -> lit; explored-but-not-visible -> dim; never-seen -> hidden.
```

Use symmetric shadowcasting (refs §3): if you can see a monster, it can see you. Classic
recursive shadowcasting is fast but not symmetric, and a naive raycast per cell gives blind
spots and "blinking" vision. If a library is available, use its symmetric mode (python-tcod's
`compute_fov` takes `FOV_SYMMETRIC_SHADOWCAST` as its algorithm).

## Pitfalls / failure modes

- **Disconnected dungeons** → rooms the player can't reach. Always run a connectivity/flood-fill
  pass and carve corridors until every walkable cell is reachable.
- **Naive FOV** → vision that flickers or is asymmetric (you see them, they don't see you).
  Use symmetric shadowcasting and test symmetry (refs §3).
- **One actor never gets a turn** → energy granted inside the "find who is ready" loop
  (Pattern 2). Advance energy for all actors in its own pass.
- **Real-time loop pretending to be turn-based** → input races and double-moves. Resolve one
  discrete turn at a time; queue input.
- **Flat difficulty** → no descent pressure. Scale monsters/loot by depth and keep resources scarce.
- **Permadeath that wipes meta-unlocks** → frustration. Separate *run* state (wiped) from
  *profile* state (unlocks, scores) when saving (see `save-systems`).
- **Save-scumming a "permadeath" game** → delete or invalidate the run save on load if you want
  true permadeath; keep only the profile.
- **Unreadable state** → the player can't plan. Show HP, turn results, and a message log.

## Composition (build it from these skills)

- **Generation:** `procedural-gen` (noise, seeded RNG, dungeon/room algorithms) — the engine of replayability.
- **Map rendering:** `godot-tilemap` / `unity-tilemap-2d` for the grid; `level-design` for set-piece rooms/vaults.
- **Enemies:** `game-ai` for monster decision-making (often simple on a grid: seek/flee/patrol).
- **Persistence:** `save-systems` for run-resume, profile/meta-progression, and true permadeath wipes.
- **Scripting/data:** `godot-resources` / `unity-scriptableobjects` to define items, monsters, and drop tables as data.
- **UI:** `godot-ui-control` for the message log, inventory, and HUD.
- **Feel:** `game-feel` for hit/death juice — screen shake and hit-stop that sell impacts on a turn-based grid.

## References

- For dungeon-generation algorithms (rooms-and-corridors, BSP, cellular automata, connectivity),
  FOV (shadowcasting), and weighted loot/spawn tables, read `references/generation-fov-loot.md`.

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

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

Всё по теме «Геймдев и 3D: Unity, Unreal, Godot, Blender» →
godot-genre-roguelike thedivergentai Архитектурный свод правил и готовые компоненты для сборки рогаликов на Godot. Помогает настроить процедурные уровни, сиды и разделение мета-прогрессии. CX Codex +1 429установок godot-turn-system thedivergentai Скилл задаёт агенту правила и шаблоны GDScript для пошаговых боёв в Godot. Он пригодится при сборке тактических сеток и расчёте инициативы. CX Codex +1 348установок ue-procedural-generation quodsoler Скилл для работы с PCG, рантайм-мешами и инстансингом в Unreal Engine 5.8. Пригодится, когда графы и геометрия строятся кодом. CX Codex +1 1 200установок shader-dev nexu-io Скилл передаёт агенту приёмы написания GLSL-шейдеров: ray marching, симуляцию жидкостей и процедурную генерацию. Помогает собирать визуальные эффекты и статичные кадры для промо-экранов. CX Codex +1 2 800установок threejs-towers MengTo Собирает пагоды, замки и купола из параметров вместо меш-файлов и показывает, как постройка растёт снизу вверх. CX Codex +1 1 200установок scenario-blender-geometry-nodes scenario-labs Скилл помогает создавать и отлаживать ноды Geometry Nodes в Blender через Python-скрипты. Он пригодится для процедурного моделирования, симуляций и физики версии 5.2. CX Codex +1 349установок

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

godot-signals-groups Настраивает слабосвязанную архитектуру в Godot 4.7 через типизированные сигналы и группы узлов. Помогает связать события сцен без жёстких ссылок и переписать вызовы со старого API Godot 3.x. CX Codex +1 6 200установок prototype-fast Скилл для геймдева: за жёсткий таймбокс собирает играбельный прототип одной механики и помогает решить, оставить её или выбросить. CX Codex +1 6 300установок godot-resources Скилл учит агента описывать игровые данные кастомными классами Resource с class_name и @export, сохранять их в .tres и грузить через ResourceLoader. CX Codex +1 6 000установок godot-2d-movement Настраивает 2D-перемещение персонажей в Godot 4.7 через CharacterBody2D. Пригодится при написании контроллеров платформера или top-down игры и починке метода move_and_slide(). CX Codex +1 6 100установок godot-3d-essentials Скилл для быстрой сборки 3D-сцен в Godot 4.7: размещение камер, источников света, окружения и материалов. Пригодится, если вы строите 3D-уровни или настраиваете освещение и постобработку. CX Codex +1 6 200установок godot-export Скилл настраивает экспорт проектов Godot 4.7 под десктоп и Web. Помогает подготовить сборку для CI в headless-режиме и избежать ошибок с путями. CX Codex +1 6 200установок godot-audio Настраивает воспроизведение, микширование и синхронизацию звука в Godot 4.7. Пригодится для музыки, SFX, аудиошин и ритмических событий. CX Codex +1 6 200установок platformer Помогает спроектировать механику 2D-платформера: настроить тайминги прыжка, буфер ввода, coyote time и поведение платформ. CX Codex +1 6 000установок

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

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