Awhile ago, I experimented in creating a box-emission system for creating particles. This system would allow for spawning particles in a volume. I did create it, but I later improved on the script and in the process, I created a particle emission system that can be used to create particle effects in the BGE.
It supports volume-creation, but also many other features, like the ability to spawn particles with a base speed, size, and color, as well as randomize these features. Also, the generic particle script is highly customizable - it would be far better to implement one's own script as the generic particle has a script that runs every frame, but all in all, it works well for general particle effects. Check out the script in the download to Download X-Emitter V1.2 here.
Updates included are:
- Camera Culling for particles - with this capability, you can delete particles that are off-screen (though it would increase speed, it is off by default, since some particle effects like snow or rain needs to have this off)
- Maximum Number of particles - this way you can spawn many particles at a time, but not go over the maximum number specified.
- Emitter Timer - allows you to set how often the emitter creates particles
- Particle Parenting - allows you to parent the particles to the emitter (a bit buggy, but working for motion)
- Particle Fading - allows you to specify whether the particles fade out before death (smoke) or not (snow)
- Color Choice - allows you to choose a set of colors for particles to randomly spawn with
- Thick Smoke (volumetric!)
- Bubbly Mist
Updates will continue (hopefully). If you have any suggestions, post about them here or on the related thread on the BlenderArtists forum. As always, have fun with it!