Useful Tools for Making Video Games - PowerPoint PPT Presentation

About This Presentation
Title:

Useful Tools for Making Video Games

Description:

FMOD Hot Games Guitar Hero III BioShock Stranglehold Metroid Prime 3 Heavenly Sword Call of Duty 4 Crysis StarCraft II, World of Warcraft Startup Sequence ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 10
Provided by: brown157
Learn more at: https://cs.brown.edu
Category:

less

Transcript and Presenter's Notes

Title: Useful Tools for Making Video Games


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

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
FMOD Hot Games
  • Guitar Hero III
  • BioShock
  • Stranglehold
  • Metroid Prime 3
  • Heavenly Sword
  • Call of Duty 4
  • Crysis
  • StarCraft II, World of Warcraft

4
Startup Sequence
  • // create system
  • FMODSystem system
  • FMOD_RESULT result FMODSystem_Create(system)
  • // set speaker mode, 3D settings, configuration
    options etc.
  • //
  • // load sound
  • FMODSound sound
  • result system-gtcreateSound(sound.mp3",,
    sound)
  • // play sound
  • FMODChannel channel 0
  • result system-gtplaySound(, sound, ,
    channel)
  • // release resources
  • Result sound-gtrelease()
  • Result system-gtrelease()

5
Configuration options
  • if you desire behaviour differing from the
    default such as
  • SystemsetOutput(FMOD_OUTPUTTYPE_AUTODETECT/XBOX
    /XBOX360/PS2/PS3/PSP/WII/)
  • Systemset3DSettings(float dopplerscale, float
    distancefactor, float rolloffscale)
  • SystemsetHardwareChannels specify min number
    of hardware channels before falling to software
  • SystemsetSpeakerMode Surround, 5.1, 7.1 etc

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
  • FMODChannel channelsNUM_CHANNELS
  • FMODChannelGroup group
  • result system-gtcreateChannelGroup("Group",
    group)
  • result channeli-gtsetChannelGroup(group) //
    i0..NUM_CHANNELS
  • result groupA-gtsetVolume()
  • group-gtsetMute() // etc.

7
3D Sound
  • FMOD_RESULT result
  • fmodSystem-gtset3DListenerAttributes(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
Effects
  • Can create chains of digital sound processing
    effects by adding existing filters one after the
    other eg
  • FMODDSP dspDistortion 0
  • FMOD_RESULT result
  • system-gtcreateDSPByType(FMOD_DSP_TYPE_LOWPASS,
  • dspDistortion )
  • result system-gtaddDSP(dspDistortion)
  • DSP types FMOD_DSP_CHORUS/COMPRESSOR/DISTORTION/
    ECHO/FLANGE/NORMALIZE/PITCHSHIFT/REVERB/

9
References
  • www.fmod.org
Write a Comment
User Comments (0)
About PowerShow.com