Posts

Showing posts from August, 2017

the end of the end

Image
At long last, I have something resembling a final project. It's nothing like what I set out to make, however. After hours and hours of getting brightness tracking working for the light pen, trying to finagle both video tracking and serial buffer management in a single web application, and attempting to integrate that into my "veins" toy, I hit a brick wall. For whatever reason, I couldn't figure out how to make the jump from moving and resizing a cursor to also having that cursor disperse "veins" - the farthest I got was a moving and resizing cursor. See below. So, I gave up. In the process of giving up, however, I saw something interesting in my webcam mirror - since the framerate of my webcam was embarrassingly slow, the LED would make light trails each frame when moved quickly enough. I was inspired. I scrapped my current project, and instead began working on something entirely different. What I ended up with was pretty neat. The first order o

the beginning of the end

Image
Today, I made my first bit of progress towards my final project. The overall gist? A more robust version of the "veins" toy in the previous post, controlled by a physical device tracked via camera, with various features. The first step: the physical device itself. What better way to interact with a drawing toy than a pen? The initial idea was to have a device that could: >track pressure applied to the tip with an FSR, for the purpose of determining the "intensity" of the "brushstroke" >have an LED on the end to be tracked via camera >have a slide pot of some kind for use as a color picker The first two were easily attainable. I had it together in no time: The third, however, proved unattainable. I had purchased a touch-sensitive slide pot, but upon attempting to use it, found a number of practical challenges. >it was extremely sensitive to any bending or physical interference >it was too large to fold around the pen withou

veins - a weird visual toy

Image
I call this particular bit of code "veins" because it ... sorta looks like veins. Put less creepily, it's a bit like an old Windows screensaver (the one with all the random tubes) crossed with a Jackson Pollock painting. But less elegant. It's a pretty simple toy - I just get the pixel color of wherever the user is clicking, then I send our four "pix" objects that carry that color in random directions, creating random lines at 90-degree angles to each other. It's kind of neat on its own, but clicking many times in a single location / holding the mouse button down also creates an interesting corruption-style effect, or a wavelike effect if the mouse is dragged. For performance considerations, I stop the "pix" objects after 500 steps, so I can rapidly click/hold the mouse button down without bogging down the browser. https://github.com/b-bolles/veins

"write on your journal a paragraph or two about what computing means to you at this point."

Computing, for me, is a means of realization. Pretty much every creative effort I've ever undertaken has been on a computer, or related to a computer: >Robotics with Lego Mindstorms sets >Music production - messing around with synths and sequencers in Ableton >Video game design with Gamemaker as a young kid and with Unity as an older "adult" >3D modeling with Blender >Writing with any number of word processors ...just to name a few. I feel strongly about mediums like AR and VR because they begin to bridge the gap between the virtual and the real. I grew up wishing I could explore the amazing fantasy worlds I saw on TV, in video games, and in my head. In fact, I spent more time in my head than I did in the real world - and since the virtual world isn't bound by the same laws the real world is, I naturally gravitated toward the former. I still do. I spend too much time in MMOs like FFXIV because I love inhabiting the worlds, and interacting with t

Squeezy Circle

Image
My latest invention takes after the subgenre of infinite runners akin to the Flash classic Helicopter and the infamous iPhone game Flappy Bird - namely, ones that require the player to finesse a specific input to weave between randomly placed pillars flying at the player on a 2-D plane. In my case, it's an FSR controlling a sphere. It's particularly jerky, since it's not interpolating the inputs, just assigning them directly to the sphere, but it works well enough. I have a series of blocks objects that steadily approach the sphere, and delete themselves once they're offscreen. They check for collision with the ball only when they're at relatively the same x position, and compare the ball's center coordinate with their own openings. Checking the center of an object as opposed to the entire thing is a practice employed by many 2D 'shmup games, which I am terrible at. Since I seem to be incapable of writing solid serial communication on my own, I borro