Spoiler: ScreeniesBefore I go on, I gotta come clean. I am not completely sure if the code is completely sanitised and commented to be optimally helpful but I felt bad making people wait so I decided to just release it because making comprehensive documentation is a project in itself but I'm sure you fellas are smart enough to figure out how this works. The bullet class actually lerps between its previous coordinates and its current coordinates and draws a trail of particles in between with their individual sizes being proportional to its end position, meaning it makes a little tail at the end instead of being a long brick of particles. Though, this particular implementation is not without its caveats. The faster the bullet goes, the longer the trail is going to be because of the larger difference between xyzprevious and xyz.
If you wish, you can replace the particles with classes whose sprites are PUFFA0 but I figured out that it really chokes your PC, especially when additively rendered so if you use this in a project I advise you use the particles as opposed to actors. I also hope you don't mind crediting me. Thanx a bunch and have a ball.