genre

Use when

You want a reflex game where the fantasy is threading a wall of bullets that looks impossible but is fair.

Bullet Hell

What it is. A shoot-‘em-up where the screen fills with coherent bullet patterns the player threads on foot. The bullets are the level; your hitbox is a single pixel; the whole game is reading density as motion.

Player fantasy / why it’s fun. “I walked through a wall of death and it was gorgeous.” Danmaku turns raw panic into a dance — a pattern that looks unsurvivable resolves into one obvious gap you slide through at the last frame.

Pillars

  1. Density that reads. Every pattern is a legible shape (spiral, aimed spread, wall-with-gap). Difficulty comes from tighter gaps and faster waves, never from noise. Density ≠ difficulty.
  2. The gap is always there. Fairness is provable: a greedy lookahead dodger clears deathless. If the bot can’t survive, humans die unfairly — that’s a bug, not challenge.
  3. Uptime is the game. Dodging is trivial; the skill is holding your fire lane on the boss while dodging. Reward aggression under pressure.

The loop stack

ScaleThe beat
MomentRead the next wave’s shape → slide into its gap → keep firing.
EncounterA boss’s pattern sequence: phases escalate; each phase teaches its gap before it speeds up.
SessionA stage: trash waves as breathers, midboss, boss. Graze/point economy rewards flying close.
MetaScore chase, unlock ships/patterns, difficulty tiers (easy = wider gaps, same shapes).

Essential systems

SystemWhy it’s load-bearing
system-telegraphsEvery pattern’s spawn point and direction must be readable before it’s lethal — the tell is the fairness.
system-boss-designThe boss IS the content; phases are the difficulty ramp. Spectacle + honest tells.
system-graceMercy clears on death and at phase transitions are structural — without them deaths cascade (FUN.md law 5).
system-difficulty-and-ddaDifficulty tiers = wider gaps / slower bullets on the same patterns, not new ones.
pattern-readabilityPlayer bullets, enemy bullets, and the tiny hitbox must never blur together.

Content & difficulty model

Signature-mechanic seeds

Pick one and let it ripple: a strong bullet-hell twist changes the scoring economy (what grazing means), the pattern authoring (who places the bullets), or the hitbox itself — not just the skin. See process-the-twist.

Common pitfalls

Anchors

Verify

Prove it in FUN.md §7 · Bullet hell: the greedy lookahead dodge bot clears deathless, peak-bullet count is asserted, and the per-step time budget holds.

Composes with

See also

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