Jon Miller – Project 3

by Jon Miller @ 10:45 am 3 March 2010

Project 3

A zip file containing the source code/executable: link
If you wish to get it working in a playable fashion, please contact me. Thanks.

I chose the input device fairly early on – I figured, given my limited options (microphone, webcam, mouse, keyboard), that webcam would be the most interesting for me, and new territory.

Having seen several projects where the user puts himself into awkward/interesting positions to propel the exhibit, I wanted to create something that forced the user (perhaps against his will) to enter in some embarrassing positions. I decided that a game would be best, to use a person’s natural inclination to win in order to force them to compromise themselves in front of the rest of the class.

I wanted to create a game where a person, using their finger, hand, or entire body, would propel themselves through water by creating snakelike or swimming motions. The idea would be that there would be a viscous fluid that the onscreen representation of one’s hand would push against, and if done right, would propel the user in a direction, similar to the way a snake uses frictional forces against the ground to travel.

Tracking hands/bodies in a convenient/consistent way across variable lighting conditions/backgrounds proved too daunting a challenge for me, especially since there would be no consistent position for them, so I decided to use brightly colored stuffed fish as the game controllers, because their colors were such that it was unlikely anything else in the room would have the same hue, allowing me to relatively easily parse their shapes and locations.

Secondly, implementing the viscous fluid for them to swim through was also too ambitious, and i settled on the fish moving around the screen based on the fish’s location.

In the end, it was a rush to get something that would maximize fun and increase my chances of delivering a workable product to the table by Wednesday. I changed the game to have the two fish (represented onscreen by the amorphous blobs of whatever the webcam was able to detect) shoot at each other, with sound effects and explosions to maximize fun/silliness.

I was able to (eventually) implement an algorithm that calculated the fish’s “pointiest” area, allowing the user to shoot lasers from that point – this meant that if the users pinched the fish in just the right way, they could achieve a certain degree of aiming, and by moving the fish around, they could dodge incoming lasers to a degree.

Conclusions (post presentation)
Although it was not what I expected, the class seemed to enjoy watching the battle, and the participants were sweating with exertion, so I feel I was able to at least capture the attention of people. I liked that the user was given a certain degree of control that was novel to a computer game (if it can even be called that) – I felt this provided a gameplay mechanic and level of complexity to an otherwise simple game.

1 Comment

  1. Jon
    Hi Jon – here are the group comments from the crit.

    I like how the game is still fun even when it is obstensibly broken. 🙂 Always a good technique with a public demo! Nice, simple, effective sound effects. It’s clear your goal was this was to have something fun for people to play by week two, and that’s clearly accomplished, by both showing creativity in structuring both audience expectation and playing to the strengths of your technical implementation. -SB
    — Yep!

    Nice work learning vision and shape characterization from the ground up!
    Those blobs are fun!
    Need more frame-to-frame coherence, to avoid momentary dropouts…
    The blob shapes have a lot of character.

    Maybe you can use infrared or more intense light? I know the curvature stuff is difficult (that being said, it’s obvious you learned a lot through this project), but it would’ve been cool to use body shapes. And maybe have people shoot lasers out of their fingertips and maybe you could block lasers with enclosed circles…or something. But, it is very cute as is and fun to play with in any case! 🙂 –Amanda

    reminds me of this lecture thats making the rounds right now from a CMU professor: the kinda low tech appearance and implementation and the physical interaction really make this game awesome. the blobs are wonderful.

    Go Magikarp! Use Splash attack!
    –I was totally thinking that too….

    That was actually a lot more fun than it might have looked 😀
    I felt like I kind of got the hang of it…’pinch the left fin, squeeze the tail, rotate slowly…’ and that definitely made it more engaging. Though, my arm is really tired after having only played for a few minutes.

    I know that the camera detection plugins for Processing are not easy to work with, so good job getting the color and movement detection to work!
    – i used openframeworks :/ Jon

    Comment by golan — 6 March 2010 @ 7:11 pm

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2016 Special Topics in Interactive Art & Computational Design | powered by WordPress with Barecity