In Lecture, we learned about displaying simple graphics, using the Kivy canvas (python version of OpenGL) to draw a primitive shape, and connecting that to user input. We also learned about different types of animation, keyframe and physics based.

For the first part of the assignment, I created mappings between color, shape and sound. When the user presses a key, a tone is generated as well as a visualization to match that sound. In the second part of the assignment, I created a bouncing ball. When the ball hit the bottom or sides of the canvas, it would play a sound, decaying after each bounce. After five bounces, the ball would fall off the canvas and be destroyed. For the third part of the assignment, we were asked to create a unique system that marries graphics and music. I made three different graphics systems because I was so enthralled by this assignment.


For the ripples demo, users could move their mouse around the screen and add 'bouys' to the canvas. Users could generate a ripple by pressing the spacebar or clicking on the screen. As the ripple intersected with a bouy, the bouy would animate and play a sound. I was interested in spacializing sound across two dimensions to explore how a user might interact with such a system. Additionally, because of my interest in physical space design, I could imagine an interactive musical experience where guests could trigger music based on where they were physically located.


BubbleWrap was a simple game, where the goal of the game was to pop all the bubbles on the screen. At the end of each level, the number of bubbles would increase by a power of two becoming increasingly more tedious to pop.


I was totally inspired by Amanda Ghassaei's boiing demo when I built my own SugarCube. She wrote her system in Max and Arduino, but I wanted something that would work in Python, so yay!

Instructable for SugarCube: HERE

Youtube Video of OG Boiing: HERE

Video Demo