Skip to main content

audio-game-integration

Enforces audio best practices for Black Trigram including Howler.js patterns, spatial 3D audio with PositionalAudio, performance optimization, combat audio feedback, Korean-themed soundscapes, and proper audio resource management.

Source facts

Repository
Hack23/blacktrigram
Last source activity
February 6, 2026 at 10:41
Detected SKILL.md language
English
Stars
8
Forks
7

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions ยท Read-only preview
name
audio-game-integration
description
Enforces audio best practices for Black Trigram including Howler.js patterns, spatial 3D audio with PositionalAudio, performance optimization, combat audio feedback, Korean-themed soundscapes, and proper audio resource management.
license
MIT
# Audio Game Integration Skill ## Purpose Ensures all audio in Black Trigram uses Howler.js effectively, implements spatial 3D audio for immersion, optimizes performance, provides clear combat feedback, creates authentic Korean-themed soundscapes, and manages audio resources properly. ## When to Apply **Automatically trigger when:** - Adding audio effects or music - Implementing spatial 3D audio - Creating combat sound feedback - Managing audio resources - Optimizing audio performance - Adding Korean-themed audio - Implementing audio settings (volume, mute) - Debugging audio issues ## Core Principles ### 1. Howler.js Global Audio Management โœ… **Proper Audio Manager Pattern** ```typescript import { Howl, Howler } from 'howler'; export class AudioManager { private sounds = new Map<string, Howl>(); private music: Howl | null = null; load(id: string, src: string, options?: HowlOptions): void { const sound = new Howl({ src: [src], volume: options?.volume ?? 0.7, loop: options?.loop ?? false, preload: true, ...options, }); this.sounds.set(id, sound); } playSFX(id: string): void { this.sounds.get(id)?.play(); } playMusic(id: string, fadeIn = 1000): void { if (this.music) this.stopMusic(); const sound = this.sounds.get(id); if (!sound) return; this.music = sound; this.music.volume(0); this.music.play(); this.music.fade(0, 0.5, fadeIn); } setSFXVolume(volume: number): void { this.sounds.forEach(sound => { if (sound !== this.music) { sound.volume(volume); } }); } } ``` ### 2. Spatial 3D Audio with PositionalAudio โœ… **3D Spatial Audio Pattern** ```typescript import { PositionalAudio } from '@react-three/drei'; export const Combat3DAudio: React.FC<{ position: Vector3 }> = ({ position }) => { return ( <group position={position}> <PositionalAudio url="/audio/combat-ambient.mp3" distance={10} loop autoplay /> </group> ); }; ``` ### 3. Combat Audio Feedback โœ… **Combat Sound System** ```typescript export const useCombatAudio = () => { const audio = useAudio(); const playStrikeSound = useCallback(( strikeType: StrikeType, hit: boolean, critical: boolean ) => { if (!hit) { audio.playSFX('strike_miss'); return; } if (critical) { audio.playSFX('strike_critical'); } else { audio.playSFX(`strike_${strikeType}`); } }, [audio]); return { playStrikeSound }; }; ``` ### 4. Korean-Themed Soundscape โœ… **Cultural Audio Integration** ```typescript export const KOREAN_AUDIO_THEMES = { MENU: { music: '/audio/korean-traditional-menu.mp3', ambient: '/audio/dojang-atmosphere.mp3', }, COMBAT: { music: '/audio/korean-percussion-combat.mp3', strikes: { GEON: '/audio/thunder-strike.mp3', // Heaven GAM: '/audio/water-flow.mp3', // Water LI: '/audio/fire-strike.mp3', // Fire }, }, } as const; ``` ## Enforcement Rules ### Rule 1: Howler.js for Global Audio ``` IF (using Web Audio API directly OR HTML5 audio) THEN (use Howler.js AudioManager for consistency) ELSE (verify preloading and resource management) ``` ### Rule 2: Spatial Audio for 3D Scenes ``` IF (3D combat scene WITHOUT positional audio) THEN (add PositionalAudio for attacks, impacts, movement) ELSE (verify audio distance falloff is realistic) ``` ### Rule 3: Combat Feedback Clarity ``` IF (strike sound without hit/miss/critical distinction) THEN (implement distinct audio for each outcome) ELSE (verify audio timing matches visual feedback) ``` ## Anti-Patterns to REJECT โŒ **Synchronous Loading** - Always preload audio โŒ **No Volume Controls** - Must support mute and volume adjustment โŒ **Memory Leaks** - Clean up audio on unmount โŒ **No Spatial Audio** - 3D games need positional audio ## Compliance Framework - **ISO 27001 A.8.1**: Audio asset management - **NIST CSF ID.AM**: Audio resource inventory - **CIS Control 2**: Audio asset tracking ## Remember **์†Œ๋ฆฌ์˜ ์˜ˆ์ˆ  (Art of Sound)** Audio enhances immersion and provides critical combat feedback. Proper spatial audio and Korean-themed soundscapes bring Black Trigram to life. **ํ‘๊ด˜์˜ ๊ธธ์„ ๊ฑธ์–ด๋ผ** - _Walk the Path of the Black Trigram_
View on GitHub