From workflows
Provides design patterns for building roguelike games: turn-based grid movement, procedural dungeons, permadeath, field-of-view, and loot tables. Useful for roguelikes/roguelites or turn-based grid dungeon crawlers.
How this skill is triggered — by the user, by Claude, or both
Slash command
/workflows:roguelikeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A playbook for roguelikes — the turn engine, procedural dungeons, field-of-view, permadeath,
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 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.
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.
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.
| 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). |
# 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).
# Pseudocode. Each actor gains energy each tick and acts when it has 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: # stable order avoids ties favoring one side
a.energy += a.speed # e.g. speed 100 = normal, 150 = hasted
if a.energy >= TURN_COST:
a.energy -= TURN_COST
return a # this actor takes exactly one action now
# 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 a proven FOV algorithm (recursive shadowcasting or symmetric shadowcasting). Do not roll a naive raycast-per-cell — it produces asymmetric, "blinking" vision. See refs.
save-systems).procedural-gen (noise, seeded RNG, dungeon/room algorithms) — the engine of replayability.godot-tilemap / unity-tilemap-2d for the grid; level-design for set-piece rooms/vaults.game-ai for monster decision-making (often simple on a grid: seek/flee/patrol).save-systems for run-resume, profile/meta-progression, and true permadeath wipes.godot-resources / unity-scriptableobjects to define items, monsters, and drop tables as data.godot-ui-control for the message log, inventory, and HUD.game-feel for hit/death juice — screen shake and hit-stop that sell impacts on a turn-based grid.references/generation-fov-loot.md.npx claudepluginhub gamedev-skills/awesome-gamedev-agent-skills --plugin gamedevInterviews you about game ideas, researches genre conventions, and produces an actionable MVP First Draft with starter project files. Use when starting a new game project from scratch.