The Independence Seaport Museum opened a new exhibit to showcase the Delaware River Watershed. Bluecadet partnered with Habitheque.com to create a unique experience for kids to have fun and learn about the watershed.
The Continuum Wall was one piece of the larger exhibit. We were tasked with gamifying cleaning up the river. Developed in Unity and projected on a 32-foot long curved wall, we have multiple stations where kids can interact with sensors to help clean up the river. As the river gets cleaner, the dirty water clears up and there is more and more activity in and on the river, ultimately triggering “Party Mode”!
Development Highlights/Challenges
Flocking
I, personally, got really into flocking and how the fish themselves moved throughout the water. Our scene was technically 2D, and we had the added complication of the 5 zones. Certain fish could not enter zones and some couldn't enter zones depending on how dirty the zone is. We really got into modify 3D flocking algorithms and figuring what looked the best in our scene.
External Sensors
Another challenge was having the external sensors providing input and feedback for the participants. There were five stations, with 3 input types; blow, spin, drum, roll. There was a drum like pad for hitting, a "wind" sensor you blew into which also has a spinner on it for those who couldn't blow, and a ball you could spin, much like a bowling ball. Each of these were used to help clean up the river. Each station also contained LED lights to light up providing visual feedback to the player based on their interaction and what was happening in their zone.
These sensors were created by a 3rd party, Creative Machines, so that alone provided some fun, but overall worked out very well. The first challenge, was just getting things to work correctly. Getting the proper input, triggering actions in the scene, and sending back the correct signal to light up the LEDs. Once that was done, we spent a lot of time working on a mechanism for weighting each input. The data we received for rolling a ball versus hitting a drum pad were quite different. We also only had small prototypes in office during development and not the real sensor until install. So we had to prepare to be able to tweak and update things quickly onsite at install time.
5 zones for sound
Another piece I was really proud of was ending up being able to have 5 zones of sound. Our original plan for sound was 1 simple track for the whole wall. Unity also only supports 1 sound listener in an individual scene. We thought we were a bit limited by Unity itself. However, it does support 5.1 surround sound. Typical surround sound file would contain 6 tracks, 1 for each each speaker. We ended up having 5 files per sound track that we needed, each with a different track with the audio and nothing on all the other tracks. Add in a custom script mixed each file depending on where the sound source is in the scene, we had 5 zones for sound. Pair that with the directional speakers, you really felt like you were listening to the sounds only in your zone.
The full experience captured from a development computer.