

Finally, with so many parameters available to me, I needed to be able to tweak them rapidly and without confusion. And if a level has a dark cave on one side and a bright light source on the other, I want a way for the particles' color and opacity to adjust accordingly. I need to be able to control how and if their colors get randomised, so I can create just green leaves in Photoshop but still get brown, yellow, orange, and red ones for an autumn effect in-game. They need randomised variety in their movements - those which sp i n or move quickly must be redrawn more frequently, while those that are small, slow and/or distant should be recalculated only rarely, to optimise CPU performance. They must contribute visual depth to the game by spawning at various distances to the player, with those in the background be ing smaller, blurrier, fainter and more numerous. If they get knocked about by Spryke, they should seamlessly resume their original motion after a while. If they are twirling objects, they should twirl more often if there's a brisk wind.

What's more, they must figure out a lot of stuff on their own. They had to be able to dynamically move if caught by the wind, Spryke whooshing past them, or a nearby explosion. Some must twirl in circles while others must create splashes on platforms. Particles had to be able to float gracefully, flutter unpredictably, or vibrate frenetically. So it needed to be able to handle any particle type I could feasibly throw at it between now and Spryke's completion: dust, rain, leaves, snow, Matrix-like cyberdelic effects. It was going to be complicated, and I knew that once it was done, I didn't want to ever have to deal with its intricate inner workings again. Thirdly, it had to be well-optimised for decent performance. Secondly, it needed to be super easy for me to use, so that once it's working I'll be able to add any particle effects I want without much time or effort. Firstly, it needed to produce great-looking and believable particle effects of just about any type. It's probably one of the most complicated things I've tackled thus far, as I had three vital yet conflicting criteria that needed to be kept in balance. With that in mind, I've just finished a floating particle system for Spryke, which has been on my todo list for years.

Everything I build from now on must be well integrated and must not create roadblocks or speedbumps down the line. From now on, I'm also applying this ship-shape philosophy to anything new I add to the game. I've simplified my internal level editor, consolidated the way levels are loaded and constructed, expanded the capability of my camera system to handle story sequences, vastly accelerated my graphics workflow, and other things like that. So I've been hard at work getting the Spryke engine shipshape and ready for the bigtime. As such, certain pieces of the engine were rushed, left unfinished, or were built to work in a standalone level or two but not yet properly integrated into the whole. Some of the previously-built parts were made for certain deadlines or milestones, such as a demo, a PAX show, or the kickstarter.

I've tightened my focus this year and have focused on consolidating, streamlining and completing the various modules of Spryke's engine. Though it's been a long time since I posted an update, so I've popped my head up for one now. Spryke and I are alive and well, just working quietly as usual.
