Particle systems for MiniB3D?

BlitzMax Forums/MiniB3D Module/Particle systems for MiniB3D?

Doiron(Posted 2010) [#1]
Hi there,
I've looked through the forums for particle systems for MiniB3D standard, and I didn't have any luck, so I'm asking you guys if there are any.

I've already coded 2D in 3D quad, text and menu systems (and already had and partially have to shift that from B3D to MiniB3D), so I would like to avoid yet another epic task, expecially if someone did a good job. :)

Otherwise... there are other cross-platform engines for BMax with particle support, no need for fancy graphics? (on the contrary, better still if compatible with onboard graphic adapters)


Kryzon(Posted 2010) [#2]
Are you looking for 2D or 3D particles?

You'd use Max2D and MiniB3D for that, respectively. The only thing that's the problem is comming up with the particle system scene management (which would be the "epic task" you're trying to avoid).

You could scan the code archives for particle systems for B3D and convert them to Bmax + mB3D.
Or you could buy Particle Candy lib (that's for B3D only) and convert the source for BMax + mB3D as well.

[EDIT] Regardless of the type of particles you're going for, be aware of this: minimize state changes! make everything single-surface so that you minimize changes to alpha, texture and blending states (each one eats a bit of performance out of the final FPS).


Doiron(Posted 2010) [#3]
3D particles, so Max2D is not an option...

I guess it would be much easier to code a particle system myself than understand and convert Particle Candy to BMax, which is a massive library.

The epic task would be both to create an efficient single surface particle system which correctly handles everything, and also make a good emitter system (line/ring/point emitters, gravity, particle life, forces, etc)... it hasn't just to work but to be easy and feasible for pretty effects, just like the Particle Candy you mentioned, so a good premade library would have been nice.

Thanks for the tips though. :)


...so, no options then. Too bad.


Dreamora(Posted 2010) [#4]
you could look at integrating pyroparticle ( http://pyro.fenomen-games.com/ ) potentially.
its not exactly for bm but standard c stuff and works with opengl as well as win and osx which could make it interesting for you.


Kryzon(Posted 2010) [#5]
The epic task would be both to create an efficient single surface particle system which correctly handles everything, and also make a good emitter system (line/ring/point emitters, gravity, particle life, forces, etc)... it hasn't just to work but to be easy and feasible for pretty effects, just like the Particle Candy you mentioned, so a good premade library would have been nice.

Not only those features you mentioned, but also a visual editor to save the emitter profiles directly with code to make things easier.

So yeah, quite a task.
But don't give up, it's quite fun actually!
Take a look at the LotusR2 particle system for B3D, by Nilium:

http://www.blitzbasic.com/codearcs/codearcs.php?code=1654 - Part 1
http://www.blitzbasic.com/codearcs/codearcs.php?code=1657 - Part 2