Unleashing Cybernetic Fury​​​​​​​
unFortunate is a 3rd person action game made over the course of 3 months as a capstone project for Vertex School's game development program. Fresh out of playing Cyberpunk 2077, I was burning to build something fast, loud, and dripping with character that grabs attention in a futuristic environment. Wanting to dive deep into the tools of the engine and deepen my knowledge of the development pipeline, I built as many of the assets as I could from scratch in the time allotted to see (and more importantly) learn how to solve issues to keep the project moving forward.

In unFortunate, players assume the role of a contestant named Sigil in an arena who is put through a series of escalating fights against aggressive mechanical enemies that culminate in a dramatic showdown with a gigantic machine that descends from above. Teleport dashes, shield abilities, slow motion, and enemy attacks feature stylish effects created in Unreal's Niagara particle system that punctuate the action. Players must strategically invest their credits between rounds, choosing between stat boosts and new abilities being sold by a cryptic shop keeper.


Tools used: Unreal Engine 5.3, Substance Painter, Photoshop, Krita, Cinema 4D, FL Studio
________________________________________________________________________________________________________________
Building from the Throw

Getting the look and feel of Sigil's main attack was import to get feeling right as it would set the pacing and tone of battle. I had a vision in my head of throwing energy-infused cards across a neon-splashed arena which was a departure from what the class material was covering for projectiles. This was a sizable risk, as getting stuck would mean having to seeking additional help resources and development time on an already tight deadline. The final result, however, was a massive payoff. Not only for the unique and stylish flair it brought to the game, but because of the other systems I picked up along the way that formed the pipeline for future effects that let me find and express the rest of the character's visual identity.
First Throws
First Throws
Planning FX
Planning FX
Final Look
Final Look
Setting the projectile speed is slower than a bullet meant I needed to cleanly communicate it's trajectory. The Niagara system attached uses a glowing ribbon combined with a rotating triangle particles that would spawn along the path at helped keep the sharp feel of it slicing through the air consistent with the neon aesthetic being built. A great point of reference for a character with a similar feel was Kiriko from Overwatch 2 with the Kunai she throws. Jumping into the practice range and studying Blizzard's approach to this type of ability also helped dial in the look and pacing of the animation I made for Sigil's arm.

Exploring further into the mechanic led to a burst attack that could be charged at the cost of moving slower with the bonus of ripping into an enemy a volley of damage when they slowed to build up attacks of their own. The charge effect was built by reversing the triangle particle's grown and rotation to communicate the collection and storage of energy. I paired with a snappy sound effect that rises in pitch as the charge grows so players can hear each one being locked into place as the power grows. Combining this with Sigil's ability to dash means the player could charge, teleport a short distance out of danger for a brief moment, then let it fly for a swift takedown.
Charing a burst attack
Charing a burst attack
Releasing a flurry of cards
Releasing a flurry of cards
_________________________________________________________________________________________
Shield and counter-attack
   
With danger being thrown at the player from every direction, I wanted to give the player an effective tool for defense. Equipping Sigil with a shield that can be quickly deployed puts up a protective bubble around him. It drains with use but recharges over time, so only activating it when necessary is the best way to ensure it's available when it's needed. If put up right before colliding with an enemy attack, a counter attack is initiated that bursts outwards and deals heavy damage to enemies nearby. Acting as a well-timed perry, this opened up combat flow to feel like a "push and pull" over an all-out assault.
The foundation of the shield is a sphere that envelops Sigil, providing a clear visual indicator of invulnerability. The sphere's material is crafted to convey a technological origin akin to a forcefield melding with a neon sign. A Fresnel effect creates an opaque rim around the bubble's edge, ensuring the player's view remains unobstructed of the character inside. Two textures are used to give visual flair to the bubble: a hexagonal pattern, masked by the Fresnel that reinforces the technological theme, and a swirling texture masked by the same Fresnel multiplied with the hex pattern. The two patterns rotate at perpendicular angles, exaggerating the motion and creating visual variation across the bubble's surface.
Hold & Release
Hold & Release
Spikes Waiting
Spikes Waiting
Final Look
Final Look
The bubble looked protective, but not dangerous, so I searched for a way to communicate the flow of energy through it's surface. I arrived on arcs of lighting that suggest a surplus of energy in the system. While active, the arcs are generated by the shield using ribbons which originate from points along the sphere's radius and extend towards nearby surfaces. The necessary vector calculations and information to define these start and end points are passed from the character's Blueprint to the Niagara system via a Niagara Parameter Collection. These values are then used in the particle update stage that define the ribbon's path. Upon reaching a surface, the ribbons trigger the emission of spark particles then arc upwards before fizzling into the air.
When the shield deactivates, a new Niagara system is spawned with hexagonal particles that conform to the shape of the bubble's surface that twist and dissipate. Successfully executing a counter triggers rings of spiked energy rapidly expand outward from the character synchronized with the bubble's expansion. I implemented a timeline with a custom curve to precisely control the size and duration of these rings, ensuring they feel impactful and visually consistent with the overall effect. The counter-attack sequence is also paired with brief time dilation, momentarily slowing down the action. This slow-down allows the player to fully appreciate the spectacle of the moment and creates positive feedback before the action returns to normal speed. When paired with thumping music and the sound of an exploding enemy, this makes for a supremely satisfying finishing move players will chase for again and again.
_________________________________________________________________________________________
Teleport Dashing

