Saturday, October 07, 2006

Penumbra - Sound Physics

The video is divided into several parts clearly marked with a number, following will be the narrative for each part.


1. All physical objects in the HPL engine(The core of Penumbra) can create a variety of sounds: Impacts, scrape and rolling sounds. How much detail you want to give an object is entirely up to you as the creator. In this first example I demonstrate a simple wooden box that uses 1 single sound to produce impact sounds. The sound is played at varying volumes depending on the speed of the impact. This is as basic as you can make it.

2. In the second part I drop the box on a surface, the surface is also producing a sound. The engine mixes them together making it sound like a mix between wood and dirt. This means that all materials sound different in the HPL engine depending on what material they interact with.

3. Using only one sound for an object creates quite a repetitive sound. That's why the sound engine is so dynamic, it's a simple task adding multiple sounds to an object and making the game randomly select a sound to play. To give even greater detail you can divide the sound into sub-groups that are triggered depending on the speed. For Penumbra we use 3 different groups with 3 sounds in each: slow, medium and fast impact speeds. In this clip I bounce twice with the box using the 3*3 sound details.

The engine can support as many groups and sounds as you like, making the detail level extraordinary. But to keep the requirements down on the RAM/CPU/Time to create the sounds, the 3*3 system we chosen is quite adequate.

4. In this part I throw the box around on the dirt, both containing sound pools of 3*3. Making the sound picture quite varied and dynamic as the wooden boxes creates sounds in combination with the dirt.

5. For scrape and rolling sounds we only use 1 sound, this is a choice to keep the requirements down. We could use several sounds and the engine would randomly choose one of them, but we also do other nifty things with the sounds here making variations to a single sound. As the creator you can set several properties that will simulate real-physics scrape sounds. The engine will pitch and fade the sound depending on the settings you make. In this clip I simply push a large wooden box forward, making it produce the scrape sound, if you listen closely you can hear a subtle pitch as the movement speed changes.

6. As with the impact sounds, scrape and roll sounds for different materials are mixed together. Here I move the wooden box over several different materials, producing unique mixed sounds for each. I also do the same with a "glass box" to demonstrate a different surface type.


And there you have a short concentrated review of what you can do sound-wise with the physics engine. You can do everything from having one sound for all objects in the whole world, to having multiple unique sounds for every object in the world, making them entirely unique as they interact with each other. The only limit is how far you want to push the RAM requirements!
-Jens Nilsson, 2006-09-21

No comments: