Bienvenidos all. On this page i will be documenting the results of my Final interactive electronic arts project titled “Color Drips”.
The primary focus of the project was to create a digital and riskless canvas for street art, also known as graffiti. Using only a wiimote synched up to my desktop computer, one color drip candle cut in half and some basic max/jitter patch work, I have tried to make as realistic of a spray paint simulator as I could given the time constraints and technical limitations
My initial concept for this project was much different than what I ultimately ended up going with. My initial concept/prototype idea, depicted by the drawings below, was to use a combination of arduino sensors and computer vision to take an empty spray can and give it new life, turning it into an interactive controller for spraying on a digital canvas.
The can would have had an arduino on the inside with the top spray nozzle removed and replaced with a similar shaped object known as an encoder(think a rotary dial that is also a button. Kinda like what is found on most car radios to control volume/turn on and off).
Example of a common, Arduino compatible, Encoder.
This encoder, when turned, would have controlled brush/spray size of the digital spray paint allowing for finer detailing and spray scaling based on screen size. When pressed, it would of course trigger the spray. The location you’re spraying at would have been controlled via a camera which looks at you holding the spray can outwards, specifically looking for an LED light setup on the outside of the can. To synch with the patch for drawing in jitter, this locational data would have then acted as a replacement mouse, the encoder button working as a left mouse click, and with the cursor being hidden/replaced by a max logic command when going fullscreen.
The final bit of functionality on the can would’ve been the addition of a color changing system which happens every-time you shake the can, perhaps controlled either with a flex sensor left to dangle in the hollow inside of the can or by some other manner of control. I purposely wanted to give the project a bit of random flair which would simulate the lack of/spontaneity of resources and permanency that is occurred when one tries to paint on the streets. It is for this reason that I choose to not pursue adding an erasing feature. Because in real life tagging you can’t really easily erase spray: you either paint over it or wait for it to be scrubbed off.
To this end, the original concept ALSO had an in patch feature in which, after a random (but not TOO short) interval of time, the piece would reset the entire canvas, whether the artist wanted it to or not. Through this i wanted to emulate the bit of risk/stress/problem with spraying on the street: the general impermanence and lack of time one has to complete their art whether it be due to the acts illegal nature or simply based on man and natures efforts to remove the piece against the endeavors of the artist.
Unfortunately due to lack of materials and time, it was necessary to somewhat dumb my project down a tad. The Arduino was quickly replaced with a wiimote and the processes necessary to sync it with a computer while the spray can was replaced with a halved color drip candle (from which the project now drives its name) and a mount to hold them with. The candle halves work like the basic wii sensor bar in that they emit infared light which the wiimote then picks up on and uses to determine location of the cursor.
The wiimote was coded to resemble my original spray can idea as much possible: the a and b buttons are spray triggers corresponding to left and right click respectively, home button turns on full screen and the plus and minus buttons adjust brush size. The 1 and 2 buttons turn on and off the cursor display respectively. When the wiimote is shook, it triggers a color randomizer that goes through the whole color spectrum and then repeats with randomized saturation levels. This randomizer can even be left on if you want to spray with a changing rainbow toned spectrum.
Admittedly, my project doesn’t quite have a singular metaphor or phrase which I can use to cleverly sum up or express the idea behind my project. Instead I wanted my project to be more of a conceptual metaphoric device used for simulating what it would be like as a graffiti artist on the street. Simulation isn’t quite so far off from metaphor conceptually, so I rationalized it as being an acceptable interpretation of what was asked.
Paper on metaphor and simulation in video games. Not Necessary , but provided as a resource for my views.
There is however a somewhat small artistic and perhaps metaphoric connection I can make from my project that emerged as it itself changed: the connection between the dripping candles and the “dripping spray paint”. The candles themselves are an interesting medium: cut from one original candle I’m literally burning the candle at both ends. And since they are different widths, one burns faster than the other, which makes they spray more erratic as the piece goes on until they have both burnt out and my time is fully up. It turns the painting process into a somewhat stressful race against the clock, perhaps a metaphor for how street painters feel racing against discovery. Not sure.
Ultimately, my final project is pretty close to the level that I wanted my original concept to reach, though obviously with a different control mechanism. i will however say that this is the first project where the coding aspect has fallen somewhat outside of my normal comfort zone and into far more complicated territory.
I had to use a variety of jitter features I have not had enough GENERAL coding experience to be able to understand completely. I have to give credit where credit is due and cite Andrew Benson at cycling74.com for his recipe 44 patch “Scrolly Brush”.
My patch relies heavily on his design for scrolly brush if only because his seemed to be the most elegant and intuitive method for taking the info generated by the jit.mgraphics object and using jit.pix and jit.matrix objects to create constantly layering strokes on a singular updating canvas. The “spray” itself is nothing more than a constantly generated ellipse with a gradient in it that’s being repeatedly saved in different locations onto one image screen.
It was also for this reason (unfamiliarity) that the randomly clearing part of the patch was left out: I currently know only how to clear the mgraphics object, and am not as familiar with matrices and the pix object as they are used in jitter. Nor do I completely comprehend which part is doing the brunt of the image saving, the pix or the matrix. Rather than futz with that, I felt it more appropriate to just leave that part for another day.
That being said, despite this post encapsulating what is the Final submitable version of my final project, I do have a strong desire to return to this project in the future. I’m going to be picking up an arduino board sometime soon and hope to use it to fully create my original idea. I plan on using my design possibly as a live interactive part of my room next year (and this year if possible) that I can boot up recreational for myself and my friends to come and express ourselves as we see fit. Make this project a permanent part of my daily life. Definitely.
Overall, and for the final time, I hope you all enjoy my project and I look forward to whatever comments and criticism you have to give.
If you have any other personal questions, or I havent responded here in a while, feel free to contact me at my public email at firstname.lastname@example.org and I’ll respond as soon as I can.
Thank you again for your time and consideration,
-Skyler P. Alsever