Thanks for the kind words.
If by “particle engine” you mean “extremeley naive array of objects” then yes, you are correct 
Cas had a nice particle engine system in his original Alien Flux code, which might be floating around still. Essentially my code consists of an object, Shard, that maintains a static array of instances. When a ship explodes I obtain a bunch of articles out of the array (they have an ACTIVE/INACTIVE flag). I give them a random ticks_to_live, length, rotation and velocity. Most of my objects work as such, as parts of a static array pre-created. This works pretty well, as ticking and rendering traverses the array and seems very fast. In order to make this into more of a “particle engine” I’d at least move more control statically into the Shard object. Then, when a render is called the whole set of active shards could be packaged up into a vertex array. Essentially you’d be organizing the object before shuttling all the data to the GPU.
If you’re serious about the code, I’d be happy to pass it on to you. It’s a bit disorganized as usual, and uses a SPGL library that I think must be a bit customized by me, but you’re welcome to it. PM me and I’ll fix something up to send.
Bill