top of page
DES450 3D Platformer Character Project
  • Using Unreal Engine 5 and C++, I created a custom character controller inheriting from the APawn class

  • The controller uses curves to determine the velocity and acceleration of the character

  • The controller supports acceleration from slopes, unique air movement, quick turns, jumping, wall sliding, and wall jumping

  • Designers can make any number of chained jumps by adding customizable JumpCurves to a JumpCurve array

Albacora: VR Submarine Piloting Game
  • Using C#, I wrote the code for the movement of a submarine, which can either go at a constant velocity, or use jerk and acceleration.

    • The constant velocity mode exists to help with motion sickness in VR​

    • The goal of the jerk/acceleration mode is to allow for the option of smooth movement

  • Using C#, I created a highly flexible flocking manager which can be used to control a group of objects like they are a school of fish.

  • I used Unity's Job System to optimize the fish, so that up to 300 fish could be on screen without taking the framerate below 90 fps.

  • Using Behavior Trees and Unity, I created custom behaviors utilizing the settings of the flocking manger, such as forming a cylindrical shape or following a path.

Demo of submarine movement
Alone in the Ocean: A Kinesthetic Flow Project
  • I programmed the player movement to happen in short bursts to emulate a breathe stroke.

  • I used Unity's forces to control the floatation of objects in the water.

  • I used Unity's AnimationCurve variable type to control the intensity of the vignette and focus distance effects that enhance the experience.

  • I used an audio mixer to muffle all of the sounds by lowering the pitch when the player character becomes exhausted.

  • The waves were done using Unity's HDRP Water System.

Black Friday: A HUD UI Project
  • I programmatically animated HUD elements using a custom Action List class which handles tasks happening over a period of time.​​

  • I utilized Unity's vignette features to add feedback to using items.

  • I utilized Unity's focus distance feature to draw the player's attention away from the background when the weapon wheel is open.

Black Friday: A Menu UI Project
  • ​​I designed and implemented a diegetic menu interface with custom camera interpolation logic written in C#.

    • The interface consists of a main menu view, a Play Game button, an options menu, a credits menu, and an Exit Game menu.​

  • Using C#, I created intuitive feedback for interactions with buttons and sliders.

  • Using C# and Unity, I created a custom group of UI elements for cycling through options for a setting.

  • Using Unity's animator, I created intuitive animations for menu elements during transition events.

Vanquisher: 3rd Person Melee Combat Game
  • Using C#, behavior trees, and linear algebra, I created combat behaviors for base, shield, archer, and brute enemy types.

  • I used animations from mixamo to add visual feedback to the enemies' actions.​

    • ​`Interpolation was used to line up the enemy for finisher animations​.
  • I implemented design decisions for the enemies:

    • enemies surround the player in a circle​

    • enemies attack one at a time

    • hit, finisher, grapple, stun, block, move, and attack states

    • enemies go into a ragdoll state when dying

Code Samples

bottom of page