Game Projects
Try Again
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
Realtime Shadow Physics
Level Design Example
Distant Shadow Projection
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
Soft Body Simulation
Mocap Data Interpolation
Armadillo IK
Hand IK
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