Noya Cai

Gameplay Programmer / Graphics Programmer / Technical Artist

My professional work has mostly been in the area of VR/AR software developing for both Meta Quest and VisionOS using Unity and Unreal Engine. My personal projects include games made with friends and my own raytracer and shaders. I received a Bachelor degree in Computer Science from USTC in 2023 and a Master degree in Game Development from RIT in 2025 I've been practicing and playing the flute for 15 years and am now learning the guitar~

Email: qimiaocai011110@gmail.com Phone: 585-317-5388

Projects

Hustle

A VR puzzle-adventure game.

About: HUSTLE is a comfort-first VR puzzle-adventure set in a retro-future sci-fi world. You play as a bounty hunter chasing a big score, solving hands-on, room-scale puzzles by tinkering, hacking, and assembling devices under pressure.

My Role: I'm a Gameplay Engineer focused on creating interactive, player-driven VR experiences in Unreal Engine 5. My work centers on gameplay systems, physics-based interactions, and puzzle mechanics designed for both standalone and PCVR. I enjoy solving complex gameplay problems and building systems that give players creative freedom.

8 mo | professional work | Gameplay & Graphics Programmer

Duolatera

An online VR 2-players co-op puzzle game.

About: This is an online VR 2-players co-op puzzle game made with Unreal Engine 5. Players use laser guns to interact with portals and other objects in order to find their way back to earth.

My Role: My primary role for this project is technical artist and gameplay programmer. As a technical artist, I've implemented global cel-shader material, portal VFX material as well as several other shaders for in-game props. As a gameplay programmer, I've implemented multiple gameplay mechanisms for props, UI/UX system and a dialogue system.

9 mo | group project | Technical Artist & Gameplay Programmer

Particle Renderer(DirectX11)

A DX11 based particle system renderer.

About: This is a particle rendering system built on top of an open source C++ DirectX11 project. The system is written entirely in C++ and runs within a DirectX 11 rendering framework.

My Role: My work includes implementing sprite-based and mesh-based particle systems, support for custom materials, beam rendering, and mesh-shaped particle emitters, enabling flexible and extensible particle representations within the renderer.
Code can be found here: Particle Renderer

1 mo | solo project | Graphics Programmer

Real-Time Path Tracer(DirectX12)

A DX12 based Real-Time Pathtracer.

This project is built on a DirectX 12 renderer adapted from an open-source DirectX 11 engine. I restructured the rendering pipeline for DX12 and implemented bindless texture support to enable flexible, scalable material and texture access for real-time ray tracing.

3 mo | solo project | Graphics Programmer

Ocean Simulation

A GLSL based shader.

About: This is a Ocean Simulation shader based on my own Raytracer.
The shader is written entirely in GLSL and runs under OpenGL framework.

My Role: My work includes Gerstner wave function for ambient ocean wave, circle wave function for ripples, generating sand using perlin noise and light system.
Code can be found here: Ocean-Simulator

3 mo | group project | Graphics Programmer & Technical Artist

Warped

A 3D top-down isomatric puzzle game

About: Warped is a 3D top-down isometric puzzle game made with Unity. Player must escape from a mysterious underground temple by rotating the magical rooms they're trapped in.

My Role: My primary role for this project is gameplay programmer and tool programmer. As a gameplay programmer, I've implemented the entire rotation system in the game as the main mechanism. As a tool programmer, I've implemented multiple animation spline functions for artist to use in cutscene.

4 mo | group project | Gameplay Programmer & Tool Programmer

GPU Raytracer in OpenGL

This is my own global illumination Ray-tracer that allows user to define triangles and spheres and render them on gpu.
There are multiple styles of procedural shaders provided inside of the GI framework. Checkerboard, perlin-noise and other customizations can be applied to shapes.

Mirrored and transparency effects are available for both spheres and triangles. User can select different kinds of tone-reproduction effects after rendering the image.
Code can be found here: GPU-Raytracer

4 mo | solo project | Graphics Programmer & Technical Artist

CPU Raytracer

This is my own CPU Ray-tracer and a rasterizer that allows imported models and textures.
The program uses Eigen3 for geometry computation and OpenCV for visualization.
Code can be found here: CPU-Raytracer

Painting Generator

This is a small python program I wrote using OpenCV to create animation effects, sketch effects and watercolor effects for photos.

Here are more samples and source code: Painting Generator