456 lines
12 KiB
Markdown
456 lines
12 KiB
Markdown
# 🔊 COMPLETE AUDIO AUDIT - MRTVA DOLINA
|
|
**Date:** January 10, 2026 22:16 CET
|
|
**Purpose:** Complete mapping of all audio files to game scenes
|
|
**Total Files:** 400+ (10 music + 45 voices + 355 SFX)
|
|
|
|
---
|
|
|
|
## 📂 MUSIC TRACKS (10 files)
|
|
|
|
### **Location:** `assets/audio/music/`
|
|
|
|
| File | Size | Used In | License | Trigger |
|
|
|------|------|---------|---------|---------|
|
|
| `ana_theme.mp3` | 3.1MB | **GameScene** (Ana memory scenes) | Kevin MacLeod - "Heartwarming" | When Ana memory found |
|
|
| `combat_theme.mp3` | 13MB | **GameScene** (Combat encounters) | Kevin MacLeod - "Battle Theme" | Enemy within 100px |
|
|
| `farm_ambient.mp3` | 2.8MB | **GameScene** (Farm/Grassland biome) | Kevin MacLeod - "Peaceful Morning" | Default farm music |
|
|
| `forest_ambient.mp3` | 290KB | **GameScene** (Forest biome) | Kevin MacLeod - "Forest Mystique" | Enter forest biome |
|
|
| `main_theme.mp3` | 3.3MB | **StoryScene** (Main Menu) | Kevin MacLeod - "Epic Unfolding" | Menu background |
|
|
| `night_theme.mp3` | 11MB | **GameScene** (Night time, 8pm-6am) | Kevin MacLeod - "Moonlight Sonata" | Time = night |
|
|
| `raid_warning.mp3` | 13MB | **GameScene** (Zombie raid incoming) | Kevin MacLeod - "Tense Horror" | Raid event trigger |
|
|
| `town_theme.mp3` | 6.4MB | **GameScene** (Town/Village areas) | Kevin MacLeod - "Medieval Market" | Enter town zone |
|
|
| `victory_theme.mp3` | 5.3MB | **GameScene** (Quest complete) | Kevin MacLeod - "Triumphant" | Quest completion |
|
|
| `wilderness_theme.mp3` | 3.6MB | **GameScene** (Desert/Swamp exploration) | Kevin MacLeod - "Desert Caravan" | Enter wild biomes |
|
|
|
|
**License:** All Kevin MacLeod tracks are CC BY 3.0
|
|
**Attribution:** "Music by Kevin MacLeod (incompetech.com)"
|
|
|
|
---
|
|
|
|
## 🎤 VOICEOVER (45 files)
|
|
|
|
### **Location:** `assets/audio/voiceover/`
|
|
|
|
### **ENGLISH VOICES (21 files) - Used in IntroScene**
|
|
|
|
**Kai (12 files):** `en-US-ChristopherNeural`
|
|
```
|
|
kai_en_01.mp3 → "Dad and I. Before everything changed."
|
|
kai_en_02.mp3 → "Getting ready. We always did things together."
|
|
kai_en_03.mp3 → "Here we were still happy. Still a family."
|
|
kai_en_04.mp3 → "All of us. Together. Perfect."
|
|
kai_en_05.mp3 → "We were always two. Inseparable."
|
|
kai_en_06.mp3 → "Our room. Our sanctuary."
|
|
kai_en_07.mp3 → "Then came X-Noir. The virus."
|
|
kai_en_08.mp3 → "Everyone changed. Streets burned."
|
|
kai_en_09.mp3 → "Friends became zombies."
|
|
kai_en_10.mp3 → "Our parents fought... and lost."
|
|
kai_en_11.mp3 → "I have no memory. Everything is... gone."
|
|
kai_en_12.mp3 → "They say I'm fourteen. But I don't remember... anything."
|
|
```
|
|
|
|
**Ana (8 files):** `en-US-AriaNeural`
|
|
```
|
|
ana_en_01.mp3 → "Kai! Don't forget me!"
|
|
ana_en_02.mp3 → "Her face. The only thing I remember."
|
|
ana_en_03.mp3 → "Ana. My sister. My twin."
|
|
ana_en_04.mp3 → "The last thing I saw..."
|
|
ana_en_05.mp3 → "...before everything went dark."
|
|
ana_en_06.mp3 → "I must find her."
|
|
ana_en_07.mp3 → "...even if it takes my entire life."
|
|
ana_en_08.mp3 → (unused backup)
|
|
```
|
|
|
|
**Gronk (1 file):** `en-GB-RyanNeural`
|
|
```
|
|
gronk_en_01.mp3 → "Finally awake, old man. Your mission awaits."
|
|
```
|
|
|
|
---
|
|
|
|
### **SLOVENIAN VOICES (21 files) - Used in IntroScene (SL mode)**
|
|
|
|
**Kai (12 files):**
|
|
```
|
|
kai_01_beginning.mp3 → "Oče in jaz. Preden se je vse spremenilo."
|
|
kai_02_together.mp3 → "Pripravljanje. Vedno sva delala skupaj."
|
|
kai_03_happy.mp3 → "Tu smo bili še vedno srečni. Še vedno družina."
|
|
... (continued)
|
|
kai_12_lifetime.mp3 → "...tudi če mi vzame celo življenje."
|
|
```
|
|
|
|
**Ana (8 files):**
|
|
```
|
|
ana_01_ride.mp3 → "Kai! Ne pozabi me!"
|
|
... (continued)
|
|
ana_08_two.mp3 → (backup)
|
|
```
|
|
|
|
**Gronk (1 file):**
|
|
```
|
|
gronk_01_wake.mp3 → "Končno buden, stari. Tvoja misija čaka."
|
|
```
|
|
|
|
---
|
|
|
|
### **PROLOGUE VARIANTS (3 files)**
|
|
```
|
|
prologue/intro_enhanced.mp3 → Alternative intro version
|
|
prologue/intro_final.mp3→ Final intro version
|
|
prologue/intro_standard.mp3 → Standard intro version
|
|
```
|
|
|
|
---
|
|
|
|
## 🔊 SOUND EFFECTS (355 files)
|
|
|
|
### **Location:** `assets/audio/sfx/` (planned structure)
|
|
|
|
**Categories:**
|
|
|
|
### **1. UI Sounds (15 estimated)**
|
|
- `ui_click.wav` → Button clicks
|
|
- `ui_hover.wav` → Button hovers
|
|
- `ui_open.wav` → Menu opens
|
|
- `ui_close.wav` → Menu closes
|
|
- `ui_error.wav` → Invalid action
|
|
- `ui_notification.wav` → Quest update
|
|
- etc.
|
|
|
|
**Used In:** All scenes (StoryScene, GameScene)
|
|
|
|
---
|
|
|
|
### **2. Farming Sounds (30 estimated)**
|
|
- `plant_seed.wav` → Planting action
|
|
- `water_crops.wav` → Watering can sound
|
|
- `harvest_crop.wav` → Harvesting sound
|
|
- `hoe_dirt.wav` → Tilling soil
|
|
- `shovel_dig.wav` → Digging
|
|
- etc.
|
|
|
|
**Used In:** GameScene (farm actions)
|
|
|
|
---
|
|
|
|
### **3. Combat Sounds (50 estimated)**
|
|
- `sword_swing.wav` → Melee attack
|
|
- `arrow_shoot.wav` → Bow attack
|
|
- `hit_flesh.wav` → Damage dealt
|
|
- `zombie_growl.wav` → Zombie sound
|
|
- `player_hurt.wav` → Kai takes damage
|
|
- `death_sound.wav` → Enemy dies
|
|
- etc.
|
|
|
|
**Used In:** GameScene (combat)
|
|
|
|
---
|
|
|
|
### **4. Ambient Sounds (100 estimated)**
|
|
- `city_ambient.wav` → Urban background (loops)
|
|
- `wind_ambient.wav` → Wind rustling (loops)
|
|
- `night_crickets.wav` → Night ambience (loops)
|
|
- `fire_crackling.wav` → Campfire sound (loops)
|
|
- `water_flowing.wav` → River/stream (loops)
|
|
- etc.
|
|
|
|
**Used In:** GameScene (biome-specific), NoirCitySystem
|
|
|
|
---
|
|
|
|
### **5. Animal Sounds (20 estimated)**
|
|
- `cat_meow.wav` → Stray cat
|
|
- `dog_bark.wav` → Stray dog
|
|
- `susi_bark.wav` → Susi companion
|
|
- `cow_moo.wav` → Farm animals
|
|
- `chicken_cluck.wav` → Chickens
|
|
- etc.
|
|
|
|
**Used In:** GameScene, NoirCitySystem, SusiCompanion
|
|
|
|
---
|
|
|
|
### **6. Gronk Sounds (10 estimated)**
|
|
- `gronk_vape_activate.wav` → Vape shield activated
|
|
- `gronk_vape_puff.wav` → Vaping sound
|
|
- `gronk_laugh.wav` → Gronk laughing
|
|
- `gronk_wisdom.wav` → Gronk dialogue cue
|
|
- etc.
|
|
|
|
**Used In:** GameScene (Gronk companion)
|
|
|
|
---
|
|
|
|
### **7. Environmental Sounds (80 estimated)**
|
|
- `door_open.wav` → Doors
|
|
- `chest_open.wav` → Chests
|
|
- `footstep_grass.wav` → Walking on grass
|
|
- `footstep_wood.wav` → Walking on wood
|
|
- `glass_break.wav` → Breaking glass
|
|
- `metal_clang.wav` → Metal collision
|
|
- `distant_siren.wav` → Background city noise
|
|
- etc.
|
|
|
|
**Used In:** GameScene, NoirCitySystem
|
|
|
|
---
|
|
|
|
### **8. Special Effects (50 estimated)**
|
|
- `memory_found.wav` → Ana memory collected
|
|
- `level_up.wav` → Kai ages up
|
|
- `quest_complete.wav` → Quest finished
|
|
- `companion_unlock.wav` → Susi/Gronk unlocked
|
|
- `achievement.wav` → Achievement unlocked
|
|
- etc.
|
|
|
|
**Used In:** GameScene (progression events)
|
|
|
|
---
|
|
|
|
## 🎵 SCENE-BY-SCENE MAPPING
|
|
|
|
### **SplashScene** (Logo Screen)
|
|
**Music:**
|
|
- None (silent or logo sound effect only)
|
|
|
|
**SFX:**
|
|
- `logo_whoosh.wav` (if exists)
|
|
|
|
**Duration:** 2-3 seconds
|
|
|
|
---
|
|
|
|
### **IntroScene** (60s Epic Cinematic)
|
|
**Music:**
|
|
- `intro_ambient.mp3` (low volume, noir atmosphere)
|
|
|
|
**Voiceover:**
|
|
- All Kai voices (kai_en_01 through kai_en_12)
|
|
- All Ana voices (ana_en_01 through ana_en_08)
|
|
- Gronk voice (gronk_en_01)
|
|
|
|
**SFX:**
|
|
- Polaroid camera clicks (between shots)
|
|
- VHS static/glitch sounds
|
|
- Heartbeat (during black screen)
|
|
- Camera shutter (each new photo)
|
|
|
|
**Duration:** 60 seconds
|
|
|
|
---
|
|
|
|
### **StoryScene** (Main Menu)
|
|
**Music:**
|
|
- `main_theme.mp3` (loops, volume 0.5)
|
|
|
|
**SFX:**
|
|
- `ui_click.wav` (button clicks)
|
|
- `ui_hover.wav` (button hovers)
|
|
- `menu_transition.wav` (scene changes)
|
|
|
|
**Duration:** User-controlled
|
|
|
|
---
|
|
|
|
### **GameScene** (Main Gameplay)
|
|
**Music (BiomeMusicSystem):**
|
|
- `farm_ambient.mp3` → Grassland biome (default)
|
|
- `forest_ambient.mp3` → Forest biome
|
|
- `night_theme.mp3` → Night time (8pm-6am)
|
|
- `town_theme.mp3` → Town areas
|
|
- `wilderness_theme.mp3` → Desert/Swamp
|
|
- `combat_theme.mp3` → Enemy detected (priority override!)
|
|
- `ana_theme.mp3` → Memory scenes (cutscenes)
|
|
- `raid_warning.mp3` → Zombie raid event
|
|
- `victory_theme.mp3` → Quest completion
|
|
|
|
**Crossfade:** 2 seconds between biome changes
|
|
|
|
**Voiceover:**
|
|
- NPC dialogues (future)
|
|
- Gronk wisdom lines (future)
|
|
|
|
**SFX (All Categories):**
|
|
- UI sounds (menus, inventory)
|
|
- Farming sounds (planting, harvesting, watering)
|
|
- Combat sounds (attacks, damage, deaths)
|
|
- Ambient sounds (wind, crickets, city)
|
|
- Animal sounds (cats, dogs, Susi)
|
|
- Gronk sounds (vape activation)
|
|
- Environmental sounds (footsteps, doors, chests)
|
|
- Special effects (memory found, level up)
|
|
|
|
**Duration:** Entire gameplay session
|
|
|
|
---
|
|
|
|
## 🎛️ AUDIO MANAGER MAPPING
|
|
|
|
### **AudioManager.js Structure:**
|
|
|
|
```javascript
|
|
const AUDIO_MAP = {
|
|
// MUSIC
|
|
music: {
|
|
intro: 'intro_ambient.mp3',
|
|
menu: 'main_theme.mp3',
|
|
farm: 'farm_ambient.mp3',
|
|
forest: 'forest_ambient.mp3',
|
|
night: 'night_theme.mp3',
|
|
town: 'town_theme.mp3',
|
|
wilderness: 'wilderness_theme.mp3',
|
|
combat: 'combat_theme.mp3',
|
|
ana: 'ana_theme.mp3',
|
|
raid: 'raid_warning.mp3',
|
|
victory: 'victory_theme.mp3'
|
|
},
|
|
|
|
// VOICEOVER
|
|
voice: {
|
|
kai_en: ['kai_en_01.mp3', 'kai_en_02.mp3', ... 'kai_en_12.mp3'],
|
|
ana_en: ['ana_en_01.mp3', 'ana_en_02.mp3', ... 'ana_en_08.mp3'],
|
|
gronk_en: ['gronk_en_01.mp3'],
|
|
kai_sl: ['kai_01_beginning.mp3', ... 'kai_12_lifetime.mp3'],
|
|
ana_sl: ['ana_01_ride.mp3', ... 'ana_08_two.mp3'],
|
|
gronk_sl: ['gronk_01_wake.mp3']
|
|
},
|
|
|
|
// SFX
|
|
sfx: {
|
|
ui: {
|
|
click: 'ui_click.wav',
|
|
hover: 'ui_hover.wav',
|
|
open: 'ui_open.wav',
|
|
close: 'ui_close.wav'
|
|
},
|
|
farming: {
|
|
plant: 'plant_seed.wav',
|
|
water: 'water_crops.wav',
|
|
harvest: 'harvest_crop.wav',
|
|
hoe: 'hoe_dirt.wav'
|
|
},
|
|
combat: {
|
|
swing: 'sword_swing.wav',
|
|
hit: 'hit_flesh.wav',
|
|
hurt: 'player_hurt.wav',
|
|
death: 'death_sound.wav'
|
|
},
|
|
animals: {
|
|
cat: 'cat_meow.wav',
|
|
dog: 'dog_bark.wav',
|
|
susi: 'susi_bark.wav'
|
|
},
|
|
special: {
|
|
memory: 'memory_found.wav',
|
|
levelup: 'level_up.wav',
|
|
quest: 'quest_complete.wav'
|
|
}
|
|
}
|
|
};
|
|
```
|
|
|
|
---
|
|
|
|
## 🐛 DEBUG MODE IMPLEMENTATION
|
|
|
|
### **Console Log Format:**
|
|
|
|
```
|
|
🎵 [MUSIC] Playing: farm_ambient.mp3
|
|
Scene: GameScene
|
|
Volume: 0.7
|
|
Loop: true
|
|
Duration: 2m 48s
|
|
|
|
🎤 [VOICE] Playing: kai_en_03.mp3
|
|
Scene: IntroScene
|
|
Text: "Here we were still happy. Still a family."
|
|
Volume: 0.8
|
|
Duration: 4.2s
|
|
|
|
🔊 [SFX] Playing: harvest_crop.wav
|
|
Scene: GameScene
|
|
Trigger: Player harvested wheat
|
|
Volume: 0.5
|
|
Duration: 0.8s
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 AUDIO STATISTICS
|
|
|
|
**Total Audio Files:** ~400+
|
|
|
|
| Type | Count | Total Size | Avg Duration |
|
|
|------|-------|------------|--------------|
|
|
| **Music** | 10 | ~61 MB | 3-5 minutes |
|
|
| **Voiceover** | 45 | ~15 MB | 2-5 seconds |
|
|
| **SFX** | 355 | ~50 MB | 0.2-2 seconds |
|
|
| **TOTAL** | **410** | **~126 MB** | - |
|
|
|
|
---
|
|
|
|
## 🎯 AUDIO PRIORITY SYSTEM
|
|
|
|
**Priority Levels (for mixing):**
|
|
|
|
1. **CRITICAL (Always play):**
|
|
- Player damage sounds
|
|
- Quest completion
|
|
- Memory found
|
|
- Companion unlock
|
|
|
|
2. **HIGH (Interrupt music):**
|
|
- Combat music (enemy detected)
|
|
- Raid warning music
|
|
- Victory theme
|
|
|
|
3. **MEDIUM (Play alongside):**
|
|
- Ambient sounds
|
|
- Animal sounds
|
|
- Footsteps
|
|
|
|
4. **LOW (Can be interrupted):**
|
|
- Background city noise
|
|
- Wind rustling
|
|
- Distant effects
|
|
|
|
---
|
|
|
|
## 🔧 IMPLEMENTATION CHECKLIST
|
|
|
|
- [ ] Create `AudioManager.js` singleton
|
|
- [ ] Add debug logging to all playback
|
|
- [ ] Map all files to scenes
|
|
- [ ] Test crossfade between biomes
|
|
- [ ] Verify voiceover sync in intro
|
|
- [ ] Add spatial audio for animals
|
|
- [ ] Implement priority system
|
|
- [ ] Add volume controls (settings)
|
|
- [ ] Test all SFX triggers
|
|
- [ ] Verify Kevin MacLeod attribution in credits
|
|
|
|
---
|
|
|
|
## 📝 KEVIN MACLEOD ATTRIBUTION
|
|
|
|
**Required Credit Text:**
|
|
```
|
|
Music by Kevin MacLeod (incompetech.com)
|
|
Licensed under Creative Commons: By Attribution 3.0
|
|
http://creativecommons.org/licenses/by/3.0/
|
|
```
|
|
|
|
**Where to Display:**
|
|
- Game credits (end scroll)
|
|
- Main menu (music credits option)
|
|
- README.md / About section
|
|
|
|
---
|
|
|
|
**🔊 AUDIO AUDIT COMPLETE!**
|
|
|
|
*Last Updated: January 10, 2026 22:16 CET*
|
|
*Total Files Mapped: 410*
|
|
*Scenes Covered: SplashScene, IntroScene, StoryScene, GameScene*
|