genre

Use when

Designing a game where the fun is reading enemy perception and routing through it, not out-shooting it.

Stealth

What it is. Guards with legible vision cones and noise radii patrol a space. You are weak in the open and safe in the seams. The game is a live routing puzzle: read perception, find the gap, move through it, don’t be seen.

Player fantasy / why it’s fun. “I threaded the needle.” The held breath of slipping behind a guard whose cone you watched, timing your dash to the exact beat his back turns. Power fantasy inverted: you win by being unseen, and the world is more dangerous than you.

Pillars

  1. Perception is legible. Cones, hearing radii, and alert states are drawn or inferable. The player plans against visible danger — a threat you can’t read is a cheap death, not tension (FUN.md §5 demands both-ways affordance proofs).
  2. Concealment actually conceals. Shadows hide, cover blocks sight, a distraction pulls a gaze — reliably, through a full patrol loop. If hiding is a coin flip, planning is pointless (pillar 1’s dual).
  3. Exposure is punished fast. Being seen escalates quickly — an alert, a hunt, a fail-or-flee. The knife-edge between hidden and caught is where the genre lives.

The loop stack

ScaleThe loop
MomentWatch a cone sweep; time a move through the gap it leaves.
EncounterCross one guarded room: read the patrol, find the safe pocket, chain single-guard windows.
SessionA level/heist: string encounters into a route to an objective and back out.
MetaOptional ghost (0-alert) runs, alternate routes, tools that reshape perception — mastery of the space.

Essential systems

SystemWhy it’s needed
system-enemy-aiPatrols, gaze, alert-state escalation, aggro/threat — readable, beatable minds; the danger is the AI.
system-telegraphsThe alert ramp (suspicion → search → chase) must be telegraphed so the player can react before it’s terminal.
system-encounter-designComposing cones and pockets; the safe-pocket-at-midpoint and chained-single-guard rules live here.
system-save-and-checkpointGetting caught should rewind to a fair, recent checkpoint — long re-stealth is punishment tax, not tension.
system-onboardingTeach cone-reading and noise in a no-fail room before the first real guard.
system-difficulty-and-ddaDifficulty = cone density and window tightness; assist options widen windows or slow patrols.

Content & difficulty model

Reference wiring: examples/veilstep — the canonical stealth sim: cones drawn from world.state, the heist-bot 0-alarm run plus the punished-exposure and concealment-holds proofs. Grep docs/API.md for the raycast/FOV and audio primitives.

Signature-mechanic seeds

“X but Y” (process-the-twist) — bend what perceives you or what you control.

Common pitfalls

Anchors

Verify

Prove it with FUN.md §5 · Stealth — heist bot 0-alarm run + a punished-exposure assertion + a concealment-holds assertion, balanced on cone-shadow duration with a midpoint pocket per long traversal. Design the plannable danger here; prove both affordances there.

Composes with

See also

This module rendersthe repo's markdowndirectly — edit it there, it changes here.