Being busy with FMOD Designer, I wonder if it would be advised to put everything in a single "FDP" library, or make separated ones. Asides from user-preferences & updating ease, does it have any technical/performance benefits to split up? When looking at some games, each character, weapon or whatsoever "class" has it’s own library file.
Little problem is that the current sound module (not using FMOD yet) only uses a single library to search & play from. When configuring sound, you tell the path & sound ID name. But now you also have to add the project when searching for a specific event.
I’m not sure either if the "play sound" code below would work with multiple libraries loaded. In fact, I’m not sure at all if this is the common way to play 1 or more instances from a certain event (gunfire for example).
// Get event ID. Store it somewhere so we don’t have to search each time again
// eventSystem = FMOD::EventSystem... but shouldn’t that be EventProject now?
eventSystem->getEvent( eventFullName, FMOD_EVENT_INFOONLY, &event);
event->getInfo( &index, 0, &info );
// Play event
eventSystem->getEventBySystemID( eventHandle, FMOD_EVENT_DEFAULT , &emitter );
emitter->set3DAttributes( position, velocity );
Could someone advise this newcomer? Thanks!
- Spek asked 7 years ago
[quote="brett":3dylq8hn]I wouldnt recommend just splitting stuff up unless there is a memory issue in the game, which has to be determined at runtime.[/quote:3dylq8hn]
Yeah. In my experience, your game has to be pretty darn big (or your platform quite limited i.e. PS2) to see substantial memory wins from loading and unloading projects, especially after the recent round of optimisations, Simple Events, etc.
its not just design ease – if you split your FEVs up you could save some memory by loading smaller groups of events and freeing them when they’re not needed.
Depends how big your game is really, but you could split your fev/fdps into ‘levels’ for example, but what we’re talking about here is metadata. I wouldnt recommend just splitting stuff up unless there is a memory issue in the game, which has to be determined at runtime.
All right, so it’s purely a design-ease thing? Now that I’m thinking about it, the game where I saw that many .fev files allows extensive modding. When for example creating a new add-on weapon, it’s easier to supply an extra small library instead of updating one hoge (original) library… Hmmm, not that my game is that massive indeed, but such an option doesn’t sound bad. One library per object/character/level… I assume the count doesn’t matter, performance-wise?
That leaves me with the "sound-play" question though. I think I can find some solutions on that, but first, is the method in the code advised at all? Thus, at the loading phase search for the sound ID (by name), then later play it by using that ID. There are plenty of FMOD demo’s, but not really in combination with Designer files though… Unless I’m missing something.
- Spek answered 7 years ago
Please login first to submit.