Skip to content

TOGETHER

Together is my final project for Redial/Nature of Code/Live Image Processing and Performance.

I came to ITP from a music performance background dissatisfied with the standard process of music making in public. The desire to bring all the new skills I’ve developed over the semester has been brewing in the back of my mind and now finally, its coming into focus.

I’m interested in involving the audience in a real-time creative process and converting this one-way communication into a dialog. Using the openFrameworks addon I developed from Chris Kairalla’s Tinyphone Java client and Chris’ Tinyphone Node.js program, I’m able to channel phone calls to a phone number through an Asterisk server I have running in the cloud through the Node program into openFrameworks and retrieve all the data about the call and use that in my OF program.

Here is the initial experiment in class.

Fireworks Simulator

I’ve built a fireworks simulator. Its the beginning of a more complex system I intend to build at some point. For now it has the basic movement and organization that I think is scaleable…i think…

https://github.com/m1keall1son/Nature_of_Code.git

gitHub

Springs

this

When you click there is a repulsion force applied from the mouse. CLICK IT.

SET THINGS ON FIRE

Hey y’all,

So we are now creating particle systems that have forces creating the acceleration of the objects and I’ve created the following.

This motion study is called “Floaters” and its not exactly using pure forces to accelerate the particles, but its using drag-force that happens when the dudes hit the squares. It resembles plankton or something floating about in a shallow ocean current. right??

Floaters

After the study I ported it over to OF and created this program called “SnowBurn”, please download, unzip and run the app. It runs on the same principles but the motion is entirely controlled by forces (wind, gravity and drag) and onces the circles burn they turn to little ashes.

SnowBurn

Finally, I wanted to explore the idea of attraction and created this piece in processing called AttractionStudy. All the little guys are attracted to each other with gravity and provide a drag force on each other if they come close enough together–so they clump. They are also attracted to random hidden points on the screen which keeps them from wandering off and eventually they get into a stable orbit. Its kinda slow on JS so you could copy the code into your own processing and run it with OPENGL or something.

attractionStudy

Radius Study

Radius Study is a non-traditional drawing technique that uses a power drill to draw a continuous line resulting in algorithmic circular patters. It is inspired by drawing machines and generative computational media in general.

GROUND HOG DAY INFINITE LOOP GAME

Have you seen the movie Groundhog Day? I hope so because bill murray is awesome in it and I based my asterisk dial-plan phone game on it.

The ground hog day infinite loop game is a choose your own adventure style game in which the narrator tells a simple noir style story giving the user 3 options at certain points that will dictate the outcome of the story.

Most of the options get you killed.

If you die the plan starts over at the beginning of the story. Thus the infinite loop.

Call 1-917-534-6464 ext 27 to play the game


[mpa292]
exten => s,1,Answer()
exten => s,n,Goto(mpa292_ghd,ghd,1)

[mpa292_ghd]
exten => ghd,1,Set(NAME=/home/mpa292/asterisk_sounds/ghd/name)
exten => ghd,n,Wait(2)
exten => ghd,n,Playback(/home/mpa292/asterisk_sounds/ghd/Intro)
exten => ghd,n,Playback(vm-then-pound)
exten => ghd,n,Record(/home/mpa292/asterisk_sounds/ghd/name.wav,5,5)
exten => ghd,n,Wait(1)
exten => ghd,n,Playback(/home/mpa292/asterisk_sounds/ghd/instructions)
exten => ghd,n,Wait(2)
exten => ghd,n(beginning),Playback(/home/mpa292/asterisk_sounds/ghd/beginning)
exten => ghd,n,Playback(/home/mpa292/asterisk_sounds/ghd/choices)
exten => ghd,n,SayDigits(1)
exten => ghd,n,Wait(1)
exten => ghd,n,Playback(/home/mpa292/asterisk_sounds/ghd/begCh1)
exten => ghd,n,SayDigits(2)
exten => ghd,n,Wait(1)
exten => ghd,n,Playback(/home/mpa292/asterisk_sounds/ghd/begCh2)
exten => ghd,n,SayDigits(3)
exten => ghd,n,Wait(1)
exten => ghd,n,Playback(/home/mpa292/asterisk_sounds/ghd/begCh3)
exten => ghd,n,WaitExten(5)
exten => 1,1,Goto(mpa292_ghd,begCh1,1)
exten => 2,1,Goto(mpa292_ghd,begCh2,1)
exten => 3,1,Goto(mpa292_ghd,begCh3,1)
exten => begCh1,1,Playback(/home/mpa292/asterisk_sounds/ghd/piano)
exten => begCh1,n,Playback(/home/mpa292/asterisk_sounds/ghd/youAreDead)
exten => begCh1,n,Goto(mpa292_ghd,ghd,beginning)
exten => begCh2,1,Playback(/home/mpa292/asterisk_sounds/ghd/gun)
exten => begCh2,n,Playback(/home/mpa292/asterisk_sounds/ghd/youAreDead)
exten => begCh2,n,Goto(mpa292_ghd,ghd,beginning)
exten => begCh3,1,Goto(mpa292_ghd_2,part2,1)

