
[ SpudRacer the Game ] [ SpudSchedule ] [ SpudStatus ] [SpudMembers ] [ SpudMedia ]
[ Gfx Engine ] [ UI ] [ Physics ] [ Networking ] [ Input ] [ Sound ] [ Misc ] [ Overall ]
| 5/20/01 - John Gallagher
Event triggered sounds can be specified by the server. Clients respond by playing the sound that the server tells them to. 3D sound is also enabled, sending the world coordinates of the sound over the network. This is implemented in collisions, but the code is applicable to any loaded sound. |
| 5/16/01 - John Gallagher
3D sound for engine noise of other players has been implemented. We select the 3 closest players and feed their coordinates into the 3D sound engine provided by DirectX. This should keep overall computation on sounds down, although we may be able to scale up to more players simultaneously. |
| 5/6/01 - John Gallagher
Sound has been changed over to use the BASS audio library. The primary motivation for this was the ability to play MP3 format files as streaming music throughout the game. Capabilities for WAV files are largely similar. BASS is based upon DirectX7, but so far I have yet to see any issues arrise from it. Other updates include engine sounds that scale with the players velocity, and a little more control of waves that are already playing. Support for multiple players (their sounds) is a little shaky, and will need to be worked on. |
| 4/30/01 - John Gallagher
Sound has been integrated with the main branch of code development. Current functionality includes a startup wave file on loading the game, constant engine noise when playing the game, and collision noise whenever the player collides with a wall. All sounds are loaded into memory at startup. I'd like to avoid using wave files as our music because of their size, so we'll be looking further into DirectMusic, and possibly MP3. For systems that can't initialize sound, all source code differences have been isolated to inside the sound module. Goals for next week:
|
| 4/23/01 - John Gallagher
Sound code has been re-organized for ease of use. Sounds are associated with certain events when they are loaded, and then the game engine may request to play sounds by their events. Multiple sounds are easily supported and may be played concurrently in this manner. The statements required to get a specific sound are outlined below:
g_pSpudSound = new SpudSound;
g_pSpudSound->Init( g_hWnd );
g_pSpudSound->LoadSoundEvent(new SpudSoundEvent(Taunt), "letsgo.wav");
g_pSpudSound->PlaySoundEvent(new SpudSoundEvent(Taunt));
The SpudSoundEvent will encapsulate several parameters that may be required to play a sound.
This would include whether or not the sound will be played using 3D effects, locations of
objects involved in the 3D effects, attributes such as looping or single play. My hope
is that this will facilitate the addition of features. I hope to add something between
3D sound and straight playback that scales the volume by distance, but evenly between
left and right speakers (less computationally expensive).
In short the sound will try to be entirely standalone, and will have several parameters that will allow different playback; most focused on sparing CPU time while accurately representing the world. Next week look for some actual sound clips that will be used in the game, as well as some developments for background music. |
| 4/16/01 - John Gallagher
An initial demo of 3D sound capabilities is up. turns out that the difference between 3D and standard playback in DirectX was minimal at this stage, so we've accomplished a simple wrapper to some standard features of DirectSound. |