-
Notifications
You must be signed in to change notification settings - Fork 86
Description
Overview
I believe the engine currently uses FMOD through its FNA backend. While FMOD is a robust audio middleware solution, it is proprietary and not fully compatible with an open-source licensing model.
Since Murder Engine is a 2D pixel-art ECS game engine, a simpler and open-source-friendly audio backend such as SDL_mixer (accessed via SDL2-CS bindings) would be a more natural fit.
Motivation
1. Licensing and Openness
- FMOD is closed-source and requires a license for commercial use.
- SDL_mixer is open source, distributed under the zlib license, which is highly permissive and compatible with Murder’s open-source nature.
- SDL2-CS, the official C# bindings for SDL2 (and SDL_mixer), is also open source and maintained under the zlib license.
2. Technical and Architectural Fit
- Murder is built on FNA, which itself uses SDL2 for input, windowing, and platform abstraction.
- Integrating SDL_mixer would therefore align perfectly with the existing SDL-based ecosystem.
- SDL_mixer is designed for 2D game audio — it provides:
- Simple APIs for playing sound effects and music.
- Support for multiple formats (WAV, OGG, MP3, MOD, FLAC, etc.).
- Built-in mixing and volume controls without the complexity of 3D audio.
- This would reduce dependencies on proprietary libraries while maintaining excellent cross-platform support.
3. Maintenance and Accessibility
- Using SDL_mixer simplifies build and distribution pipelines since all components remain open source.
- Developers can easily build, debug, and modify the audio layer without dealing with FMOD’s proprietary SDK.
- It lowers barriers for community contributions and helps ensure long-term sustainability.
References
-
SDL_mixer
Repository: https://github.com/libsdl-org/SDL_mixer
License: zlib License -
SDL2-CS (C# bindings for SDL2 and SDL_mixer)
Repository: https://github.com/flibitijibibo/SDL2-CS
License: zlib License
Summary
Replacing FMOD with SDL_mixer (via SDL2-CS) would:
- Ensure the entire Murder Engine audio stack remains open source.
- Eliminate proprietary licensing dependencies.
- Provide a lightweight, simple, and efficient solution for 2D audio.
- Align perfectly with FNA’s existing SDL-based architecture.
This change would make the engine more transparent, accessible, and community-friendly while retaining all the functionality required for 2D games.