I have a couple of big features for the next build. The core fx_Particle objects will have a new optional property,
spin, that will allow the particles to, well, spin, and they will also have a
deceleration value, so that they can start at a high velocity and then rapidly slow down, for example.
The math on these two things is comparatively cheap, but they add a lot of flavor. If these variables aren't used (and they will not be, by default, by
createNewParticle) then they'll not do anything.
I was thinking about even making certain types of weapons eject casings, but that's probably going to be too expensive unless I write a special routine just for them, and probably not worth it, in a game where we're so zoomed out. I'm tempted to do it just so that the code exists, though
I'm also (finally) rebuilding the explosion event system in
Starsector Weapon FX, so that customizable explosions are possible, to a certain extent, via JSON, rather than being purely generated dynamically.
I'm not super-keen on making the system enormously tweakable, because of speed concerns, but I'd like to be supportive of some customization to achieve different looks with minimal effort / coding knowledge. Don't worry, I won't break your current effects, if you're already using the systems; this will add new (optional) features.
If folks have some behaviors they'd like to see, let me know. Right now, what's planned is:
1. A basic fireball; high interior glow value, rapid decay, no directionality.
2. Several directional flare / flame types reflecting different types of event.
3. ADTSPS style impact events (think short flash, followed by small particles fading out) for Kinetics.
4. Finally, a proper Flak-style explosion for Fragmentation weapons.
5. Something properly "nuclear warhead" for really powerful missiles like Reapers to give them a really punchy feel.
6. Whatever else seems cool at the time.
Lastly, once Weapon FX is a little more mature, the last big optimization step is probably going to be to shift the effects to a single sprite sheet and use a texture-atlas approach, to cut down some overhead that will increase quite a bit as more specific effects are added. Don't worry, this won't change anything in the core system, if you're trying to code your own particle effects using the FX Core- just Weapon FX.
Anyhow, I'll show some new screenshots of this stuff in action pretty soon; I got the basics working last night and it looks good.