You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context:
Emberfall's audio system is metadata-driven with Burden captioning support, but currently uses placeholder synthesized SFX. The elemental combo system (Fire/Oil/Wind/Water) is a natural fit for distinct, satisfying audio signatures.
Problem Statement:
Community research shows audio is a high-leverage differentiator in tactical games. Players rely on sound cues to confirm actions, anticipate enemy moves, and feel the impact of combos. Generic or placeholder audio undermines the strategic satisfaction of a well-executed combo.
Technical Rationale:
Godot 4.6.3's AudioStreamPlayer + AudioServer allow bus-based mixing. The metadata-driven pipeline already supports captioning; extending it with layered elemental SFX is straightforward.
Functional Requirements
FR1: Design Elemental Audio Palette: each element has a base SFX, combo SFX, and ambient loop.
Oil: viscous pour (base), igniting splatter (combo with Fire), dripping (ambient)
FR2: Implement Combo Satisfaction Crescendo: a short musical sting that scales in intensity based on combo chain length (2-element = simple, 4-element = orchestral hit).
FR3: Add Enemy Intent Audio: subtle directional audio cue 1 second before enemy acts (e.g., sword unsheathe, spell charge), giving attentive players a split-second warning.
FR4: Ensure all audio supports Burden captioning — every SFX has a [SOUND: description] metadata tag for deaf/hard-of-hearing players.
FR5: Implement Dynamic Audio Bus: combat SFX duck ambient music by 6dB during combo execution, then restore over 2 seconds.
Acceptance Criteria (DoD)
All 4 elements have distinct, recognizable SFX in a blind audio test (≥80% accuracy).
Combo crescendo sting plays correctly for chains of 2, 3, and 4+ elements.
Enemy intent audio is audible but not alarming; does not overlap with player action SFX.
Burden captioning covers 100% of new SFX events.
Audio bus ducking does not cause clipping or audible gaps.
Unit tests for audio event queue: ≥5 cases (rapid combos, overlapping enemies).
CI passes: gut suite green.
Edge Cases
Given
When
Then
Player has hearing impairment
Burden captions on
[SOUND: Fire ignites with a sharp crack] displayed
Multiple combos trigger simultaneously
Audio plays
Polyphonic limit: max 4 SFX + 1 sting; oldest fades
Description
Context:
Emberfall's audio system is metadata-driven with Burden captioning support, but currently uses placeholder synthesized SFX. The elemental combo system (Fire/Oil/Wind/Water) is a natural fit for distinct, satisfying audio signatures.
Problem Statement:
Community research shows audio is a high-leverage differentiator in tactical games. Players rely on sound cues to confirm actions, anticipate enemy moves, and feel the impact of combos. Generic or placeholder audio undermines the strategic satisfaction of a well-executed combo.
Technical Rationale:
Godot 4.6.3's
AudioStreamPlayer+AudioServerallow bus-based mixing. The metadata-driven pipeline already supports captioning; extending it with layered elemental SFX is straightforward.Functional Requirements
[SOUND: description]metadata tag for deaf/hard-of-hearing players.Acceptance Criteria (DoD)
gutsuite green.Edge Cases
[SOUND: Fire ignites with a sharp crack]displayed