tgame/docs/13-reveal-choreography.md
Parley Hatch 2abfe4abd1 Initial commit: design docs
Working title 'tgame' is provisional. Top-level samples/ and
docs/samples/ are gitignored; visual/art pipeline lives outside
this repo.
2026-05-17 11:16:07 -06:00

6.4 KiB
Raw Permalink Blame History

Reveal Choreography

The card-flip moment after a craft (and other reward reveals) is the highest-leverage dopamine in the game. Designed around one principle:

Length scales with magnitude. Buildup is the signal, not manufactured suspense.

Players learn the visual/audio language quickly ("oh, it's spinning, that's at least Fine") and never get baited-and-disappointed. Reference: Vampire Survivors chest opens — simple, honest, scales gracefully with the actual reward.

Anti-pattern we're avoiding

The slot-machine pattern: long buildup → suspenseful flourish → common item flops → player feels cheated. We're doing the opposite — a Common item gets a quick honest reveal so the player isn't promised more than they're getting. The reveal is the result, not a teaser for one.

The five band tiers

Crude

  • Card sits on the station, faint dust puff
  • Single quick flip
  • Lands face-up with a soft thud
  • Brief result text, no glow, no particles
  • Total: ~0.5s. Sound: soft thump

Common

  • Card on station, slight tremble
  • One flip with a satisfying crunch
  • Settles with a small wobble
  • Subtle highlight on the quality border
  • Total: ~0.8s. Sound: hammer-crunch

Fine

  • Card on station, harder tremble
  • Silver shimmer along the edges
  • Two flips, metallic ring on the second
  • "Fine" ribbon appears with a small particle burst
  • Total: ~1.5s. Sound: hammer + chime

Masterwork

  • Card vibrates with a low resonant hum
  • Golden glow brightens, particles begin drifting up
  • Three rotations, increasing speed
  • Lands with a metallic clang
  • Burst of golden particles, "Masterwork" ribbon flies in
  • Holographic foil shader kicks in and stays
  • Total: ~2.5s. Sound: hum → rising chime → clang → soft choir flourish

Legendary

  • Screen subtly darkens around the card
  • Low rumble, vibration intensifies
  • Radiant white-gold light pillars from underneath
  • Multiple rotations (5+) with motion blur
  • Time briefly slows (~0.7×) for the apex — reserved exclusively for Legendary
  • Bursts in a flare of radiant light, screen flash
  • "Legendary" ribbon arrives with a deeper sound
  • Bespoke hand-finished art piece revealed (Legendaries get the bespoke treatment per 07-item-cards.md)
  • Holo foil + ambient glow + drifting particles continue after settle
  • Total: ~45s. Sound: rumble → slow rising swell → crack of light → choir + organ swell

Special cases

Critical success (band promotion mid-reveal)

The choreography starts at the expected band, then mid-flip kicks up to the next band:

  • A "wait — no" beat: particles intensify, light shifts
  • Reveal upgrades to one band higher than expected
  • "Critical Success!" ribbon arrives with the upgraded reveal sequence
  • Player thought Common, got Fine. Player thought Fine, got Masterwork. Best feeling in the game after Legendary itself.

Critical success can be earned two ways: lucky engineer rolls, or hitting both Master's Touch meters perfectly (16-engagement-layers.md). Same choreography either way, different earnings paths. The forced crit in onboarding (12-onboarding.md) is the player's first encounter with this moment — earned by their meter timing on impossibly forgiving meters.

New Discovery (recipe unlock, parallel layer)

Stacks on top of the quality reveal — runs concurrent on a separate channel:

  • Card flutters before settling
  • Scroll/parchment animation overlays
  • "New Discovery!" ribbon
  • Recipe added to book with a whoosh + book-shut sound
  • ~3s

Design principles

  • Length scales with reward magnitude. This is the signal. Eliminates the disappointment problem.
  • Honesty over manufactured suspense. No fake-outs. A Common reveal doesn't pretend to be a Legendary.
  • Audio carries equal weight to visual. Each band has an audio signature players learn quickly.
  • Time slowing is reserved for Legendary. Rarest cue for the rarest moment. Don't dilute by using elsewhere.
  • Skippable after the first. Long-press skips to end-state after ~0.5s. The first of each tier the player ever sees shouldn't be skippable; every subsequent one should be. Veteran players' time matters.
  • Bespoke Legendary art revealed at the apex. Hand-finished one-of-a-kind art is part of why Legendary is Legendary.

Implementation sketch

Choreography is a state machine layered on top of the static card composition system. On craft result:

  1. Receive result {quality_band, was_critical, was_discovery, components, maker, ...}
  2. Pick choreography preset by band (or one band lower if was_critical=true)
  3. Run sequence: tremble → buildup → flips/spins → reveal → settle
  4. Audio + particles + shaders sync to sequence beats
  5. If was_critical, mid-sequence break to the upgraded preset
  6. If was_discovery, fire the parallel discovery overlay
  7. On settle, card slides into the vault

Performance:

  • Single focused card, full shader stack is fine
  • Particles cheap (small counts, short-lived)
  • Time-slow via tween scaling, not actual game time
  • Choreography assets (audio clips, particle definitions, shader configs) preloaded per session

Same framework, other reveals

The pattern extends to other reward moments — same toolkit, different presets:

Reveal moment Preset analog
Expedition return — small haul Common-tier choreography
Expedition return — rare drop Masterwork-tier swell
Expedition return — Legendary relic Full apex treatment
New applicant — common Quick portrait fade-in
New applicant — rare trait or class Fine/Masterwork-tier flourish
Patron reward payment Scales with payout magnitude
Guild Rank up Apex variant — meta-progression milestone

Each variant reuses the same shader / particle / audio toolkit; just different sequence presets.

Open questions

  • Skip-after-first per tier vs. per session vs. per install — when does the "first time" lock release?
  • Do we play screen flash on Legendary reveals, or is that too aggressive on mobile? (Accessibility: photosensitivity opt-out should exist regardless.)
  • Do crit-promotion sequences happen visibly on the way up the band ladder, or do we shortcut straight to the upgraded band's preset?
  • Audio mixing — does music duck during reveals so the choreography sounds occupy full headroom?
  • Haptic feedback (vibration patterns per band) — yes for Masterwork+, none for Common/Crude?