There's something deeply enjoyable about a game that pulls off a satisfying dash. I can't count the amount of time I've spent teleporting around the battle field in Final Fantasy 15 or dashing during gunfights in The Finals; sorry to you Heavy mains! That brief moment of invulnerability as you evade death or push into an enemy's space to catch them off guard feels like the designer is letting you in on a little cheat with a wink and nod. Wanting to capture and build on this, I set out to find a way to not just recreate this ability for unFortunate, but explore how it could be uniquely presented in this cyberpunk world.

Sigil is equipped with a short-range dash ability that teleports him in the direction of his movement when activated and recharges over a brief amount of time. The number of dashes charged is indicated in the bottom-left corner of the HUD, and Sigil's walking or running movement will leave glowing footprints on the ground when a dash is charged and available. With so much happening visually during a fight, I wanted to have multiple ways of communicating key information to players so they can keep their focus tight.
Walk Spacing
Walk Spacing
Run Spacing
Run Spacing
Through both the windup and release of the dash, a sphere grows to encompass Sigil that affects the area in a glitch-like pattern. A normal map is rapidly panned across the texture's refraction node in order to warp the space around it, while growing or shrinking the sphere provides fine control over it's area of influence.
​​​​​​​Distorting with refraction is particularly effective for sampling the area around Sigil and selling the appearance of pieces of him being removed or shifted during the dash. While this could have been applied to only the character mesh, letting it affect the area around him means the edges will distort the environment and any particles nearby.
Glitch Material over Character
Glitch Material over Character
Slowed Down with Particles
Slowed Down with Particles
Increasing a glowing parameter over Sigil's material as he leans into the dash windup helps mask the initial spawn of glowing particles created along the surface of the mesh at the moment of teleportation. The impression created is that he has leapt out of the energy being built up and allows the player to have a reference point of where they were before the dash.
Temporarily adding lag to the camera's spring arm component allows for these particles to sit in view for a few frames before the camera distance is reeled back in and the full focus is brought back to Sigil. Early versions of this effect kept the camera tighter during the teleport and was disorienting for players trying to maintain their sense of location in the play space. As Sigil fades back into their new location and the glow parameter is faded out, a 2nd burst of particles communicates the energy being dissipated from the ability.
_________________________________________________________________________________________
Setting the Scene​​​​​​​
Building the world for bringing Sigil's gladiatorial debut to life was an exploration of efficient techniques at scale. I wanted the option of introducing the setting with a wide shot of the city that wrapped around the arena and sold the feeling of being in the heart of a city buzzing with activity. In order to preserve performance, this meant making smart decisions with how that was built and not wasting precious time creating more detail than was necessary. Repeatable city blocks with optimized geometry created a light-weight base while more detailed and distinct buildings filled in the space immediately around the arena.
Base Models
Base Models
Textures / No Lights
Textures / No Lights
In Engine
In Engine
Introducing motion to the sky was key to selling a city in the future and adding more energy to the space. Using flat images for flying cars quickly limited the camera angles that could be used, but switching to building low-poly models in combination with mesh renderers in a Niagara system lessened the frame rate impact and unlocked a wider range angles they could convincingly be viewed from. Layering an additional set of cars lower to the ground with a flat scrolling texture of smaller cars added more depth to the city and hinted at more life closer to the surface. It was also at this time that one of my mentors challenged me to make more of the city visible from inside the arena and bring more of the setting into view as. Cutting large pieces out of both the top and sides of the Arena's base mesh brought the city's life nearer and let the player take in more of the setting in-between rounds.
Layered Cars
Layered Cars
View from the Arena
View from the Arena
_________________________________________________________________________________________
Kill. Spend. Repeat
Starting with a loop of escalating fights and having a way for players to enhance their own abilities opened a range of possibilities for structure. Early builds used a roguelike perk system, offering a random selection of stats and abilities for players to choose from at the end of each fight. Feedback from players was mixed, as they enjoyed being prompted to try new things, but didn't allow them to repeatedly build and tweak combinations that they liked. Combat was tuned to allow for a variety of viable builds that favored different playstyles. Tanking with high health & shield capacity, keeping on the move through boosted speed and time dilation, and all-out damage builds were all viable, but their maximum potential remained inaccessible with this approach. Transitioning to a traditional shop let players push Sigil in their preferred direction. As a bonus, this let me spend a little time on the side polishing the experience by recording and editing a variety of entry and exit voice lines by the shop's proprietor that he randomly selects from when interacted with.
Perk System
Perk System
Shop Interface
Shop Interface
Voiceline Selector
Voiceline Selector
Working off of the assets created for the shop and extending the style to the rest of the UI let me focus on keeping the aesthetic cohesive between screens. I needed to keep the HUD clean and out of the player's view whenever possible to keep the focus on the action, so care was taken to hide elements like the resource bars for the shield and time manipulation when not in use. These appear only when the abelites are activated or the player has brought up their cards to throw, and change when the player's cursor is directly over an enemy for additional feedback.
UI Asset Sheet
UI Asset Sheet
UI Widget Designer View
UI Widget Designer View
Fight Text Animation
Fight Text Animation
The Final Showdown
With the project's requirements met and 48 hours before the deadline, I couldn't get the thought out of my head that something was missing. The character's abilities, enemies, setting, and UI felt great, but it lacked a moment of meaningful escalation and spectacle. Listening to the Ghostrunner 2 OST at the time, the track "God Run" evoked for me the image of a cybernetic being of mammoth proportions ascending into the area. I packaged a "backup build" in case anything went wrong, and dove in one more time. Unlike the rest of the enemies, I didn't have time to spend making a final boss, so I grabbed a cybernetic eye-like model that I now refer to as "The Core" and laid out how it could be molded to fit this final challenge.

