top of page

Game Projects

Try Again

2024 IGF Nominated Game

TRY AGAIN is a 2.5d, fast-paced, meta, platformer about a video game temp character named Benny who is trapped inside of an unfinished game by a mysterious, insecure, Oz-like figure called, “The Designer.” The Designer is up against a deadline from her publisher and it’s her last day to test. Benny needs you to get him out of this sisyphean, grey-box facility.

  • Role
    • Lead Engineer
    • Designer


  • Highlights
    • Managing a team of 4 engineers and 4 volunteers
    • Communicate between teams
    • Procedural animation of “The Designer” character
    • Design and implementation of UI/UX
    • Benny character state machine
    • Simplified Chinese localization




Frenemy Colosseum

Frenemy Colosseum is an online 2-player rogue-like dungeon-crawler game where you fight alongside a friend against waves of monsters in a colosseum, but with a thrilling twist: you control all your friend's power-ups, and your friend is the ultimate obstacle of triumphing the Colosseum. Build them up strategically to survive, but brace yourself for the exhilarating clash that awaits.


  • Role
    •   Developer


  • Highlights
    • Fun and innovative rogue-like PVP Combat
    • Fluid animation system
    • Online multi-player networking implementation


Pan’s Umbra

Pan's Umbra is a demo showcasing upgraded shadow mechanics derived from my college project, Datura's Curse. It applies real-time colliders to shadows, enabling characters to project themselves onto illuminated surfaces and interact with 2D objects and shadows. This innovative mechanic unlocks new exploration possibilities and interactive experiences tailored for 3D adventure games.


  • Role
    • Developer


  • Highlights
    • Intriguing mechanics with high-level design potential
    • Shadow physics
    • Real-time shadow generation
    • Distant shadow projection


Pan's Umbra

Pan's Umbra

Pan's Umbra
Realtime Shadow Physics

Realtime Shadow Physics

00:05
Level Design Example

Level Design Example

00:08
Distant Shadow Projection

Distant Shadow Projection

00:21

Other Projects

SENVA-2

Surface Exploration Navigational Visual Assistant is an AR headset that provides crucial information to astronauts venturing outside their vehicles and into the great unknown. Central to this will be devices that enhance autonomy, communicating real-time information about geology, navigation, atmospheric conditions, and vital signs, without relying solely on communications from mission control back on Earth. 


  • Role
    • UI Team Lead Engineer


  • Highlights
    • Visualization of GPS coordinates to the real world, mini-map, and interactive map
    • Terrain scanning and color-coding for safe navigation in low-light conditions
    • Effortless gesture and gaze control for astronauts in heavy space suits
    • Engaged in collaborative work with the team on a research paper focused on this project 

OpenGL Animation Projects

Projects showcasing the understanding of various 3D computer animation and simulation techniques.


  • Jello cube soft body simulation
    • Elastic material simulated with a 3D mass-spring network


  • Motion Capture Keyframe Interpolation
    • Implemented methods to interpolate human motion data obtained from an optical mocap system, including linear Euler, Bezier Euler, SLERP quaternion, Bezier SLERP quaternion


  • Inverse Kinematics and skinning tool
    • Implemented skinning, forward kinematics (FK), and inverse kinematics (IK) to deform a character

Animation and Simulation

Animation and Simulation

Animation and Simulation
Soft Body Simulation

Soft Body Simulation

00:15
Mocap Data Interpolation

Mocap Data Interpolation

00:09
Armadillo IK

Armadillo IK

00:24
Hand IK

Hand IK

00:18

3D Graphics and Rendering 

An image rasterizer built from scratch in C++

  • Features
    • Flat, Gouraud, and Phong shading

    • Supports transformation

    • UV mapping

    • Antialiasing

    • Height map, normal map, and bump map texture mapping


Prime Engine 2.0

An upgrade to the skeletal engine created by instructor Artem using C++ that provides fundamental pipelines from asset output to rendering


  • Basic character manipulation
    • The video showcases movement and animation control - A soldier patrolling around the car, picking a reachable waypoint then move to it, and another one aiming and shooting animation to an imrod


  • Object Culling
    • Culling is achieved by AABB bounding box on the meshes and a frustum that is 90% of the screen size


  • Physics
    • Implemented gravity the interaction between bounding boxes and spheres. This video displays a soldier running toward a car and sliding along the edge and then falling off the ground


  • Animation
    • Implemented three ways of animating character motion: full, partial, and additive


  • Wind Effect
    • The wind effect is achieved by passing extra vector parameters through shader buffers and shifting the vertex coordinate during the shader stage. This video uses the camera and the imrod in the middle as the main sources of the wind


  • Gameplay Implementations
    • 3rd Person Camera
    • Character State Machine
    • Stamina System and UI
    • Menu


Prime Engine Upgrade

Prime Engine Upgrade

Prime Engine Upgrade
Character Manipulation

Character Manipulation

00:15
Object Culling

Object Culling

00:15
Physics

Physics

00:08
Animation Blending

Animation Blending

00:06
Wind Effect

Wind Effect

00:28
3rd Person Cam

3rd Person Cam

00:17
State Machine

State Machine

00:19
Stamina System

Stamina System

00:25
Canvas and Menu

Canvas and Menu

00:45
bottom of page