top of page

Particle Effect Manager

With the core gameplay feature of "It's Dark" being audio visualizers as information, we needed a flexible system to generate particle effects across all users in a match. This solution gave us that flexibility through exposing several variables in the particle system. In order to more efficiently test this feature, I decided to investigate the use of Editor files to allow me to spawn particle effects at will.

I used several techniques to improve the usability of this feature. Given a template, a user is able to spawn the particle system while also defining the location, size, color, and layer. Using method overloading, any combination of these variables can be sent to the manager, with the default values being used for those not assigned.

​

An example of this feature being useful was when it came time to use the layer variable for the audio visual pings, while we also didn't need to adjust the layer of blood effects. The audio pings were able to render on top of everything else using a second camera, while the blood pools were able to be obscured by the environment being rendered in the main camera.

 

Testing this script and its features was made easier by including the "Generate Test Effect" button in the editor. Adding these custom elements to the inspector required the creation of an Editor file. A minor hiccup that took place when designing this feature was learning that the Editor file must be located in a folder named "Editor" in the same file location of the base script. After figuring that out, the button was assigned a special test method upon use that calls the spawning method using defined testing values.

 

As a minor aside, the particle systems created in this way were given the end behavior of "Destroy" so that they clean themselves up after they're used.

bottom of page