# Phase 5: Testing & Iteration Guide ## Overview This phase documents the testing protocol for validating audio mod fixes and improvements. **Note:** Actual testing must be performed by playing the game. This document provides the testing workflow and evaluation criteria. --- ## Pre-Testing Checklist ### 1. BepInEx Installation - [ ] BepInEx installed in game directory - [ ] `winhttp.dll` present in game root - [ ] `BepInEx\LogOutput.log` generated after first run ### 2. Plugin Installation - [ ] `HomuraHimeAudioMod.dll` in `BepInEx\plugins\` - [ ] Config file generated at `BepInEx\config\com.homurahime.audiomod.cfg` ### 3. Original Bank Backup - [ ] Original banks backed up to `backup_banks_original\` ### 4. FMOD Banks (Optional) - [ ] Modified banks copied to game directory (if using Phase 3 FMOD changes) --- ## Testing Scenarios ### Test 1: Quiet Exploration (Baseline) **Purpose:** Verify mod doesn't break normal audio **Steps:** 1. Launch game with mod enabled 2. Start new game or load save 3. Move through quiet area (hub, menu, cutscenes) 4. Listen for 5+ minutes **Success Criteria:** - [ ] No audio distortion or pops - [ ] BGM plays smoothly without cutting out - [ ] UI sounds (menu navigation) work correctly - [ ] No crashes or errors in LogOutput.log **Log Check:** ``` Filter: Look for "HomuraHimeAudio" entries Expected: "initialized successfully" ``` --- ### Test 2: Combat with 3+ Enemies **Purpose:** Test voice limit fixes under moderate load **Steps:** 1. Find an area with 3+ enemies (early game stages) 2. Engage in combat 3. Observe audio behavior during: - Multiple attack impacts - Enemy death sounds - Player attack sounds - Dodge/roll sounds **Success Criteria:** - [ ] No audio distortion during impact sounds - [ ] Sounds don't cut out prematurely - [ ] Enemy voices don't override each other harshly - [ ] Can distinguish individual sound sources **Failure Signs:** - Crackling/popping sounds - Sudden audio cutoff - "Muffled" audio - Missing sound effects --- ### Test 3: Boss Fights (Heavy Load) **Purpose:** Stress test audio system **Steps:** 1. Enter boss arena 2. Engage boss 3. Observe during: - Boss special attacks - Phase transitions - Multiple minions spawning - Intense combo sequences **Success Criteria:** - [ ] No audio glitches during phase transitions - [ ] Music continues playing smoothly - [ ] Voice lines play without cutoff - [ ] Attack sounds remain distinguishable **Challenge:** If glitches occur, reduce `MaxVoiceCount` in config --- ### Test 4: Swarm Enemy Encounters **Purpose:** Test rapid sound triggering **Steps:** 1. Find area with many weak enemies (swarms) 2. Use area-of-effect attacks 3. Observe: - Rapid footstep sounds - Multiple death sounds - Attack impact sounds overlapping **Success Criteria:** - [ ] No stuttering or repeating sounds - [ ] Audio doesn't "stick" or loop - [ ] Clean sound transitions --- ### Test 5: Enemy Behavior State Changes **Purpose:** Validate enemy audio indicator improvements **Steps:** 1. Approach enemies and observe state changes 2. Listen for audio cues during: - Enemy idle (subtle ambient) - Enemy alert (noticing player) - Enemy chase (pursuing) - Enemy attack (warning + strike) **Success Criteria:** | State | Expected Audio | |-------|----------------| | Idle | Subtle, low-volume ambient | | Alert | Distinct warning/notice sound | | Chase | Intensified pursuit audio | | Attack | Clear attack indicator + impact | **Rating Scale:** - 1: Cannot hear/identify - 2: Barely audible - 3: Audible but unclear - 4: Clear and distinguishable - 5: Very distinct and helpful --- ## Metrics Tracking ### Audio Glitch Rating | Rating | Description | |--------|-------------| | 0 | No glitches ever | | 1 | Rare glitches (<1 per minute) | | 2 | Occasional glitches (1-5 per minute) | | 3 | Frequent glitches (>5 per minute) | | 4 | Constant glitches | ### Target: Rating 0-1 for all scenarios --- ## Configuration Tuning ### If Distortion/Pops Occur ```ini [VoiceManager] MaxVoiceCount = 64 ; Reduce from 128 [Ducking] DuckFadeTime = 0.08 ; Increase for smoother transitions ``` ### If Sounds Cut Out ```ini [VoiceManager] MaxVoiceCount = 256 ; Increase if hardware supports EnableVoiceLimitFix = true ``` ### If Enemy Cues Unclear ```ini [EnemyAudio] EnemyIndicatorBoost = 1.5 AlertSoundBoost = 1.6 AttackSoundBoost = 1.4 ``` --- ## Iteration Loop ``` Test Scenario │ ▼ ┌─────────────┐ │ Glitch? │ └─────────────┘ │ ┌──┴──┐ Yes No │ │ ▼ ▼ Adjust Next Config Test │ ▼ Rebuild & Redeploy │ ▼ Retest ``` --- ## Log Analysis ### Enable Debug Logging ```ini [General] EnableDebugLogging = true ``` ### Check Log During Gameplay ``` BepInEx\LogOutput.log ``` ### Key Log Entries | Entry | Meaning | |-------|---------| | `HomuraHime Audio Mod initialized` | Plugin loaded OK | | `Voice count X exceeds limit Y` | Voice limiting active | | `DuckVolume adjusted` | Ducking patch working | | `Enemy voice event: X` | Enemy audio hook active | --- ## Test Report Template ```markdown ## Test Report - [Date] ### Environment - Game Version: [Check in game] - Mod Version: 1.0.0 - Config: [Default/Custom] ### Results | Scenario | Glitch Rating | Notes | |----------|---------------|-------| | Quiet Exploration | [0-4] | | | 3+ Enemy Combat | [0-4] | | | Boss Fight | [0-4] | | | Swarm Enemies | [0-4] | | | Enemy State Cues | [1-5] | | ### Configuration Changes Made ```ini [Section] Setting = Value ``` ### Overall Assessment [ ] Ready for distribution [ ] Needs iteration ### Next Steps 1. 2. ``` --- ## Next: Phase 6 Once testing yields satisfactory results (glitch rating 0-1, cue clarity 4-5): - Proceed to Phase 6: Distribution - Package mod for sharing - Write installation instructions