Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Useful Tools for Making Video Games Part IV An overview of.

Similar presentations


Presentation on theme: "1 Useful Tools for Making Video Games Part IV An overview of."— Presentation transcript:

1 1 Useful Tools for Making Video Games Part IV An overview of

2 2 Features  Built-in DSP effects  PS3, Xbox 360, Wii, PS2, PSP, Xbox, Gamecube, Windows, Linux, Mac OS support  Sound designer tools (FMOD Designer)  3D sound  Thousands of sounds at once  Multi-speaker support  Supports over 20 file formats  C++, C#, Visual Basic API  …

3 3 FMOD Hot Games  Guitar Hero III  BioShock  Stranglehold  Metroid Prime 3  Heavenly Sword  Call of Duty 4  Crysis  StarCraft II, World of Warcraft  …

4 4 Startup Sequence // create system FMOD::System* system; FMOD_RESULT result = FMOD::System_Create(&system); // set speaker mode, 3D settings, configuration options etc. // … // load sound FMOD::Sound* sound; result = system->createSound(“sound.mp3",…, &sound); // play sound FMOD::Channel* channel = 0; result = system->playSound(…, sound, …, &channel); // release resources Result = sound->release(); Result = system->release();

5 5 Configuration options  if you desire behaviour differing from the default such as:  System::setOutput(FMOD_OUTPUTTYPE_[AUTOD ETECT/XBOX/XBOX360/PS2/PS3/PSP/WII/…])  System::set3DSettings(float dopplerscale, float distancefactor, float rolloffscale)  System::setHardwareChannels : specify min number of hardware channels before falling to software  System::setSpeakerMode : Surround, 5.1, 7.1 etc  …

6 6 Channels  A channel is an instance of a sound. You can play a sound many times at once, and each time you get a new channel handle.  Channels can be grouped eg: FMOD::Channel *channels[NUM_CHANNELS]; FMOD::ChannelGroup *group; result = system->createChannelGroup("Group", &group); result = channel[i]->setChannelGroup(group); // i:0..NUM_CHANNELS result = groupA->setVolume(…); group->setMute(…); // etc.

7 7 3D Sound  FMOD_RESULT result = fmodSystem->set3DListenerAttributes(int listener, const FMOD_VECTOR* pos, const FMOD_VECTOR * vel, const FMOD_VECTOR * forward, const FMOD_VECTOR *up);  Pos: Address of a variable that receives the position of the listener in world space.  Vel: Address of a variable that receives the velocity of the listener.  Forward: unit length and perpendicular to the up vector. up  Update these vectors every so many milliseconds, not every frame, since frame rate can vary.

8 8 Effects  Can create chains of digital sound processing effects by adding existing filters one after the other eg: FMOD::DSP* dspDistortion = 0; FMOD_RESULT result = system->createDSPByType(FMOD_DSP_TYPE_LOWPASS, &dspDistortion ); result = system->addDSP(dspDistortion);  DSP types: FMOD_DSP_[CHORUS/COMPRESSOR/ DISTORTION/ECHO/FLANGE/NORMALI ZE/PITCHSHIFT/REVERB/…]

9 9 References  www.fmod.org www.fmod.org


Download ppt "1 Useful Tools for Making Video Games Part IV An overview of."

Similar presentations


Ads by Google