Enemy Dialogue System

The Enemy Dialogue System enhances immersion by giving enemy characters randomized, state-driven dialogue during combat. Once triggered, enemies dynamically speak from a pool of dialogue lines with natural timing and spatialized 3D audio, making encounters feel more interactive and less repetitive.

Game Engine

Unreal Engine 5

Programming Language

Programming Language

Unreal Engine Blueprint

Genre

Genre

Gameplay System

Role

Role

Solo Designer & Developer

Challenge

Creating dialogue for enemies that feels varied, natural, and non-repetitive, while also ensuring it integrates seamlessly with enemy attack states and doesn’t continue after the combat encounter ends.

Results

The system delivers dynamic, reusable, and immersive enemy behavior. By combining randomization, modular functions, and 3D positional audio, encounters feel more realistic and engaging. The project demonstrates strong gameplay system design in Unreal Engine, with clean integration into enemy AI states and reusable functionality for future expansions.

Process

Blueprint system design & event flow: Architected the EnemyDialogue Blueprint as an event-driven system that hooks into enemy state changes; the EventGraph cleanly handles Attack → Dialogue → Stop transitions so the feature integrates reliably with existing AI.


Random dialogue selection & data structure: Built modular functions and data containers (arrays/structs) to store dialogue lines and metadata, and implemented a nondeterministic picker so each enemy can deliver varied lines without repeating patterns predictably.


Timing & pacing system: Implemented a flexible timing controller that chooses a random delay from a configurable range between lines, preventing mechanical repetition and allowing designers to tweak pacing per enemy type or encounter intensity.


Stop conditions & state safety: Added robust checks so dialogue auto-stops when an enemy dies or the player leaves detection range, and ensured the system gracefully cancels pending timers to avoid stray lines after state changes.


3D audio & reuseability: Integrated spatialized audio using Unreal Engine Audio Cues so lines sound directional and distance-based; packaged the EnemyDialogue as a reusable function with designer-friendly parameters for lines, volumes, and timing.

Conclusion

The Enemy Dialogue System adds personality and immersion to combat by combining randomized dialogue, flexible pacing, and 3D Audio Cue integration. It showcases my ability to design modular, event-driven systems in Unreal Engine 5 that enhance gameplay while remaining reusable and production-ready.