Nothing really new here if you're familiar with the blog, but I thought I'd post it anyway, since it is a nice little compendium of most of my better stuff. And yes, it's an audition for MTV's Engine Room. Spent way too much of my weekend putting this together. Anybody know any good, cheap video editors out there? I tried Sony Vegas Platinum, but it seems to only support two video tracks which is staggeringly lame. Cheap is more important than good right now.
(Apologies for the cheesy pun at the end -- that's my oldster attempt at playing to the MTV crowd...)
Update: This is effect is currently being used by the band The Killers in their onstage visuals during their current world tour. It's deeply satisfying to see it being used in a high-profile setting.
I quite like how this one turned out. I've been playing with real-time physics libraries for a while, both 3d and 2d, and I've been wanting to do something for a while, but I've found it surprisingly difficult to come up with anything that grabbed me. But a couple weeks ago I had a brainwave and wrote this in just a couple days.
For those interested in such things, I didn't use Erin Catto's Box2D, which seems the current champ in developer mindshare in this tiny niche. I started out using it, and it's quite nice, but it just wasn't fast enough when I used enough circles/pixels to generate an intelligible representation of the video stream (there're about a 1000 used in the demo above). Luckily, I chanced across Scott Lembcke's chipmunk physics library which uses some kind of fancy-pants geometric hashing to speed up collision testing, and it works quite nicely in real-time with 1000 pixels/circles.
As ever, I'm impatient with the whole documenting process, which is why these demos are a tad perfunctory and under-(non-?)rehearsed at times. So yes, if you listen close, you'll hear me say to my wife, "I just want to get this stupid thing up on the web...."
P.S. Some people have told me they have trouble with the vimeo video, so here's a link to the (ghastly, artifact-riddled) youtube version.
Watch it leak like a sieve. Might be obvious to some, but even though the second declaration of img comes after its first use in the nested scope, the compiler still assumed I was referring to the nested img. Which seems like a compiler bug -- why would it permit use of that variable before it is declared? The second declaration was a cut-and-paste error, btw.