Drawing upon the effects I had already built to build the world, I modified Sigil's shield texture to encompass the sphere and modified the lightning's parameters to allow for arcs that branched to the entire arena around it. Building a quick function that would cut everything but the main lighting when during its entrance let its presence dominate the space and demand attention.
Approaching the mechanics of the fight involved taking stock of Sigil's abilities and creating opportunities for all of them to be utilized in a satisfying ways.

1. High movement speed >>>   Force repositioning.
2. Dash Teleport   >>>   Create danger close to their location.
3. Melee attacks   >>>   Give them something to slash at.
4. Multiple ranged attacks   >>>   Give them targets to aim for.
5. Shield & Counter   >>>   Reflect damage.
Using these as pillars, creating a multi-phase loop was a natural step to help players focus on only 1 or 2 of these at a time. When The Core enters the arena, it's shield is up by default, blocking any attempt of damaging it. After players try and fail to attack it, they're led to look around the space by orange streaks of lighting that connect to 3 pillars that act as shield batteries. Being small targets, players can either decide to make precision shots from a distance or close the gap through sprinting and dashing to attack them directly with their sword. Bringing all 3 of these down will temporarily disable The Core's shield and allow for follow-up damage dealt either at range or with melee attacks again.
Shield Battery Locations
Shield Battery Locations
Ranged Approach
Ranged Approach
Melee Shutdown
Melee Shutdown
Throughout these loops, The Core alternates between two ranged attacks that call for different abilities to be tested. A rapid-fire barrage of orbs can be avoided by sprinting or even blocked and defected by the shield, and a wave of simultaneous orbs fired can be deflected or teleported away from. Balancing care was taken for the spacing of both of these attacks so that skill and timing become important.
_________________________________________________________________________________________
The Wrap Up
The work invested in carefully building the systems governing the character, effects, environment, and enemies truly paid off. Being able to quickly integrate these elements to craft the culminating moments of the player's experience became a testament not only to the project's success but also to the skills and knowledge I gained throughout the course. The hours of study, exploration, and inspiration drawn from my mentors and fellow students ignited a fire within me—a passion for game development that I'm excited to fuel by continuing to learn, experiment, and create immersive worlds.
Let's discuss how I can boost your project or team. CONTACT
Back to Top