Particle System Concepts

1 view
Skip to first unread message

tehCheese

unread,
Sep 2, 2008, 9:13:48 PM9/2/08
to Falling Sand Games Development
Most sand games start out as color based sand games, meaning that the
screen is scanned and if a pixel is a sand pixel, it is moved
according to its parameters. But today I want to share with you
another type of sand game: the particle based kind. Instead of just
being a sand game, it's more of a very simple particle engine.

Pros:
-You tend to get faster and more consistent speeds with particle based
simulations.
-There are a lot more things you can do with particle simulations e.g,
you can incorporate velocity, which opens up many possibilities.

Cons:
-It's still not as fast as the current fastest method of directly
manipulating pixels on the screen.

THE BASICS:
Particle engines are based off of the 'particle' object. 'particle' is
a class that is user defined class that has all the properties of a
particle, the most important of which are the X and Y coordinates, and
the particle id itself. The particle id is what tells program what
element it is. Now this is just the basics of particle sand game
simulation. I'll post a simple implementation later.

inferno

unread,
Sep 2, 2008, 9:16:23 PM9/2/08
to Falling Sand Games Development
Plus, with particle-based engines, it is easier to implement wi-- *
choked by tehcheese *

tehCheese

unread,
Sep 2, 2008, 9:29:57 PM9/2/08
to Falling Sand Games Development
Yeah, lol. Although the cat's already out of the bag. YES!!! NGSAND
WILL EVENTUALLY HAVE WIND!!! Also, particle based simulations have no
bias whatsoever, because instead of running through every pixel on the
screen in a certain direction, you run through the array of particles.
Those particles could be anywhere on the screen.

madk

unread,
Sep 3, 2008, 7:00:55 AM9/3/08
to Falling Sand Games Development
Acctually, QuickSand is entirely pixel based and I found little
difficulty in making bias run for its mother.

I do things to keep bias away
1. I check from one corner of the sandbox to another doing updates
chosen at random
2. I prevent pixels from reacting or falling more than once (I do not
see this as a problem with slip)
3. When checking for reactions, I use a pretty foolproof system:
Choose a random bordering pixel to start at
Choose a random boolean
If boolean check pixel clockwise from starting point
Otherwise check counterclockwise


And what's the deal with 'Ng'Sand?
Also, could you have made it any more obvoius that there was wind
already? o.o


And, Inferno, your stated method of scanning pixels and acting
accordingly.. that is extremely unwise because you can't have that
much manipulation of pixels.. I store them in an array. It seems
faster IMO.

inferno

unread,
Sep 3, 2008, 7:32:59 PM9/3/08
to Falling Sand Games Development
Pixel based as in you can think of each cell of an array as a pixel.

tehCheese

unread,
Sep 4, 2008, 4:10:34 PM9/4/08
to Falling Sand Games Development
You see, with particles you don't need to do any of that anti-bias
crap.
Reply all
Reply to author
Forward
0 new messages