Final Project: Volleyball

Carianne’s and my final project focused on making a processing program that could actually represent a game of volleyball. We each focused and worked on different parts on our own and then brought them together in class. I worked on the mechanics of the ball and how it was effected by gravity, the hand, and how it would interact with the environment. It took awhile for me to look up, understand, and write the equations for gravity and make it look real. It also took awhile to have the hand variable keep track of the speed that it was going and impart it onto the ball when it touched the edge of it. Carianne focused on the net, background, and how the ball would interact with objects. When we brought the two together we then added a set of state machines to allow it to keep track of score, position, and even begin to play with serving and playing the game.

Sandboxed (no-kinect) version of Final Project for Prototyping

Download the non-kinect version of the final project point of departure.  The four classes, GroupManager, InputInf, SampleGroupObject, SampleObject are all identical, literally the same file.  The only change is to the root sketch which removes the kinect functionality altogether, and replaces its input with the mouse.  This should enable you to do all of your work and test it with the mouse without hassle.

Final Project . version 1

Today in class we will do a walk through of the core framework you will be provided with for the generation of final projects.  The files have been documented to provide you with a sample and an initial body of coments to guide you to the start.  I will continue to work on the framework to provide additional functionality for the groups as it is needed. 

It is not required, but highly recommended that you partner with a fellow classmate.  Pair programming can be an optimal way to catch bugs and work through logic problems more rapidly than by yourself.  Of course the scope of the projects should reflect two minds and bodies.

The project will use the Microsoft Kinect hardware for input and will be projected at a large scale.  We will talk through working on the project in absence of having a Kinect unit.  Of course if you are interested an able or already have a Kinect you can follow the installation instructions to run the device on your own computer.  Even if you are not running the kinect hardware on your computer you should follow the same instructions to install the libraries, etc. so that the processing code will properly compile. 

If you are working out of the lab, we will discuss other methods for developing your final projects.

Final Project Files

Project Idea: Interactive Node War

My first ideas for the final project was to continue on with my room controller idea and have my project be about utility and have it serve a function that was very technical. After some thought though and reworking some of my initial ideas I decided to change what I wanted my project to be. I wanted to still have some sense of utility or rather a technical aspect to it, but I wanted it to focus on expanding it and the interaction between the systems and making it into a game.

So my idea for my project is that there a few nodes, or input points, that are located in different places and that all interact with each other. These nodes each have a set number of cubes, color, etc. that can only exist in one node at a time. Now people can call them to another node, but it then steals it from the node it was at. Sort of link in the game Tentacle wars where you have to send out your own objects in the node to attack another and take it over.

Image

Project Idea: Movement Art

It would be fun to create a interactive and colorful floor, where when people steps, circles of different colors are drawn. When people get closer to each other, the color of the circles mixes. You could also add other variables as make the circle disappear when a person is stopped for more than 10 seconds, and that way you can also reflect movement.

This could be used in a gallery, at university, at an airport, or any place with an influx of people and make the space interactive.

Points of Departure

For everyone, its likely you will want/need to use XML
Here are some tutorials for material that we will cover in class
http://www.republicofcode.com/tutorials/flash/as3xml/
http://www.kirupa.com/developer/flashcs3/using_xml_as3_pg1.htm

GOOGLE MAPS

We have already talked about the Google maps jumping off points, which I will reiterate for good measure.

The main jumping off point
http://code.google.com/apis/maps/documentation/flash/

The Developer’s guide is key.  Here you will find the flash as3 tutorial, as well as general information about all the key systems.

Once you have the map working you should move on to making markers.  We will at last go over this “successfully” in class today, here is where to jump start the addition of markers

Once you have the basic marker working, you can move onto making a custom marker, which you do by setting the “icon” of a marker as a flash display object (image, movieclip, etc…), information about how to set the marker can be found here
FLICKR

For the  flickr app developers, here is the tutorial we will be going over in class and a great way to get you started.
http://mos.futurenet.com/pdf/computerarts/ART163_tut_flash2.pdf

the overview of the API can be found here

as demonstrated in the tutorial, you can test the setup of your api calls with a the API explorer system provided by flickr.  (Click on one of the api calls in the API reference linked above.)  This is a great way to get going fast.  Conquer the XML parsing first, get your images out, and then move back to the interface for acquiring/manipulating

the Authorization process, which enables the apisig and token values that need to accompany each request, is documented here

 

ARDUINO

this is a little different of an animal, anyone interested in doing an Arduino based project, should talk to me individually.  It is my intention that you focus on the flash component of the project, I will supply you with a working communication system between the Arduino and flash, as well as the working circuitry.  For a sense of the point of departure that is accessible for the class, refer to the Learning section at www.arduino.cc.  If you are interested in having your own “stuff”, visit www.sparkfun.com and get yourself an Arduino Uno .  Next week I will go over the arduino programming, and re-demo the communication system.