Surfing the Wave - procedural sound design game
Surfing the Wave is a simple platformer - with a new dynamic and sound. The player's sound and ability to generate sound is displayed in a physical oscilloscope in the map, leading to a couple of situations the player must solve to complete the game. The player can move around on the oscilloscope (hence, the name), and can move other objects using the oscilloscope.
As have been said, the core mechanic is walking and moving on waveforms. The player itself is just a ball. While the player is stuck in the start, exploring the map reveals pick-ups, which grant sound-generating abilities. These are used in the start to move above obstacles, but will later on be used to solve another puzzle, involving moving another object with the abilities in the correct order.
The idea is to focus on the sound and the "physical" manifistation of it; one ability creates a instant attack - sharp decay, while the other creates a slow attack, and an instant decay. This grants the waveforms different colliding abilities (thus, moving objects differently).
Description & concept
As usual, focus has been only on audio. Therefore, this game doesn't actually contain any sprites (beyond the pickable abilities), the rest is vector graphics.
It was the intent to create an interactive sound universe, which integrates the player's movement, the game's state and sound in a new experience. Hence, it was required to be able to significantly alter the generated sound's properties real-time. Thus, a totally procedural sound generation system was developed to match the game. This was also based on the desire to create realistic and physical sound models of objects, like the player, the fan and the massive ball at the end. The intent was to create a more immersive experience, realized through synchronizing and matching human senses.
In conjunction with the physical modelling, a basic sequencer system designed to be used for algorithmic and generative music was also created (read more here), with the intent of reducing recognition in repetitive sequences. The dynamic sound system can also be heard by entering the water, for instance. The water music based on 'intelligent randomness', that is, randomly selected notes that fits into the current key and scale.
Combined with the vector graphics and completely procedural audio, the actual game's size is hovering around a few hundred kilobytes.
The music will change character multiple times in the game, in correlation with the current situation. Another feature of the design is the complete lack of crossfades; instruments can morph into others on transitions, or be allowed to decay so seamless transitions are possible. Together with the fact that the composition actually composes itself, it is aware of divisions, beats and transitions; elements, transitions, effects, one-shot melodies (like rewards sounds) can be enqueued on-beat to avoid awkward "polyphony".
In general, the idea with the system was to allow any stage in the sound creation to modulate any aspect of the sound. For example, when you fall into the water, the velocity of your impact determines an LFO's frequency and magnitude. This LFO modulates a resonant low-pass filter, filtering white noise to emulate the effect of exiting/entering water at different speeds:
Other examples include all colliding objects and their collision sound, being modulated in a similar way. The giant fan at the end is also physically modelled, but another aspect of procedural sound design is, that it gives the possibility to synchronize sound and object. For example, the rotational speed of the fan directly controls the synthesis and LFO rates. The procedural system also gives other interesting features, like globally modifying time, without getting unwanted audio artifacts (like resampling, time stretching etc).
The license is GPL v3, same as the blunt library.
The actual game isn't being actively worked on, however the underlying sound technology, bits and pieces are slowly merged into the blunt library.