.vanaarde

Untethered Stylized VFX

Posted on November 12, 2023  •  3 minutes  • 582 words  • 
Table of contents

Untethered - Epic Megajam 2022 Winner

Untethered! , an endearing little hack-and-slash game, was our entry for the Epic Megajam 2022.

Here I’ll be sharing some breakdowns for the VFX that I made for the gamejam.

Toxic Fumes

The Toxic Fumes effect consist of three elements. Two “Fumes” elements (one dark and one additive & emissive) and some “Toxic Sparkles” sprinkled on top.

I applied a noise to the base Fumes texture to make it more sharp and crunchy. The crunchy texture gets scrolled upward before being multiplied with a mask to fade it around the edges. This material is then applied to the tapered mesh which squashes it a little bit towards the top.

Toxic Fumes Mesh and Material

The Niagara System is pretty straightforward. One emitter per element, each with continuous particle spawning.

Toxic Fumes Niagara System

Revive

The Revive effect is a bit more interesting. From a design perspective, it was made to feel like a “healing” effect, where energy gets absorbed by the character, along with some floating “+” signs to signify healing.

The Aura element has a vertically scrolling texture, multiplied with a gradient texture to soften the edges. The scrolling (v-offset) is controlled through Dynamic Material Parameters. This allows us to control the scrolling from the Niagara System.

Applying the material (with the v-offset) to the Mesh Disc creates a simple and easy radial offset effect.

Revive Effect - Mesh and Material

The Small and Big “+” Sprite emitters are, again, very straightforward. The Aura emitter controls the material texture offset through a v_offset Dynamic Material Parameter, using the Particle.Age attribute. The Aura particle also controls the material color and emission.

Revive Effect - Niagara System

Dust Puffs

The particle system is a simple stylized cartoony dust-puff sprite, simply being emittted from the origin with a radial velocity. The Niagara system was attached to the bottom of the character’s capsule and was activated and deactivate based on gameplay logic such as character movement speed, whether the character is airborne, or whether an activation was triggered from an external source.

Dust Puffs System

Scythe Swipe

The Scythe Swipe weapon trail was super fun to play with! The effect itself was a simple trailing ribbon alongside some sparkly bits, all emitting from the origin of the Niagara System. The system was then attached to the character’s weapon and activated/deactivate through the character’s Attack montage.

Scythe Swipe System

Combining the dynamic trailing effect with a comically wild scythe swing animation resulted in an quite satisfying and entertaining effect.

Tether

The Tether, used to pull the ghosts around, consist of three separately controlled elements. Two Tether Points (one on the player character’s hand and another on the ghost) and a Thether Beam (connecting the two points).

The Starburst and Hotspot elements for the Tether Point had randomized intensity and size flickers, giving them a the feeling of unstable energy, with some high speed sparks to support that feeling.

Tether Point Element

The Tether Beam consist of two ribbons that could be controlled indepedently: one that acts as a bright core and another that gives it a slight blueish edge.

Tether Beam

Here’s bits of the logic that I built that underpins the Tether effect. Whenever the player tries to activate the Tether, it will always activate the Begin Point (a Tether Point on the character’s hand). If there is a ghost nearby, the End Point and the Tether Beam will also activate and start tracking the ghost. The ghost is also instructed to start following the player character, while the Tether is active. When the player releases the Tether, the effect is deactivated and the ghost resumes it normal free-roaming behaviour.

Tether Controller Logic
Follow me

I sometimes post gamedev stuff on these social media things