Welcome to my personal website!
I'm Ruben, a game developer based in Philadelphia specializing in graphics and animation engineering. Previously I was a client software engineer for The Sims 4 at EA in the Bay Area, but recently left to pursue a master's degree in Computer Graphics and Game Technology at the University of Pennsylvania. This is a place I stood up to showcase my work and what I'm passionate about.
A path tracer built from the ground up in NVIDIA's CUDA framework for photorealistic rendering. Supports Multiple Importance Sampling, Texture Mapping, Environment Mapping, Physically Based Shading, and user-imported GLTF meshes accelerated with Bounding Volume Hierarchies. Refer to the Github readme for a performance analysis of each part of the algorithm.

A combat system built in Unreal Engine 5. I built a custom combo system that buffers, sequences animation montages. Montages are marked up with custom animation notifies that control timing windows, hitbox activation, and target snapping. I also built a dynamic hit reaction system, which plays distinct hit reactions based on how the target was hit.


A CUDA-accelerated implementation of Craig Reynold's Boids Artificial Life Simulation. Supports simulation of 300,000+ agents at high frames per second. Includes performance analysis of different grid method implementations performed using NVIDIA's NSight suite.

An implementation of monte-carlo pathtracing using OpenGL and C++. Can showcase physically-based rendering of objects with global illumination and a variety of material parameters.


A minecraft clone made in OpenGL and C++. Features chunking, multithreaded terrain generation, procedural caves and terrain, a custom skybox with day/night cycle, and shadow mapping. Implemented in OpenGL as a group project, where I was in charge of chunking, shadow mapping, and multi-threading. Credit for the rest of the features goes to Constanza de Rienzo and Caroline Fernandes.


C++ Implementation of Dual-Quaternion Skinning (DQS), Linear-Blend Skinning (LBS), and a CCD IK Solver. The user can specify a variety of FBX files to play using FK, or manually adjust end effectors for the CCD IK system. Also built as a Unity plugin where the character automatically adjusts to changes in height.



A homebrew game engine I began building in my second year of undergrad using C++ and DX11. This is a very useful testbed for creating native graphics applications or trying out new rendering techniques. Supports shader reflection to make adjusting the graphics pipeline for custom shaders seamless. A thorough performance analysis has been performed and is available on the repository.
