I don't mind this type of sprite implemented into the particle system. I can assure that we will need to have particles with custom images on them like this (the type that always face the camera, or at least on 2 axis, I forget what these types of particles are called). But using pre-cooked sprites to make an effect is very old school and the technology to do it better is has more than abundantly saturated the low-level consumer market, so there's no excuse, beyond lack of time (or expertise), to implement it right (in 3D). I'm not saying that the particle systems aren't lacking, indeed I ran into this when implementing the visual effects for healing (priests) and mana transfer (acolytes) in FPM. To this day, the acolyte's mana transfer looks too much like an attack, and that's just because the code that was originally designed just for that, so was hard to adapt for a special effect that's supposed to look like energy moving from one unit to another in a beneficial fashion. I think all of that stuff is in what is now the "0.3_deprecated" branch (of which, the goodies will eventually be pulled out into a new branch, probably after networking re-write is finished, so it can be merged with all of the 0.2.12a and network changes).
The only things I have added to the particle systems is to the attack particle system and is documented here:
https://docs.megaglest.org/GAE/Projectile_Particle_XML. Sadly, still lacking from all particle systems is (to my knowledge):
- The ability to have black colors. For some reason, each color's luminance determines it's alpha level, and I'm not sure why. This makes it impossible to have dark colored effects (maybe there's a better term for this, but essentially, you can't lower the light level if I understand correctly).
- The ability to have an imagage for particles. Currently, you control the color (which should remain), but the image is only use for alpha values.
- Need lots more algorithms to spell out how particles behave (I think I listed this out in a thread a year ago or so).
- As discussed in the old threads about weather, I would like a weather system that has wind and each particle system says how much each particle is affected by wind. Contrast this to the fire particle systems which are always blowing in a single direction.
But to get back to omega's original issue, this is a pretty explosion. We should be able to do this in real-time, 3D with dynamic interaction with the environment, i.e., (back to the weather thing) explosions should create extremely high pressure systems, which the weather engine performs calculations against every client (or weather) frame, thus transferring the pressure to adjacent cells, creating wind. If two explosions occur simultaneously and adjacently, the pressure in the middle should keep them from overlapping (in essence) and you should see a greater push on either side due to this. In addition, if a fire is burning nearby, the particles should be blown by this. This type of system isn't *that* hard (and I say that part carefully
) to implement and it makes for some amazingly realistic-appearing scene.
This fits with the scheme of how trees and "blowable" objects were supposed to work (trees, shrubs, etc.). If one wanted to go the step beyond this, you would define models with "blowable" (or maybe a better word is in order, one that doesn't conjure so many other connotations
) aspects, like hair, robes, etc., although I think we would need to have full weighted-skeleton animation and a nice physics engine in place before this becomes easy to implement cleanly (i.e., without a lot of hacks).
EDIT: Oh, I also forgot to mention that the particle system also needs to be able to have full 3d particles (i.e., small objects that are rendered instead of the "always facing camera" polygons) in order to create some of the cooler affects.