I have had many issues with trying to control particle effect numbers with the concealment system I’m using for the game I’m working on. I want to have animated fog which conceals tiles precisely until certain events trigger removal. I.e. in the level in the below screenshot flipping the lever at the very top of the screen triggers some fog removal and spawning of enemies in that zone for the player to fight. The particle fx fog runs much better, but I can’t accurately control things that are required to use it (how fast it dissipates, how many particles are created (when the level respawns and the particles are clearing out from the last run of the level, the new particle effects stack on top and double the number of effective particles w/ no way to instantly clear them), and the shaders I’m using have some issues occasionally with particle effects where sprites are handled fine.
All that being said, I’m wondering if there’s a way to pre-render a large number of sprite animations into a buffer and then just loop the buffer and then perhaps swap it out for another buffer (such as a fade out animation set) when an event fires. Right now I’m creating 1 fog sprite per tile, and moving them in random x/y directions in order to create an animated foggy effect (which looks pretty cool, but I also want to add some shaders to improve it.) However, this would probably tank the performance without some optimizations. Anyone have some experience with this type of performance challenge?