[mpa292_ghd_2]
exten => part2,1,Playback(/home/mpa292/asterisk_sounds/ghd/part2)
exten => part2,n,Playback(/home/mpa292/asterisk_sounds/ghd/choices)
exten => part2,n,SayDigits(1)
exten => part2,n,Wait(1)
exten => part2,n,Playback(/home/mpa292/asterisk_sounds/ghd/p2Ch1)
exten => part2,n,SayDigits(2)
exten => part2,n,Wait(1)
exten => part2,n,Playback(/home/mpa292/asterisk_sounds/ghd/p2Ch2)
exten => part2,n,SayDigits(3)
exten => part2,n,Wait(1)
exten => part2,n,Playback(/home/mpa292/asterisk_sounds/ghd/p2Ch3)
exten => part2,n,WaitExten(5)
exten => 1,1,Goto(mpa292_ghd_2,p2Ch1,1)
exten => 2,1,Goto(mpa292_ghd_2,p2Ch2,1)
exten => 3,1,Goto(mpa292_ghd_2,p2Ch3,1)

exten => p2Ch1,1,Playback(/home/mpa292/asterisk_sounds/ghd/gun)
exten => p2Ch1,n,Playback(/home/mpa292/asterisk_sounds/ghd/youAreDead)
exten => p2Ch1,n,Goto(mpa292_ghd,ghd,beginning)

exten => p2Ch2,1,Goto(mpa292_ghd_3,part3,1)

exten => p2Ch3,1,Playback(/home/mpa292/asterisk_sounds/ghd/inCommon)
exten => p2Ch3,n,Playback(/home/mpa292/asterisk_sounds/ghd/gun)
exten => p2Ch3,n,Playback(/home/mpa292/asterisk_sounds/ghd/youAreDead)
exten => p2Ch3,n,Goto(mpa292_ghd,ghd,beginning)

[mpa292_ghd_3]

exten => part3,1,Playback(/home/mpa292/asterisk_sounds/ghd/p3)
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/p3_1)
exten => part3,n,Playback(${NAME})
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/what)
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/p3_3)
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/what)
exten => part3,n,Playback(${NAME})
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/p3_4)
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/choices)
exten => part3,n,SayDigits(1)
exten => part3,n,Wait(1)
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/p3Ch1)
exten => part3,n,SayDigits(2)
exten => part3,n,Wait(1)
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/p3Ch2)
exten => part3,n,SayDigits(3)
exten => part3,n,Wait(1)
exten => part3,n,Playback(/home/mpa292/asterisk_sounds/ghd/p3Ch3)
exten => part3,n,WaitExten(5)
exten => 1,1,Goto(mpa292_ghd_3,p3Ch1,1)
exten => 2,1,Goto(mpa292_ghd_3,p3Ch2,1)
exten => 3,1,Goto(mpa292_ghd_3,p3Ch2,1)

exten => p3Ch2,1,Playback(/home/mpa292/asterisk_sounds/ghd/gun)
exten => p3Ch2,n,Playback(/home/mpa292/asterisk_sounds/ghd/youAreDead)
exten => p3Ch2,n,Goto(mpa292_ghd,ghd,beginning)

exten => p3Ch1,1,Playback(/home/mpa292/asterisk_sounds/ghd/walkTogether)
exten => p3Ch1,n,Playback(/home/mpa292/asterisk_sounds/ghd/piano)
exten => p3Ch1,n,Playback(/home/mpa292/asterisk_sounds/ghd/youAreDead)
exten => p3Ch1,n,Goto(mpa292_ghd,ghd,beginning)

I will never make another random walker…EVER

Hello World

I explored many random walks. Let me walk you through, please follow the links:

the simple GaussianWalk, a walk that hops along at reasonably distributed jumps. It has a 5% chance of following your mouse and when it decides to reach out to you the line turns white.

the more interesting GaussianWalk in 3D. The same, but in 3D. fly around with the arrow keys and ‘i’/'o’ to zoom in and out.

I was going to make something more life like than pure randomness….but i got really hung up on making a walker that would never cross over the path he’d been down. So i did that instead, CLICK HERE. This one also jumps with gaussian distribution, but will never cross over itself. If only it weren’t so dumb that it always gets trapped…just reload the page.

lastly I managed to make something beautiful out of all this randomness with OF. Using ping pong fbo techniques I created a little random walk that runs in a circle on perlin noise that flares out like the sun. NASA Sun photography is my inspiration for this on. Please download the application to enjoy.

Download the SUN

firewall documentation

Firewall from Aaron Sherwood on Vimeo.

Arboration Documentation

FINALLY done…it was only the midterm afterall…

Arboration Final Documentation from Michael Allison on Vimeo.

Made from plywood, acrylic resin i think, copper plates, tons of wire and our good friend arduino here’s some of the build:

Firewall

Physical Computing Final.

Firewall is an interactive media installation built with spandex, kinect, arduino, processing, max and a projector.

The stretched spandex acts as a membrane interface sensitive to the depth. The more you push the more effect is provided from the visuals and audio. There are two modes to experience, one relaxing and one more agressive.

The original concept idea stems from Aaron’s upcoming Purring Tiger performance, for which this is a prototype, and from my initial experiments with kinect, projection and membrane based depth sensing. The Purring Tiger performance is about death and experience of reality, so this membrane represents a plane that you can experience but never get through. As hard as you try to understand whats in between life and death, you can never fully know.

The firewall is a representation of that limitation to our understanding of our own existence.

video coming soon!