This user has not filled out their profile!
A collaborative music game focussing on the phenomenon of how many people, when working together, form a collective 'hive mind'.
Players log on to the game site where each player controls a small paddle at the bottom of the screen while a stream of generative music is streamed from the game server. At the bottom of the screen is also a global paddle, the position of which is determined by the average of all player paddle positions. Balls with different musical functions fall from the top of the screen, and if the global paddle is successfully positioned below the ball when it reaches the bottom, the music will be influenced by that particular function (e.g. bringing an instrument or effect in).
How it works
A generative Pure data music patch runs on a dedicated server system called GRASS (Generative Reactive Audio Streaming Server). GRASS communicates directly with a Node.js server, which controls the game state and logic. In turn, the Node.js server communicates with the players via WebSockets.
The history of the Pure Data (Pd) audio programming language is a long and storied one. The development of libpd has opened up the language to new applications, especially on mobile devices and in games. A great advantage is that the same environment used for testing and development can also be used in production. But Pure Data, being an interpreted language, suffers from the typical shortcomings of being relatively slow when compared to compiled languages. This is usually a big advantage, easily allowing for dynamic reconfiguration of the audio graph (patch) during development. But in production the patch typically never changes, thus making the infrastructure necessary to support it redundant.
The Tannhäuser Pd Compiler takes as input any Pd patch, and translates it into optimised C code, which may then be added to any application. This allows a final Pd patch to execute as fast as possible on the system, while also minimising the use of memory resources.