I figured since I did a bunch of work on this throughout the semester I’d make a post about it. This originally was going to be my final project, I had wanted to create a replica of the asteroids game. I ended up switching my final project to another type of ball game because of the whole kinect interactivity that was needed for it. I got as far to having a moving spaceship and random asteroids moving about. A lot of work needed to still be done, but I gave it up to pursue a ball game for the kinect, which I unfortunately couldn’t figure out how to integrate the kinect stuff with it. I was however pretty happy with the highscore ability I was able to put into the sketch.
For assignment 4 I used the “box” class I created in the previous exercise and introduced some movement and mouse interaction. I accomplished movement by introducing speed and gravity, and edited the xpos of the rectangles t a simple math function of xpos+mousex. The result is a grouping of rectangles that bounces off the bottom of the screen and shifts left and right as you move the mouse around. if you compare it to my assignment 3 you’ll notice that the overall sketch has remained relatively unchanged and all of the changes occurred in the box class.
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.
For assignment two I created a relatively simple ellipse script based on the SetupDraw example. My sketch sets up a y variable in relation to the screen’s height and then decreases the value (pushing it up the screen) as it runs through the sketch. I’ve set up a simple if statement that resets it to bottom of the screen when it goes past the top. The y variable becomes the y location coordinate for the ellipse, while the ellipse’s width and height are also proportional to the that variable, so it decreases in size as it moves up the screen.
For the final exercise I took the basic outline and recreated and modified the example we made in class. I created a wider arrange of colors for each of the shapes and varied the sizes of the cubes. Along with this I modified the starting speed and the angular speed allowing them to head off in any direction. Lastly I introduced the mouse functionality of the program using the left and right click of the mouse. If no button is pressed the cubes will just continually bounce around the screen as they normally do. If, however, the left mouse button is clicked all the shapes will ease themselves towards the mouse and stop. If the right mouse button is pressed they will move apart more quickly as they speed up faster towards the edges.
Here is a video of a guy using the MindWave in conjunction with processing. The MindWave is a device that measures brainwave signals and multiple mental states. Different patterns of neural interaction are characterized by different amplitudes and frequencies. By filtering out some of the ambient frequencies of the body, this device amplifies raw brainwave signals. More specifically, this device monitors the attention levels of a person as they interact with math, memory and pattern recognition. The guy in this video is plugging the data from the MindWave into a program written in Processing. The product is a graphical representation of the data that responds in real time to the changes in brain activity.
Virtual Urbanity is a thesis project that was designed by Rafail Bakolas at the Bartlett School of Graduate Studies. It was programmed using the processing language. It is a parametric simulation engine which models a vast and diverse amount of 3D urban configurations. It is based on a Lindenmayer system which I think works like fractals. Or even like Processing on some level. So there would be a set of rules (if this, then that) which take a string of input and produces an output that grows exponentially. This project defines the topology, the geometry, the width, the length, the density and the spatial significance of the streets. Conceptually the aim is to draw relationships between the creation of a realistic urban setting in the physical world to the abstract imaginary environment of the virtual world.
Here is where you can get a pdf of the thesis. It’s pretty interesting stuff.