Oliver Nyholm
AI and Gameplay Programmer

Particle Editor

Our Particle Editor was created in Unity. The reasoning for creating it there was that there was a ready and easy interface to create sliders, saving time and it would allow our designers to place out prefabs with particle emitters in editor whilest also previewing them. In hindsight, I wish there was more time to actually have implemented an editor in our engine, as there would have been quicker to preview particles in engine and making it easier to preview particle effects that used spritesheets. A shame that we didn't have a dedicated tools programmer in Wizard Loaf.

The logic behind how particles moved and spawned was created by Flovin. The only logics I wrote for the emitters in engine was implementing support for spritesheets and also randomizing between multiple sprites. I was the programmer who created an editor around the system that we had in Unity, importing the C++ code and rewriting it to C# code. I also wrote the data exporting all the different emitters to be read and created by the engine.

The changes made to particle effects would take effect immediately, allowing direct visual feedback. The code was an Editor Script as well, so that there was no need to play the scene in Unity.

The particles in editor would use own object pools, that were stored in a gameobject that held onto all particle effects. This allowed particles to be in world space so that emitters could create trails.