Projects

Rise of Industry 2
Developed by the industry veterans at SomaSim, Rise of Industry 2 is a strategy simulation game that puts you in the shoes of a late 20th-century industrialist. As an intern at SomaSim, I was involved in many facets of the game's development process, including but not limited to: fixing simulation and UI related bugs, configuring levels, working with localization files, scripting through in-house config languages, attending design meetings, and providing feedback on game feel and balance.

Custom AI Engine: Modular Steering Behaviors
Originally meant to be an implementation of the boids algorithm, this project evolved into an in depth study of modular steering behaviors for AI movement, that could be composed through a mixture of blending and arbitration. This also highlighted the limitations of such an approach, and how awarness between different behaviors is a requirement for a complete AI movement solution.

Jisa: Path of Steel
Path of Steel is an isometric roguelike, where you play as the cyborg Jisa. It was made in Unity and was the first game I developped. As we built the player movement around an event driven asset pack that utilized root-motion, I became very familiar with the 3Cs: Character, Camera and Control. I was also responsible for writing the code for the combat gameplay, the visual effects, the player UI and, via an event bus, all the interactions between the game's subsystems.

Jolt Physics Engine: Parallelized Soft Body Calculations via CUDA
Jolt is an open source physics engine written with C++. In this project, we modified the build pipeline of the original physics engine to insert the CUDA runtime environment. In our custom script, we converted all soft-body collision calculations into parallel algorithms written for the GPU and then plugged this script into the engine's simulation cycle.

WebGL Rendering Engine
A simple rendering engine written with WebGL. First developed as a collection of shaders and scene hierarchies to allow for object vertex data to be rendered in local and world coordinate systems. Later, integrated the Phong shading algorithm into the rendering pipeline to allow for interaction between materials and light sources.