Hi everyone! This is us again, that is the Rummy Games team, and this is our 14th diary. We continue to share the details of the development of Saturated Outer Space. This time we will share an interview with Anastasia Medvedeva, our VFX-artist. She will tell you in detail about the creation of a model of one of the enemies: The Swarm.
Anastasia, tell us a little about yourself.
I got into the project a few months ago thanks to my teacher. He introduced me to the team and helped a little with the implementation of the first technical task.
At that time, I had only been studying Unreal Engine for 2 months (before that I worked with Unity, Houdini and Cinema 4d). However, my knowledge was enough to complete the introductory test and join the project pretty quickly.
What were your tasks?
The main task was to create one of the units - the Swarm, consisting of nanorobots, many micromachines capable of floating in the air. It will have to interfere with the player during the game to complete various missions. The Swarm has many animations: moving in place, moving from cell to cell, physical attack, electric discharge attack, dodging, taking damage, death, and others. The robot itself must have blades, paws for gripping or moving, and antennas. And also it has to look like a virus.
References:



What tools were used in the development process?
The robot itself was modeled in Maya. And the Swarm was made with the Niagara plugin. Niagara has the advantage of being able to exchange particle data without the need for coding. This helps users create their own behaviors instead of requiring code intervention to create new, strictly-coded functions.
In a conventional particle system, their modeling is controlled by strictly programmed modules, each of which provides a specific set of functions for changing the particle attributes. In other words, Niagara provides more possibilities for imagination, practically does not restrict the user and creates a single effect within one system.
Niagara also surpasses the regular system in performance, it has a friendlier interface that is similar to the particle system in Unity.
How did the development process go?
Initially, I did not know that the Swarm robots should have blades, so I thought that it must be a mechanized insect such as a wasp or a fly.
Therefore, the first model looked like this:


Further, before starting the work, I looked at a bunch of tutorials on Niagara, since I had never worked with it before.
The first animation I started was a flight animation. It consists of the two parts: the robots themselves and the particles which these robots follow, imitating wave-like movements. To do this, you have to "tell" the particles to attract each other.


The animations of movement, hitting with blades and dodging have a similar structure and are also based on the attraction of particles to each other.
Electric discharge attack and death have a more complex structure: in addition to the robots and their "attractors", there are flashes from the so-called sprites and the lighting effects to illuminate the surrounding space. When attacking with the electric discharge, the Swarm gathers into a "cloud", inside which a charge is formed. When the swarm dies, the robots, shrinking and burning out, quickly collapse into a heap, an explosion occurs, and their remains fall to the ground.


The death animation had a lot of options: additional rays before the explosion, an explosion with fragments of robots, various options for colors and shapes of flashes.



In the end, I can say that Swarm's death became my favorite animation.
What are the development results?
As a final result, we have the following robot model:

All the ready-made animations that can already be imported into the project.
What will you do next?
Further in the plans are the effects of the environment (fire, smoke, gas), shooting, destruction.




