Endless "Skier" Alternate Controller Project

For my Alternate Controller midterm project, I teamed up with Kevin and Quin, who are also members of my senior project team. We initially came up with the concept of creating a step sensor that measures the heaviness of your steps in hopes of eventually implementing it into our senior project game Hypoxia, a VR horror game that measures the player's biometric info and incorporates it into the gameplay.


We figured that piezo elements would make the most sense to use. We wanted to make sure that stepping on them wouldn't absolutely destroy them. I figured that taking two pairs of large, squishy sandals and "sandwiching" the piezo elements in between would provide enough padding so the element remains safe. I also suggested using adjustable Velcro straps to secure the user's feet in, to make it a "one size fits all" sort of deal.






So Kevin got some Velcro straps and dollar store size 12 sandals and got to work constructing the shoes. In the meantime, I looked up how to configure the piezo element to the Arduino and tested a simple knock sensor to observe behavior of the sensor and get a feel of the various thresholds. Quin started working in Processing to create the framework of an endless runner game where you try to dodge oncoming objects by repeatedly stepping with the shoes to control your sprite's vertical position.



The endless runner kindof worked,  but it was a little finicky. We then tried having the player stand on the shoes and shift their weight left to right to control horizontal direction, giving it a sort of "skiing" feel. The sensors detect which foot the weight is on, and adjusts the speed/direction accordingly by taking the difference between the left and right foot input values.




This worked surprisingly well, and although not useful for the purposes of Hypoxia, at least we are still able to use it for the purposes of this class. So now we have an endless "skier" where you control the horizontal movement of your sprite, while numerous squares rain down from above, giving a top-down feel of a skier going down a hill and dodging trees and other obstacles. The game takes your score and you lose when you "crash." Eventually the game will incorporate appropriate graphics instead of squares and a circle with a blue background, but the central game mechanics work, which was the most important thing to focus on for now.

Brainstorming: Digital Marble Painting


Remember that classic preschool art project where they give you a paper plate with paint-covered marbles and you roll them around and create cool abstract looking art? You know, the kind of art that you see in the museum and think, "wow, a preschooler could do that."

Well, imagine doing that but with tons more possibilities, because your artwork is on a digital canvas that can be customized and adjusted in so many different ways. And most importantly, you can say you made it using a computer application instead of a paper plate, so you'll be seen as more credible to art critics.


Consider being able to dynamically change your paint color, add effects or animations, or add more marbles to your artwork at any given moment. Well, this is my next brainstorming idea: a marble painting game that is controlled by a tiltable controller. 

The minute I saw that my Arduino kit came with an 3 axis accelerometer, I got pretty stoked and started thinking of ways to use it. The controller would be designed to mimic a stereotypical artist's paint palette that the user tilts around in order to control their "marble" that's rolling around on a digital canvas produced by a processing application. 

The accelerometer detects the angle at which the player is tilting the palette, and the marble will react and travel in the appropriate direction. Several buttons on the palette will allow the user to customize their artwork. For instance, one button could cycle through different colors, another could add more marbles with every press, and a third could cycle through random effects and brush styles.

Wow. Such art

Reading and fine tuning the accelerometer input may be a challenging task. It's also worthy to consider the behavior of a rolling marble paint ball in order to emulate it digitally. First, the speed of the marble affects the thickness of the line that is created; a faster marble creates a thinner line, and vice-versa. So when drawing the line, we would need to make it correspond to its current speed.

Second is the behavior of rolling the marble ball over already-painted surfaces. Creating that "smear" effect may pose a bit of a challenge coding-wise. A possible solution would be having the marble thicken the existing lines that its travelling over. It could also possibly draw additional pixels of the existing color underneath in the same direction its rolling. Sounds a bit tricky, but it's probably doable.

Anyway, I think this game would bring people back to their childhood and making these fun little marble paintings. I also think the indirect control of tilting the canvas itself makes things a little more unpredictable, so they're a lot more fun. Plus, combining those elements and implementing them in a digital application adds way more possibilities than just using paint and a paper plate.

Brainstorming: Interactive Glowing Garden

Going to the Maker Faire last weekend was a really big help with inspiration for new project ideas. Seeing the work of the talented Ben Hencke made me think about the visual appeal of LEDs and how much I enjoy things that glow, especially in interesting and colorful patterns.

Main Street Electrical parade further proving my point that lights are fricken awesome
Source: usnews.com

I'm reminded of going to Disneyland as a kid and watching the Main Street Electrical Parade. I watched in awe as the parade floats, which were covered in hundreds and thousands of lights, rolled along to an electrifyingly upbeat baroque hoedown track (which gives me nostalgia chills just listening to it).


Before the parade, Main Street vendors would sell glowing toys so the kids could have something to entertain them while they were waiting for the show to start. One of my favorite toys I ever got was a beautiful light-up glowing rose. Something about the simplicity of making a flower glow was just so visually striking. Plus I got to wave it around like a magic wand and feel pretty cool...until the batteries ran out.





So, I was thinking it'd be really fun to recreate this whimsical magical experience by making a sort of "garden" full of glowing plant-like elements. But not only that, the garden is also interactive; like a nature "control panel," but instead of buttons and knobs, it's glowing flowers, mushrooms, leaves, bugs, etc.

Think this except more... planty.

Basically, input from the user would affect the patterns of lights and sound that the garden would make. Garden elements would be made out of a sort of fabric or plastic material (or paper if I decide to be cheap, but that's not really durable); something would easily compliment the glowing LEDs. Could throw in some fiber optic grass to be extra fancy. (Side note: I totally had a fiber optic magic wand from Disney too)

Flowers could be mounted on a potentiometer to be rotated by the user to fine adjust the spectrum or color palette. Users could gently tap on mushrooms like drums, or touch a colorful vine to make tranquil piano sounds (each element using pressure sensors). Other touch-sensitive elements can trigger a flurry of blinking LEDs and/or whimsical, magical sounds. Basically, I want to offer people a fun and pretty playground that is both relaxing and enjoying to play with. This augmentation of the garden flowers and plants allows users to interact with them, which promotes a connection and appreciation for nature. 

Nature is something I really enjoy and appreciate, and sometimes I feel like we don't take enough time to stop and smell the flowers. I feel that this would be a cool way to remind people of the beauty and magic that nature brings to our world. 

Also I'm not a hippie, I swear.