BioPool : BioDesign Studio @ The Tech Museum
While working at Local Projects, I developed software to drive the BioPool at the BioDesign Studio exhibit at The Tech Museum. This is the exhibit centerpiece; consisting of 11 projectors beaming into a C-Shaped translucent screen. On the Inside, 4 kiosks with one tangible interface each allow visitors to interact with the installation.
My part consisted on driving the content for the 11 projectors; a simulation of user-programmed bacteria. Users can chain together DNA blocks that define how the bacterias look and behave. They can design bacterias on their station (kiosk), and then release it to the main pool for them to interact with the bacterias created by other visitors. The only goal is to learn, but to use the system one need to put on the “programmer hat”, which I suspect is quite an unusual hat for most people.
A basic grammar consisting of these pieces was designed:
Pieces can be placed together in a Particular Order:
to create DNA Devices. Up to 4 devices can be attached to each kiosk’s hub, creating complex behaviors. This means a bacteria can exhibit up to four simultaneous behaviors.
One minimal example of DNA logic could be:
which leads to a bacteria that is idle when alon, but swims away when another bacteria is neraby.
One of the goals during the bacteria design phase was to achieve a unique but identifiable look for them, mostly driven by its programming. Each “When” Piece in a bacterium DNA leads to a unique sensor attached to that bacterium’s membrane, as those sensors are responsible of triggering the “What” behavior when the sensor condition triggers. Some of the “WHAT” pieces lead to obvious visible traits; for example bacterias that can flee or follow have flagela to propel themselves.
Hardware / Development
An OpenFrameworks (C++ & OpenGL) app was built. Nvidia Mosaic was used to drive 11 x 1920×1200 Projectors across 3 x M6000 Nvidia Quadro GPUs + one Nvidia QuadroSync card to keep them in sync. We also wrote custom projector mapping + edge blending software solution. The total resolution is 13.200 x 1.920 pixels, roughly 25.3 million pixels.
A single workstation ran the show, we chose a SuperMicro with dual Intel Xeon Processor E5-2637 v2 processors.
LiquidFun was used to run the physical simulation behind the bacterium membrane, flagella and organelle structures, especially to be able to replicate the “stick” behaviour in which a bacteria can become sticky and glue itself to anything it touches.
Complex GLSL shaders where written to allow the drawing of all the bacteria membranes and sensors in a single pass, which turned out to be essential to keep interactive frame rates. The application can draw up to 400 different particles onscreen while keeping a smooth framerate.
The C-Shaped projection screen can also be interacted with from the outside; overhead cameras were installed to get a top view of the projection space, capturing visitors on the outside of the c-shaped projection. Optical flow tracking is used to let the visitors affect the biopool currents with their body movements, indirectly changing the lifes of the bactrium.
Innovation by Design Awards
Creative Direction: Eric Mika