Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm not much of an artist, but I'm trying to make decent particle effects in a 2.5D game. I'm making a replica of Wii Play's "Tanks" and I can't quite get the explosions to look good. I'm not going for the exact style as they had, probably something more realistic, less childish.

My particle engine just draws a 2d texture on the screen, and supports, per particle: starting position, velocity, gravity (or any acceleration), air resistance (drag), color including alpha, starting size, size expansion rate, lifetime, and fade out rate.

In my tank explosions, I'm drawing around 100 particles, and I've been tweaking parameters for days trying to get things looking good. So I'm wondering, what are some tips for getting good results? What's most important, specifically for explosions?

  • Having good quality textures?
  • Having a variety of textures?
  • The right colors?
  • Realistic movement of the particles?
  • Having lots and lots of particles, many more than 100?

Check out this image. I tried to replicate it by making particles that shoot out and create more particles in their wake. But mine still isn't anything like that.

share|improve this question

6 Answers 6

up vote 9 down vote accepted

Praetor's link is excellent; +1 for that :). Sadly it doesn't mention blend modes. Additive blending is crucial for getting overlapping particles to saturate to white for really hot explosions.

share|improve this answer

I stumbled across this tutorial a while back, which looks to be a good resource:

http://www.gamedev.net/page/resources/_/creative/visual-arts/make-a-particle-explosion-effect-r2701

share|improve this answer
    
+1, great link. –  deft_code Aug 25 '10 at 6:47
    
Wow, that additive blending helped more than anything else so far! Sweet. –  Tesserex Aug 25 '10 at 13:30
    
done, thanks :) –  jpaver Aug 25 '10 at 17:33
1  
for me it goes to a 404 error... –  espais Jan 15 '11 at 22:21
    
Searching that link resulted in this one gamedev.net/page/resources/_/creative/visual-arts/…. If it is the same article, please update the answer. –  Tae-Sung Shin Jan 6 '12 at 8:03

Realistic movement is on top. http://en.wikipedia.org/wiki/Chaos_theory

share|improve this answer
3  
-1: The poster asked for practical tips and giving them a link to a high-level overview of a branch of mathematics that has nothing to do with how most game particle systems work is not helpful. –  Nathan Reed Jan 7 '12 at 7:53
    
Are you kidding? calculating chaos theory in realtime just to make explosions in a game is not very useful. –  Gustavo Maciel Jan 8 '12 at 21:36

A huge volume of particles isn't necessary. What will help you the most is having each particle blend between a series of textures over time. So, have it start as a small bright ball, expand to a bigger orange flare, then to a light gray smoky patch, which then transitions to a smaller darker fading spot of smoke.

Even blending between a couple of textures will make a huge difference in how your particles look.

share|improve this answer

If you have a good looking particle system then you can consider to use some kind of spherical billboard implementation to remove the annoying cutting and popping artifacts.

You can found an example at http://www.iit.bme.hu/~szirmay/firesmoke.pdf.

share|improve this answer
    
Video of the effect is linked from this page: iit.bme.hu/~szirmay/firesmoke_link.htm –  Blair Holloway Aug 27 '10 at 1:13

For explosions in particular it's very important to get the blending right. One very important element is the use of pre-multiplied alpha. Quoted from the link:

What if you want a single particle system that has additive flame particles turning into sooty lerping particles as they age? You can't change renderstate in the middle of a particle system, that's silly. Who can help us now? Why - it's Premultiplied Alpha Man - thank god you're here!

So you can have particles change from additive to lerp as they get older - all you do is change the alpha value from 0 and the texture colour from a firey red/yellow colour towards an alpha of 1 and a dark sooty colour.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.