Files
novafarma/docs/technical/QUEST_VOICE_INTEGRATION.md
David Kotnik d5c7c3ee67 CHAR ANIMATIONS COMPLETE - 52 frames generated
Session: 11hr marathon (Jan 8, 2026)
Assets: 52 animation frames total
Progress: 36% to 54%

Kai: 20 frames (idle 4, walk 6, dig 5, swing 5)
Ana: 10 frames (idle 4, walk 6)
Gronk: 10 frames (idle 4, walk 6)
Susi: 12 frames (idle 4, run 6, bark 2)

Demo Status: 157/292 assets (54%)
Remaining: 135 assets

Files updated:
- TASK_TRACKER.md
- PRODUCTION_CHECKLIST.md
- 64 new PNG assets
- Susi reference updated
2026-01-08 04:03:10 +01:00

208 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔊 Quest Voice Integration Guide
**Last Updated:** Jan 8, 2026 02:30 CET
**Status:****FULLY INTEGRATED**
---
## 🎯 FEATURES
Quest System now automatically plays voiceovers for:
- ✅ Quest start dialogue
- ✅ Quest progress updates
- ✅ Quest completion dialogue
- ✅ NPC-specific voices (future)
- ✅ Emotional reactions (future)
---
## 🔊 HOW IT WORKS
### **Automatic Integration:**
When a quest is started, updated, or completed, QuestSystem automatically:
1. **Shows text dialogue** (on screen)
2. **Plays voiceover** (TTS audio)
3. **Syncs subtitles** (with audio)
**No extra code needed!** Just define dialogue in quest data!
---
## 📜 QUEST DIALOGUE FORMAT
```javascript
{
id: 'q001_kje_sem',
dialogue: {
start: ["...au glava... kje sm?"], // Plays on quest start
progress: ["Še {remaining} da konč!"], // Plays on progress update
complete: ["Včeri sm bla tam!"], // Plays on completion
onVoice: ["Ana's voice..."] // Special events (optional)
}
}
```
---
## 🎙️ VOICE GENERATION
### **Generate All Quest Voiceovers:**
```bash
python scripts/generate_quest_voiceovers.py
```
**Output:**
- `assets/audio/quests/q001_kje_sem_start.mp3`
- `assets/audio/quests/q001_kje_sem_complete.mp3`
- `assets/audio/quests/q002_prvi_koraki_start.mp3`
- etc...
### **Voice Settings:**
- **Language:** Slovenian (sl-SI)
- **Voice:** Petra (Female, Natural)
- **Format:** MP3
- **Quality:** High
---
## 🔧 TECHNICAL INTEGRATION
### **QuestSystem Integration:**
```javascript
// Quest start
if (quest.dialogue && quest.dialogue.start) {
this.showDialogue(quest.dialogue.start, quest.npc);
// 🔊 VOICEOVER: Play quest start dialogue
if (this.scene.voiceoverSystem) {
const voiceKey = `quest_${questId}_start`;
this.scene.voiceoverSystem.playVoiceover(voiceKey, quest.dialogue.start[0]);
}
}
```
### **VoiceoverSystem Methods:**
- `playVoiceover(key, text)` - Play TTS audio
- `stopVoiceover()` - Stop current playback
- `isVoiceoverPlaying()` - Check if audio is playing
---
## 📊 QUEST VOICEOVERS
### **Main Story (3 quests):**
- Q001: Kje Sem? (2 voiceovers)
- Q002: Prvi Koraki (3 voiceovers)
- Q003: Glas v Glavi (3 voiceovers + Ana's voice)
### **Collection (3 quests):**
- Q010: 80 Crops Challenge (3 voiceovers)
- Q011: Tree Planter (2 voiceovers)
- Q020: Creature Catalog (3 voiceovers)
### **Social (1 quest):**
- Q080: 166 Friends (3 voiceovers)
### **Building (1 quest):**
- Q040: Gothic Empire (2 voiceovers)
### **Biome/Boss (3 quests):**
- Q050: Underwater Secrets (2 voiceovers)
- Q060: Baba Yaga (3 voiceovers)
- Q070: Jurassic Farm (2 voiceovers)
**Total:** ~25-30 voiceover files
---
## 🎮 IN-GAME EXPERIENCE
**Player starts Q001:**
1. Text appears: "...au glava... kje sm?"
2. Kai's voice plays: *"...au glava... kje sm?"*
3. Subtitle syncs with audio
4. Player hears + reads simultaneously
**Quest complete:**
1. Text: "Včeri sm bla tam, zdej pa tuki!"
2. Voice: *excited tone* "MORŠ NEC NAJT!"
3. VFX: Clarity effect
4. Feels EPIC! 🎉
---
## 💡 ADHD-FRIENDLY DESIGN
**Why voiceovers matter:**
-**Audio + Visual** = Better retention
-**Emotional delivery** = Stronger connection
-**Accessibility** = Dyslexia support
-**Immersion** = Kai feels ALIVE!
**Slovenian dialogue:**
- Feels personal/authentic
- ADHD-friendly (short, punchy)
- Emotional reactions (DAAAAJ! OH SHIT!)
- Player connects with Kai
---
## 🔮 FUTURE ENHANCEMENTS
**Planned:**
- [ ] NPC-specific voices (166 NPCs × 3 lines each)
- [ ] Multiple voice actors (Kai, Ana, Gronk, NPCs)
- [ ] Emotional variations (happy, sad, angry, scared)
- [ ] Dynamic pitch/speed based on context
- [ ] Voice modulation in water (underwater effect)
- [ ] Echo/reverb in caves
- [ ] Walkie-talkie effect for radio dialogue
---
## 📁 FILE STRUCTURE
```
assets/audio/quests/
├── q001_kje_sem_start.mp3
├── q001_kje_sem_complete.mp3
├── q002_prvi_koraki_start.mp3
├── q002_prvi_koraki_progress.mp3
├── q002_prvi_koraki_complete.mp3
├── q003_glas_v_glavi_start.mp3
├── q003_glas_v_glavi_onVoice.mp3 (Ana's voice!)
├── q003_glas_v_glavi_complete.mp3
└── ...
```
---
## 🚀 QUICK START
1. **Define quest dialogue** (already done in QuestDataLoader)
2. **Generate voiceovers:** `python scripts/generate_quest_voiceovers.py`
3. **Play game** - Voiceovers work automatically!
**That's it!** No extra integration needed!
---
## 🎯 STATUS
- [x] QuestSystem integration complete
- [x] VoiceoverSystem exists
- [x] Generation script created
- [ ] Generate actual audio files
- [ ] Test in-game
- [ ] Add NPC-specific voices
---
*Quest Voice Integration - Jan 8, 2026*
🔊💬🎮