FMOD Studio should be used by all new HeroCloud developers, and those who have not begun development of their FMOD Ex audio system. FMOD Studio is a newer, incompatible system that supersedes FMOD Ex.
Getting to Know FMOD
Make sure you take the time to familiarize yourself with FMOD designer before trying to wire up sounds: FMOD Designer Tutorial: http://www.youtube.com/watch?v=HIil0OFtqxc
Quick FMOD Run Through
1. Download FMOD Designer
2. Create a new project, and name it MyProject
3. Click the Events tab
4. Select the folder named "untitled", name it MyGame
5. Drag sound files from your desktop into the MyGame folder to make events.
6. Each event is a discrete set of sound files and behaviors that you can call in the HeroEngine.
7. Let's say you have a "Bang" event, you can drag multiple sound files all into the single event, and each time you call "Bang" in the HeroEngine, FMOD will select one of the sound files based on the properties you've setup.
8. For Music, or 2d sounds, or sounds you'd like to loop, you can leave all the settings on the right alone, and just set the loop properties and randomness settings for the selected event. But pay attention, depending on how you've set up your events, to the "maxPlayback" setting, which defaults to 1, and means only one sound will be playing at a time. (this is bad for sound effects).
9. For 3d sounds, and non music sounds, in the right hand properties panel, change 2d to 3d, and adjust the max playback number to something more reasonable than 1, I choose 15, unless there is specific reason in my game design that I know it should be lower or higher.
10. So now you have all your sound events setup how you like them. You can choose to assign them all to one Bank, or setup multiple banks. The only distinction here is memory usage.
11. Let's leave them all in one bank file for now. Click "Project" > Build, select what should be the only project in the list, and click Build on the right. FMOD will generate 2 new files, an *.fev file, and a *.fsb file.
12. Now you just need the event paths for each one of your events. If you click on an event, you'll see at the top of the center pane MyProject/MyGame/Bang (or your event name). The MyGame/Bang is the event path you will need to use in the HeroEngine to specify the event you want. Write all these paths down (you can also click a checkbox on build that will export this information into a txt file.
13. Open the HeroEngine Repository Browser. Create a folder under HE called Audio. Now drag the MyProject.fev file, and the MyProject_bank01.fsb file onto the Audio folder in the repository browser. You do not need to upload your sound files. The fsb files contain all of the audio.
14. Open the HeroEngine Blade. You now have two quick and easy ways to load sounds:
FX with Sound:
Hit F5 to open the hotspot menu. Click the tools tab, and then click FX. Open up whatever spec you want to use.
Drag the 3dFMOD icon into the FX Group, select it, and in the properties on the right you just need to set up two things:
Click the ... in the resource panel, and navigate to HE>Audio, and select the MyProject.fev file.
Then paste the event path MyGame/Bang or whichever event you want to call into the empty event path panel.
Asset with Sound:
Click Create > Sound Asset > Load Asset, and navigate to the MyProject.fev file.
In the filters drop down make sure Audio is set to viewable and selectable.
Open the Asset window, select MyProject.fev, right click in the empty instance list below and select create instance at camera.
Open the Properties panel, you should have the new asset already selected.
Past the event path MyGame/Bang into the empty event path panel, and voila. If your sound was set to loop, then this audio instance will now happily play all the sounds it can in the Bang event, according to all of the parameters you selected in FMOD designer.
What about Music?
The HeroCloud does not support the procedural music creation sub system in FMOD designer. But there is a great deal of flexibility in using events and the settings within them, as well as overlapping events to create procedural soundscapes. Typically game developers use music in the same way they would any other sound, setting up a 2D sound, and attaching it to a node,or playing by script, etc, just like any other sound.