I started working on the particle engine for my 2D engine about 3-4 hours ago.
I'm making pretty good steps although it's way more complicated than I thought.
Here's a little video of me testing the particle engine.
The next step would be to implement something like physics and spreading.
(Which is the hardest part though)