So
Pidroh asked me how we deal with particles;
Our process is very simple, nothing revolutionary.
Particles themselves are either a single frame or an animated sprite. Example:
There are 4 different 'bokeh' spritesThe small 'air particles' are animated sprites.I create an .XML file with all the emitter's data. This includes;
Particle Number: The N° of particles emitted
Burst: True/Fase - If the particles are emitted continually or only once
Animstretch: True/False - If the sprite's animation stretches to fit the particle's lifetime
Speed/Scale/Direction/Rotation: Min/Max - The range of Speed/Scale/Direction/Rotation can be applied to the particle when it spawns
Change Speed/Scale/Direction/Rotation: Min/Max - The amount a particle's Speed/Scale/Direction/Rotation can change during its lifetime
Lifetime: Min/Max - The duration of the particle's life cycle
Mid Alpha Time: The point when the particle reaches its 'Alpha Mid' value (in % of lifetime)
End Alpha Time: The point when the particle starts reaching to its 'Alpha End' value (in % of lifetime)
Alpha Start: The alpha value when the particle spawns
Alpha Mid: The alpha value when the particle reaches its 'Mid Alpha Time'
Alpha End: The alpha value at the end of the particle's life cycle
R: Red color value
G: Green color value
B: Blue color value
(The three have Start/Mid/End values allowing to change color over time)
A fog emitter would be soft 'smoke' sprites with a long lifetime and low alpha (Start: 0, mid: 50, end: 0) and some low horizontal speed and a slow rotation.
While a water droplet would be a blurry 'drop' sprite with a short lifetime, fast vertical speed, no rotation and short alpha transitions, for example.
So as I said, nothing out of the ordinary, but if you have questions please ask away
Cheers!