Subsystem Ownership
I learned why engine systems need clear ownership, especially for setup, shutdown, and resource management.
A modular C++ audio subsystem built within the Xcube2D framework, separating playback from gameplay code through layered audio control, resource validation, and clear engine-level ownership.
I built a modular audio subsystem for a C++ game engine project. The system sits at engine level, rather than being written directly into gameplay code, so sounds and music can be triggered through cleaner, reusable methods.
My role was to design and implement the audio subsystem as an engine-level service, keeping playback control separate from gameplay code.
I learned why engine systems need clear ownership, especially for setup, shutdown, and resource management.
Gameplay code should request audio, not directly manage low level audio behaviour.
The system checks for missing layers, invalid resources, and volume issues before attempting playback.