Sound System: Difference between revisions
No edit summary |
|||
Line 22: | Line 22: | ||
* sounds for each weapon and attack, like you attack with a sword and it does the sword sound. | * sounds for each weapon and attack, like you attack with a sword and it does the sword sound. | ||
* random sounds from environment, like buzzes of flies, water for rivers, wind, ... | * random sounds from environment, like buzzes of flies, water for rivers, wind, ... | ||
== Optional extensions == | |||
Allow players to play sounds with musical instruments. | Allow players to play sounds with musical instruments. | ||
Allow voice speech in game through peer to peer connection. | |||
Have the walking sounds as a possible perception for monsters nearby. like a thief moving close to a monster to attack him first without making too much noise by walking, while a player with no sneak skills, will just make more noise while walking and the monster will hear this and attach him first. | |||
== Difficulty == | == Difficulty == | ||
medium to difficult, depending on the parts of this which are picked up | medium to difficult, depending on the parts of this which are picked up |
Revision as of 13:12, 26 March 2011
(Go back to the main GSoC 2011 page)
Skills needed
Our server and client are all coded in C++ and the sounds are defined in XML files. For this project C++ knowledge is needed, some basic knowledge of XML. No MySQL knowledge is required.
Sound improvements
- Sound Manager: today the sound manager is inside the main planeshift client sources, will be nice to have it made as a plugin to have a cleaner abstraction layer.
- add ability to limit number of channels
- sounds in factories. In CS every object has a factory and multiple instances, so you can have a mesh factory, which is a rock, and then instanciate it multiple times by changing its coords, rotation and texture. We would like to have the ability to associate sounds to the factories present in the world.
- special actions to do when particular sound types are being played (for example reducing all other sounds/music volume)
- distance lag effect of 3d emitters (sound has a certain speed and openal unfortunately doesn't handle this factor so, even if it lowers the volume of distant sources, it will still make the sound of them run at the same time making the actual volume sound higher than it is actually. This would be about making emitters slow down when the player goes away from the source in order to unsync it from the other, more near emitters and go back to the normal speed after it has reached a certain offset from the more near object, in order to simulate this effect of distance and avoid equal sounds to stack)
- overall code cleanup.
Sounds events
We need to allow to play a sound when these events happen:
- when a player walks, having it vary based on the ground, so if it's rocky texture it's harder sound, and if it's grass is softer sound.
- random sounds on monsters, when they stand still and idle. If the race is an intelligent race, then we can play some phrases, if not we can just have screams/sounds.
- sounds associated to a specific behaviour or action of monsters. Like he is angry and plays the angry sound.
- sounds for each weapon and attack, like you attack with a sword and it does the sword sound.
- random sounds from environment, like buzzes of flies, water for rivers, wind, ...
Optional extensions
Allow players to play sounds with musical instruments.
Allow voice speech in game through peer to peer connection.
Have the walking sounds as a possible perception for monsters nearby. like a thief moving close to a monster to attack him first without making too much noise by walking, while a player with no sneak skills, will just make more noise while walking and the monster will hear this and attach him first.
Difficulty
medium to difficult, depending on the parts of this which are picked up