void p_event(PARTICLE* p)
{
p.skill_z += 0.25*time_step; // maybe add a maxv limit here
p.z += p.skill_z*time_step;
}
I didn't even think about moving particle directly, thank you for a tip!

As I'm toying around with the code, I'm getting some really beautiful artefacts

It looks much better in motion

But anyway, I just wanted to show this.


Greets