ZeroK-RTS / Zero-K

Open source RTS game running on the Spring/Recoil engine
https://zero-k.info
GNU General Public License v2.0
690 stars 207 forks source link

Recursive mushroom cegs fail when the particle limit is reached #2494

Open GoogleFrog opened 7 years ago

GoogleFrog commented 7 years ago

Reaching the particle limit seems to effectively lead to random blockages in spawning cegs. Our old mushroom cloud cegs seem to be put together recursively with single particles that spawn entire circles of visible cegs. When the particle limit is reached the nuke effects can fail to appear entirely because the root particles was blocked. The effect can also appear in a weird looking way if some of the near-root invisible particles were blocked.

I see two potential solutions:

GoogleFrog commented 7 years ago

I overlooked a solution. I've had a look at london (the big nuke) and I'm beginning to suspect that the deep recursion is completely unnecessary because the intermediate steps seem to just be adding delays and positions that don't care about direction. This could be done for all the cegs.

I've also done a bit of performance testing and I think there is inefficiency in our cegs that may be the most efficient place to target for performance. Perhaps some automated gadget could iterate over the weapons and count the number of particles created by each one (by reading muzzle/impact ceg, spawning the cegs and then counting the particles).

CrazyEddieTK commented 7 years ago

I've noticed this happening recently but never noticed it before. Has something changed?

GoogleFrog commented 7 years ago

You might be using a lower particle limit or games might be larger.