Inspired by Robert Hodgin’s wonderful Processing work I thought I’d have another crack at particles as they seem to be all the rage at the moment. The particle creation part is easy, but getting them to interact with decent physics was getting too much for my mathematically challenged brain. Thankfully I came across the Traer Physics Engine by Jeffrey Traer Bernstein, which handles a lot of that maths for you.
My “Hello World!” code for any platform tends to be a bouncing ball (or an array of them) because it covers most of the structures – if…then, variables, arrays, etc.
So I started building and engine that has a bunch of particles that are all attracted to each other, but more attracted to a single one which is following a target invisible bouncing ball around the screen. (It would make more sense to collapse the particles into the ball code, but at the moment I’m just plugging stuff together.)
It’s very simple at the moment – just an ellipse as the graphic with some trails going on. The above is a version that rendered out in non-realtime with 20,000 particles. I like the way they seem to rope together and struggle to break free. Sometimes there’s a kind of breakaway flare.
There’s also a bit of gravity going on, which drags everything down. Any particles that go off the bottom of the screen are simply recycled up the top (you’ll see this in the initial explosion). A interesting upshot of this is that sometimes the tail of the flare/rope falls off the bottom and those particles make a break for it from the top.