Particle systems hints

You may use particle systems to simulate natural phenomenon like smoke, flame, plasma, sparks, fountains, projectile effects, etc. Also you may invent some artificial life-like "magic" effects. Here are some more tips and ideas how to use particle systems in your game:

  • Maximum number of particles simultaneously allowed in one particle system is 500. If this number is exceeded, new particles wouldn't be created until some of the current particles die.

  • Try to achieve the desired effect with minimal number of particles of the smallest possible size. These two parameters affect application performance.

  • Place two particle systems at the same location with different parameters to achieve a very complex look. For example you could take one system that looks like fire and place it on top of a system that looks like smoke.

  • Change the parameters of the particle system in real-time for different situations. For example you could have a system emitting smoke and when the player approached, tweak the values so it turned to fire. Or you could adjust the nEmission parameter periodically to simulate surges.

  • Morph in real-time one particle system to another. To do this just make linear interpolation of hgeParticleSystemInfo members between two particle system presets. The only parameter you probably couldn't morph is the particle system's sprite.

  • Put a sprite with HGEBLEND_ALPHAADD blending mode under the particle system and scale it randomly or depending on number of alive particles each frame to simulate lighting.

  • Try using a colored particle sprite with HGEBLEND_ALPHABLEND blending mode to create cartoon-like effects.

  • Try using a sprite with off-center anchor point.

  • You may create a particle system with animated particles using hgeAnimation class to initialize it instead of hgeSprite. Also you may use your own classes with additional functionality, derived from hgeSprite. Although no hgeSprite methods are virtual for simplicity, and the only parameter you can tweak with derived classes is texture coordinates.

  • Make the particle system to follow a complex path. Try using short linear segment or a circle and fast movement along it. Or try running the particle system along a Lissajous figure. Or attach a particle system to a moving object.

  • Make the particle system to follow the mouse. This gives an exciting interactive experience to the player!