- Created detailed documentation for systems 102-135 covering achievements, settings, polish, data assets, input management, and state management. - Added INDEX.md for easy navigation of developer reference materials. - Introduced architecture-overview.md to provide a high-level understanding of the framework's structure and communication methods. - Compiled implementation-patterns.md to outline common UE5 Blueprint patterns for consistent development practices.
11 KiB
10 — Adaptive Environment, Atmosphere & Audio Systems (Systems 89-101, 132-133)
Category Purpose: These 17 systems create the dynamic, reactive world — difficulty scaling, fear mechanics, performance optimization, procedural encounters, environment mutation, atmosphere control, lighting events, memory distortion, pacing direction, playstyle classification, rare/scare events, and the MetaSounds audio subsystem. The BPC_AdaptiveEnvironmentDirector is the central coordinator; SS_AudioManager is the sole audio entry point.
System Index
| # | System | Asset Type | Role |
|---|---|---|---|
| 89 | BPC_DifficultyManager |
Component | Dynamic difficulty; metric-based scaling, adaptive tuning |
| 90 | BPC_FearSystem |
Component | Fear system (AI + player); fear states, cower, flee |
| 91 | BPC_PerformanceScaler |
Component | Performance scaling; LOD, spawn distance, effect quality |
| 92 | BPC_ProceduralEncounter |
Component | Procedural encounter generation; difficulty-based spawn groups |
| 93 | BPC_AdaptiveEnvironmentDirector |
Component | Adaptive environment; room mutation, event coordination |
| 94 | BPC_AtmosphereStateController |
Component | Atmosphere state; room tone, tension, mood |
| 95 | BPC_AudioAtmosphereController |
Component | [DEPRECATED] — superseded by SS_AudioManager |
| 96 | BPC_LightEventController |
Component | Light events; flicker, dim, color shift, strobe |
| 97 | BPC_MemoryDriftSystem |
Component | Memory drift; visual/audio/dialogue distortions |
| 98 | BPC_PacingDirector |
Component | Pacing director; intensity bands, encounter frequency |
| 99 | BPC_PlaystyleClassifier |
Component | Playstyle classification; Aggressive/Stealthy/Explorer |
| 100 | BPC_RareEventSystem |
Component | Rare event system; weighted selection, cooldown |
| 101 | BPC_ScareEventSystem |
Component | Scare event system; jump scares, anticipation, recovery |
| 132 | SS_AudioManager |
Subsystem | Single audio entry point; 4 MetaSound buses, room zones |
| 133 | BP_RoomAudioZone |
Actor (TriggerVolume) | Room audio zone; auto-switches reverb on overlap |
Adaptive Architecture
┌──────────────────────────────────────────────────────────────────┐
│ ADAPTIVE SYSTEMS │
│ │
│ BPC_AdaptiveEnvironmentDirector (central coordinator) │
│ │ Reads player state: stress, health, location │
│ │ Coordinates subsystem responses: │
│ │ │
│ ├─► BPC_AtmosphereStateController (mood/tension) │
│ │ Room tone: Safe → Neutral → Tense → Danger → Terror │
│ │ Drives: lighting, audio ambience, fog, post-process │
│ │ │
│ ├─► BPC_LightEventController (lighting events) │
│ │ Flicker, dim, color shift, strobe, blackout │
│ │ Triggered by: tension level, scare events, combat │
│ │ │
│ ├─► BPC_MemoryDriftSystem (psychological horror) │
│ │ Visual distortions, audio glitches, false dialogue │
│ │ Intensity driven by stress tier │
│ │ │
│ ├─► BPC_ScareEventSystem (horror moments) │
│ │ Jump scares, atmospheric scares, dread build-up │
│ │ Anticipation → Trigger → Payoff → Recovery │
│ │ │
│ └─► BPC_RareEventSystem (special occurrences) │
│ Weighted random events with long cooldowns │
│ Ghost sightings, phone rings, TV static, whispers │
│ │
│ BPC_PacingDirector (mission-level pacing) │
│ │ Intensity bands: Calm → Exploration → Tension → Combat │
│ │ Controls: encounter frequency, music intensity, │
│ │ scare event probability, ambient tension │
│ └─► Feeds into AdaptiveEnvironmentDirector │
│ │
│ BPC_PlaystyleClassifier → BPC_DifficultyManager │
│ │ Classifies: Aggressive / Stealthy / Explorer / Balanced │
│ └─► Difficulty adapts: enemy count, loot quality, AI skill │
│ │
│ BPC_FearSystem (AI fear) │
│ └─► AI enemies can feel fear: cower, flee, surrender │
│ │
│ BPC_PerformanceScaler (technical) │
│ └─► Dynamically adjusts LOD, spawn distance, particle count │
└──────────────────────────────────────────────────────────────────┘
132 — SS_AudioManager: MetaSounds Audio Subsystem
What It Does: The single entry point for all audio in the framework. A GameInstanceSubsystem that owns 4 MetaSound mix buses (SFX, Ambience, Music, Dialogue → Master Bus), handles room acoustic zone switching, dynamic gameplay parameters (heart rate, stress, fear), volume control integration with settings, and audio pooling.
Mix Buses:
MS_SFXBus: weapon sounds, footsteps, UI sounds, impact FXMS_AmbientBus: environmental ambience, room tone, wind, waterMS_MusicBus: background music, combat music, tension musicMS_DialogueBus: NPC voices, radio chatter, narrator- All feed into
MS_MasterBusfor final output
Gameplay Parameters: Heart rate, stress level, fear intensity, music intensity pushed as MetaSound float parameters from gameplay systems — not hardcoded in audio assets. Enables dynamic mixing: heart beats faster → heartbeat sound intensifies.
Room Acoustic Zones:
BP_RoomAudioZonetrigger volumes on overlap callSS_AudioManager.SetRoomPreset(Preset)- Presets from
DA_RoomAcousticPreset: SmallRoom, LargeRoom, Outdoor, Cave, Hallway, Bathroom, Cathedral - Applies reverb, occlusion, reflection, and EQ settings
- Zone stack: push/pop allows nested zones (entering a closet inside a room)
Settings Integration:
WBP_SettingsMenusliders callSetBusVolume(Category, Volume)- Writes to the bus MetaSound patch directly
- Persistent settings loaded on init
Deprecation: BPC_AudioAtmosphereController (95) is phased out — all audio now routes through this subsystem.
133 — BP_RoomAudioZone: Room Audio Zone Trigger
What It Does: A trigger volume placed in levels. When the player overlaps it, the room's acoustic preset is applied. On exit, the previous zone is restored via a push/pop stack.
Features:
- Defines a
DA_RoomAcousticPresetreference - On overlap: pushes current zone, applies new preset
- On exit: pops back to previous zone
- Supports priority for overlapping zones
- Smooth blend time between acoustic transitions
89-101: Adaptive Subsystems Summary
- 89 BPC_DifficultyManager: Reads player metrics (accuracy, deaths, completion time) and adjusts: enemy health/damage, loot quality/quantity, puzzle hint frequency, encounter intensity.
- 90 BPC_FearSystem: AI fear mechanic — enemies can enter fear states (nervous → cowering → fleeing → surrendering) based on player power, ally deaths, supernatural events.
- 91 BPC_PerformanceScaler: Dynamically adjusts LOD bias, spawn distance, particle count, shadow quality based on FPS target. Ensures smooth performance on varied hardware.
- 92 BPC_ProceduralEncounter: Generates encounters from spawn groups weighted by difficulty. Selects enemy types, counts, and spawn locations.
- 93 BPC_AdaptiveEnvironmentDirector: Central coordinator — reads all player state and directs atmosphere/light/scare systems. The "dungeon master" of the adaptive layer.
- 94 BPC_AtmosphereStateController: Manages room tone and tension level. Drives lighting, fog, post-process, and ambient audio via Data Assets (
DA_AtmosphereProfile). - 95 BPC_AudioAtmosphereController: [DEPRECATED] Replaced by
SS_AudioManager. Do not use in new implementations. - 96 BPC_LightEventController: Dynamic light events: flicker (random/sine), dim (gradual), color shift (temperature), strobe (rapid), blackout (full dark). Triggered by adaptive systems.
- 97 BPC_MemoryDriftSystem: Psychological horror — visual distortions (shimmer, double vision), audio glitches (reversed sounds, whispers), false dialogue events. Intensity from
BPC_StressSystem. - 98 BPC_PacingDirector: Controls mission pacing: intensity bands (calm→exploration→tension→combat→climax→resolution). Manages encounter frequency, music, and scare probability.
- 99 BPC_PlaystyleClassifier: Analyzes player behavior (weapon usage, stealth time, exploration percentage) and classifies as Aggressive/Stealthy/Explorer/Balanced.
- 100 BPC_RareEventSystem: Special rare occurrences with weighted random selection and long cooldowns. Ghost sightings, environmental anomalies, hidden messages.
- 101 BPC_ScareEventSystem: Horror scare management: anticipation phase (build-up), trigger (payoff), recovery (return to normal). Jump scares, atmospheric dread, slow-burn tension.
Common Implementation Patterns in This Category
- Central Coordinator + Specialist Workers:
BPC_AdaptiveEnvironmentDirectorcoordinates; each subsystem (lighting, atmosphere, scares) is a specialist. - Data-Driven Profiles:
DA_AtmosphereProfile,DA_ScareEvent,DA_RoomMutation— content teams configure atmosphere without touching Blueprints. - Gameplay Parameters as Audio Inputs: Heart rate, stress, fear are MetaSound float parameters — audio designers work in MetaSound editor, not Blueprint.
- Zone Stack for Audio: Push/pop room presets enables nested acoustic spaces (a closet inside a room inside a building).
- Dynamic Difficulty as Metrics Response: Difficulty doesn't use simple "easy/medium/hard" — it reads player performance and adapts continuously.
- Pacing Director Controls Everything: Encounter frequency, music intensity, scare probability all derive from pacing band, not individual systems.
Developer Reference v1.0 — 10 Adaptive Systems. Companion to docs/blueprints/10-adaptive/ specs.