Particles. Again with the particles. On the one hand, I am spending 2 days now working with particles, which given there importance in the project seems kind of small. On the other, the more things I can do procedurally, then the fewer things I end up having to animate. So a couple hours may save a couple days down the line. So I decided that what I really wanted wasn’t (like in the last post) a rough approximation of a Particle System, but a real one.
Particle systems are sort of basic, since they don’t really have any complex logic. What you need to know is where the particle starts, what direction it’s going, how long it will do this and what kind it is. You can add all kinds of extra sauce questions then, like “Would you like that particle with gravity effects?” Or “Rotation is very popular this time of year, would you like a little of that as well?” The thing that makes them distinct from normal crap like bullets and enemies is that they, by design, have a little random thrown in. This random behaviour, along with the explicit rules that are set up for different kind of particles will produce wildly different effects.
For example, I created flames, which happen pretty frequently, don’t last all to long and aren’t affected by the power of G. Debris (like from an explosion) last much longer, have rotation and are affected by Newton’s favorite force. Same system, totally dissimilar particles that I’ve created.
The thing that I’m struggling with now though, is the random part. Like I was talking about here, “random” numbers really aren’t. In single cases, they will work just fine. However when you get a bunch of things all working with the same “random” numbers it starts to look stupid and quite altogether rehearsed. Right now, when something is smoking it smokes in time with everything else that smokes, and goes the exact same direction because they all share the same variant direction. Considering the whole point of Particle Systems in the first place (to try to emulate a natural chaotic occurrence) it all falls apart when they all mirror each other.
Otherwise, those, and the wrecks are all finished. The only things that I have left to code are background elements, which work like the ground for the most part. So yeah. Next up on the list is a figuring out the level loading logic so I can play several levels in succession. Then add the part where it loads differently based on how well the player’s did. Oddly fun.