Working title 'tgame' is provisional. Top-level samples/ and docs/samples/ are gitignored; visual/art pipeline lives outside this repo.
6.4 KiB
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: ~4–5s. 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:
- Receive result
{quality_band, was_critical, was_discovery, components, maker, ...} - Pick choreography preset by band (or one band lower if
was_critical=true) - Run sequence: tremble → buildup → flips/spins → reveal → settle
- Audio + particles + shaders sync to sequence beats
- If
was_critical, mid-sequence break to the upgraded preset - If
was_discovery, fire the parallel discovery overlay - 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?