The first boss players will face in CYGNI: All Guns Blazing is the huge mechanical beast, “Scarab.” Can you guide us through the process of designing your bosses and implementing their scope and scale within the game?Nareg Kalenderian:

The bosses in CYGNI have been an incredible challenge to pull off at every corner. We again wanted to opt out going the regular route: slap in an animation or two of walk cycle, get sliding feet all over, throw in AI for good measure, and call it a day. In CYGNI, even if we wanted to do that, it would’ve been a great pain. We have creatures with multiple legs and multiple tentacles, they need to be highly controllable and timed perfectly for various scenarios in the game.

As for scale, it is also another interesting topic altogether. In CYGNI, the assets are all built and scaled down by many folds. This was done to be able to better manage scene scale both in and out of the engine. There is no way a boss that is supposed to look stratospherically high is built on that scale in any 3D package; same for environments and ships.

Scarab is one such complicated boss. It has six tentacles, three legs and about 6,000 frames of animation on its base body alone. Below which, we have hundreds of units battling each other while the player fights above. Creating tentacles on screen with stretchable and scalable bones was one large challenge, putting those onto a moving body is another. Just to get the rig working the way it did took us long days and weeks of iteration, as did understanding the workarounds and limitations we have to deal with introducing it into the engine.

Long sequences were hand-animated carefully ensuring leg movement and placement. It had multiple modes of attack so there’s an entire sequence of it walking backwards upright and then one at a lower height; while keeping foot placements identical for perfectly smooth blending giving the illusion of IK when there is none. We did something similar for the tentacle movements since none of the spline IK methods worked out predictably, and more than often broke, especially onto scaled tentacles. Instead, we created hundreds of frames of animations blending into 12 poses for each player-interactable tentacle, then applied a short IK at the tip for special occasions as an additive effect.

A key to any bullet hell shooter is the large number of objects on screen. How did you optimize CYGNI: All Guns Blazing to keep its high-speed combat while so many bullets and objects are visible?

Nareg Kalenderian: CYGNI is still in production. We are trying our best to keep optimizing as we go and there’s still much work to be done here. The short answer as to how we manage large numbers is challenging. It is a daily struggle to keep things balanced and to make sure how much we can afford to push, and how much we need to pull.

For large swarms, we had to write our own systems that use Niagara in combination with instances that can take damage from high-speed projectiles and still register. It was a massive effort, the results of which only saw the light of day by mid-production. As a system, it worked in the end to give us what we needed to achieve what we were after for that particular case. But there are many cases and multiple systems in the game, each with their own unique characteristics.

In the end, we pool the bullets as much as possible, create instances where we can, optimize AI and their behavior, and for ground units, approach them using the AtomsUnreal plugin. We helped in the plugin’s development to be more game ready. At some point, we were joking about the fact that CYGNI has enough systems that it can become a strategy game, a first person shooter, and a shmup if we wanted it to.

Source: Unreal Engine Blog