As for the "fire" I would suggest to do what professional games do;
1) create 2 (or more) sprites/planes with an animated texture (and one that is visible from above) with alpha values.
2) add some fire-particles (small planes/polygons) that do randomly move in 2d-direction (or with a sine-curve), but steadily upwards.
For the explosion I just made a class, that does the following:
1) create n-planes that move from a position outwards, using precalculated sine-values to simulate the fly-curve. using abs value of sine you can make them bounce of the ground...
maybe you can add fire effect to them using a plane that faces always towards the camera.
2) create 2 sprites as before with the fire, but this time they have a smoke texture, can be animated.
I am nearly done with number 1, and I think that the way I described how to do it are adequate enough, or, if you have better ideas, please share them as I did
greets,
Barnski.
-- I just started with DarkSDK, by translating DBP Projects. --