Posted 06 April 2013 - 08:11 PM
When I worked as an effects programmer, we had a particle editor GUI tool where you could do all his work, rather than hard-coding things. E.g ranges for initial parameters (size, velocity, opacity, etc), curves describing how parameters change over time, what textures to use and atlas layouts, how often different emitters spawn particles (e.g. Smoke and fire would be two different sub-emitters), how particles should be sorted, the shaders to use, the geometry rendering mode (billboards, constrained billboards, ribbons, 3D meshes, etc), external force generators (cylinders/boxes of wind, gravity, etc), and so on. All this would be saved into a 'particle system' file, which the programmers could load/trigger. These files could also be reloaded at runtime to iterate on an effect.
For this kind of effect, yes, I'd just use (soft) billboards. Probably af least 2 different emitters - one with black smoke obscuring the background, and one with orange flames being added over the background. You could also experiment with pre-multiplied alpha blending, which lets you put both additive and alpha blended images into the one texture.
Youd probably have more than 2, so that some particles shoot outwards quickly, while others rise slowly, or mushroom out, etc..
Usually it will be mostly billboards, with animated rotations, scaling, opacity, tex-coords (to use a different part of an atlas overtrime), etc...