   particle system design question
  is there any resource/reference for building a good particle system? i'm not talking about the detailed implementation, but rather about the overall design of the particle system. (particle system should be able to handle fire/smoke/steam/debris ... etc in the game)thanks   
  I've always found this article to be a good guide, and built my first particle system based off of it. At the time it had a simple fountain, explosion, shockwave, laser, volcano, and fire effect and was very simple to implement these, and more, using that design.Don't let the title mislead you, it's not advanced at all :-)Building an Advanced Particle System - by John van der Burg.hthF451   ;Quote:Original post by grunt123is there any resource/reference for building a good particle system? i'm not talking about the detailed implementation, but rather about the overall design of the particle system. (particle system should be able to handle fire/smoke/steam/debris ... etc in the game)thanksBefore implementing anything, consider the editor/environment that you'll use, because you'll need to attune your design with it.Then, it is 'important' to decide what kind of particle system you'll need - stateless or state preserving, i.e. when will the simulation be executed - only at the beginning (creating a set of splines for each particle - for position, rotation, size, color, ...), or simulating the particles each frame, or at fixed timestep.The first approach makes possible complete simulation in modeling package, and then exporting a stream of splined particles, so engine does the possible minimum here (and can be done almost entirely in vertex shader).Some games use that, to show really reach and complex particle effects, that is hard to archieve with traditional state preserving systems.State preserving systems tend to grow, and become more and more complex in order to create something more interesting than ordinary rain/fountain/fire - for example imagine tornado effect, with sharp velocity altering at some point and change of the particle's texture...State preserving systems can be implemented in very different ways. Like the 'behavior' approach - implement different behaviors, that alter different particle parameters, each behavior having spline for each of the parameters it alters. Then behaviors can be added to emitters, and to form a particle system, which basically is a set of emitters and behaviors.And so on, and so forth... :)   