Perdition
Perdition is a fast-paced first-person shooter made in Unreal Engine 4 as a student project at the DigiPen Institute of Technology. I worked together on this game with six other students. As the UI+UX designer and technical artist for Perdition I was responsible for UI design and implementation. I created icons, art assets, and UI shaders to support FPS mechanics. As a technical artist I worked on technical animation for first and third person content. I also created tools for level designers, post-processing shaders, and gameplay script functionality.
Menu Design
HUD UI
3D Scope
One of the weapon's in the Perdition arsenal is a rifle with a long range scope. I created the visual feedback for this mechanic and created all of the corresponding art assets. The 3D scope effect shown below is achieved by using a render target to capture the scene and display it in 3D on the player's scope. This helps increase immersion and makes the rifle standout from other weapons in the game.
Game Feel
        One of my goals on this project was to ensure that the core shooter gameplay felt solid and polished. The examples above show some of the ways that I made weapon handling feel more responsive and fun. 
        The leftmost image shows dynamic look additives on the player's arms. This is achieved by lerping to a target skeletal rotation as the player looks in any direction. I specifically made the weapon rotate toward the player's input direction, rather than lag behind, to make the player character feel more active and effective at handling the weapon.
         The middle image shows screenshake, shell-casing ejection, and bullet impact decals. I created a basic framework for shell-casing ejection that allowed me to easily change shell-casing meshes, ejection forces, and even the casing impact sound effect. This tool allowed me to quickly build and iterate gameplay feedback for each weapon so that they felt unique from each other.
       The rightmost image shows the first-person melee combat feedback I implemented. I created animation scripting logic to randomize the type of the punch the player character throws and tweaked the transitions between a single punch or multiple consecutive punches. This helped to make the melee combat feel more varied.

Overdrive Mode
In Perdition, weapons can't be reloaded and when you collect enough fuel from fallen robotic enemies you can trigger overdrive mode. This causes your weapon to light on fire and do a massive damage boost. I helped to create the visual feedback for this system. I created the post-processing effects which make the game extra saturated during the overdrive mode. I also created the spatial 3D UI attached to  the player's weapon. The meter around the ammo counter displays progress towards overdrive activation. This meter used a simple 2D shader to create the custom shaped progress bar.
UI Animation
UI Prototyping
Directional Damage Display
In first-person games it can be difficult to tell where other combatants are in the middle of a fight. To address this issue in Perdition I created a directional damage indicator that rotates toward the location of a damage source when the player gets hit. This effect was achieved through a 2D shader and blueprint script that sets an angle on a mask for a texture. This effect scales across various display sizes. The indicator can even change in size based on the amount of damage the player is taking!
Item Interaction UI
Loading Screens
Weapon Modeling
I created all of the weapon meshes in Maya and used a 256x256 texture to set the color of the meshes. This texturing method fit with the minimal art style of the rest of the game and allowed me to easily tweak weapon colors.
Perdition
Published: