ModPlug Central

OpenMPT => Development Corner => Topic started by: BeatTherapy on November 08, 2018, 00:27:09

Title: Modern game soundtrack implementation... ?
Post by: BeatTherapy on November 08, 2018, 00:27:09
Hello!
I'm working in videogames development- specifically music & sound- and have a history composing with XM, MOD etc. Back in the day I wrote  few soundtracks using XM that were implemented on the Gameboy Advance with Engine's Replayer software. I'm currently working on a new PC game for release on Steam, and we're probably going to be using fmod, which allegedly supports XM at some level.
I'm a big fan of the XM format, and by extension the MPTM format as well, though I've yet to fully appreciate the difference. I really see a great deal of untapped potential for adaptive & interactive music using module formats and wanted to ask about possible integration with unity, and any licensing issues around formats/players/libraries etc. I understand OpenMPT is open source, does that mean we'd theoretically be able to use and tweak the program to integrate into future games potentially? Would it make any difference using XM vs MPTM? Ultimately I'm wanting somehow to prove a point I've been making for a very long time about the advantages of these formats, by showcasing the ability to match events in the music with game events, and being able to access all the pattern data and have genuine music/game integration.... instead of the current game music climate of pre-rendered audio loops and the occasional bit of branching or layering.
I'm operating on a zero budget, so this isn't some AAA company looking to apply for a licence, just so you know. =)
Any input regarding unity integration, accessing & modifying pattern data on the fly or licensing infor would be greatly appreciated.

Cheers,
Andrew =)
Title: Re: Modern game soundtrack implementation... ?
Post by: Saga Musix on November 08, 2018, 08:16:21
QuoteI understand OpenMPT is open source, does that mean we'd theoretically be able to use and tweak the program to integrate into future games potentially?
You don't even need to tweak it - libopenmpt (https://lib.openmpt.org/libopenmpt/) gives you a cross-platform module decoder based on the OpenMPT engine. Both OpenMPT and libopenmpt are released under the permissive BSD 3-license (https://opensource.org/licenses/BSD-3-Clause) which is suitable for integration in commercial products,  but you should of course read and understand the license terms to fully ensure that you are doing the right thing.

I would recommend you to use libopenmpt for decoding rather than FMOD (you can still feed libopenmpt's output into FMOD!) - the reason being that while FMOD was a module player at heart maybe twenty years ago, the module playing parts are now basically just leftovers from back then and I have never found them to be very accurate especially when it comes to IT playback. And MPTM is of course not supported by FMOD.

But if you are going to write any libopenmpt integration code for Unity/C#, we'd be very happy if you shared it with the rest of the world under a permissive license so that we don't have to keep telling other people that no such thing currently exists. ;)

QuoteWould it make any difference using XM vs MPTM?
Legally? No. But MPTM has some features that make it especially interesting for games, such as having more than one pattern sequence ("song") to work with.