Previous: 8.c Slowing down the leaders and shifting the color of the tail
Well, all good things (and even bad ones ;-)) must come to an end: this concludes this Advanced Particle Effects Programming Tutorial. As mentioned in the introduction, this text is not meant to be an end to itself but rather a beginning. After more than 60 pages of text, 8 lessons and lots of lines of code, I feel that we have barely scratched the surface.
First, in the mathematical sense. There is plenty of useful information on cylindrical and spherical coordinates I did not include, such as the equations for speeds and accelerations in these coordinate systems. There are lots of good books for those interested to go further along that direction. My personal advice is the Shaum on Classical Mechanics by Murray R. Spiegel (the first chapter will suffice). It is well written, relatively cheap, available in several languages and you can find it in almost any scientific library or book shop. For the same price, you also get lots of stuff on elementary mechanics which will help the serious game programmer better understand physics and the 3DGS physics engine as well.
Second, just in terms of programming. In the examples above, I have not talked about cascades of particles, which disintegrate into other particles which do the same, etc. Nor have we discussed particles which change functions during their lifetime, or the image which they carry. These all have lots of potential for nice effects.
Thirdly, there is also the issue of tackling particular problems which appear regularly in video games: realistic jet and rocket engines, thick plumes of smoke, convincing explosions, etc. So much to do, so little time... :-)
Thank you for reading this tutorial. I hope you will find it useful. (Now for the unpleasant copyright part). All formulas, ideas and examples can be used and modified freely. However, if you indeed use some of the formulas in this text, a little credit would be nice. If you use the scripts included as examples, credits are mandatory, as they are if you reproduce or quote part of this tutorial. And, since this tutorial and the formulas it contains were developed after considerable time, work and effort, please do not under no circumstances claim them to be your own.
If you have questions, please post them on the forum. I will check there once in a while and will do my best to provide answers.
Happy Particle-ing!!!
Acknowledgments:
Special thanks to Nicolas Gisiger for helping me decide on the general orientation and audience for this manuscript, and for his help with the text.
Many thanks also to Conitec, the people on the forum and at Acknex Magazine, as well as Realspawn and everybody who has posted tutorials on particles.