About Me

I am a full time student at DigiPen Institute of Technology, studying Computer Science in Real Time Interactive Simulation (I make game engines). I studied Astrophysics for a while, but then discovered my passion for making games.


Student Projects

I have worked on several projects during my time at DigiPen, including Alatheia and Cyberfunk. I worked as a Technical Director and Graphics Programmer on these projects.

More info


I've worked on games using custom engines, Unity 3D, and 3d models and rendering using Blender3d. Click on images for additional information about the project.

spz_enemy1 spz_enemy1 spz_enemy1

DateFall 2016 - present
RoleTechnical Director
LanguagesC++, Lua
ToolsVisual Studio 2015
LibrariesOpenGL, FMOD Studio, LuaJIT, FreeType, SDL2, GLEW, Spine

Student game developed by Team Aubergine.

Alatheia is an Ancient-Greek themed exploration-focused platformer where the player uses a grappling hook to traverse the world. It is built in a custom engine implemented in C++ using modern OpenGL.

As Technical Director on the team, I was the principle engine architect. I implemented the entity/component system, the event system, the resource management system, and a job system. I was also the primary graphics programmer on the team, which involved implementing mesh, shader, and texture pipelines.

My Resource Management system enabled the engine to load resources in the background, as well as detect changes to assets while the game is running and trigger a reload. This system was referred to as "hot-loading" and enabled all team members to immediately see their work in game, and try out variations quickly. The resource that supported hot-loading included lua scripts, shaders, and textures. This enabled us to reduce iteration time further on these asset types, since there was not even a delay of restarting the game to see the change in effect.

This game is not yet available for download

All of these images are ©2017 DigiPen Institute of Technology

spz_enemy1 spz_enemy1 spz_enemy1

DateSpring 2016
RoleTechnical Director
ToolsVisual Studio 2015
LibrariesAlpha Engine (Proprietary)

Student game developed by Team Funk++.

Cyberfunk is a top down 2D isometric RPG-like rhythm game where players dance to restore funk to a futuristic dystopian world

As a rhythm/RPG hybrid, the game presented many interesting technical challenges. Our engine had to support multiple gameplay spaces interacting in order to have the dance battles be seperate but have an effect on the 'overworld' space.

The core systems I implemented in Cyberfunk were the level rendering system and the level editor. I also developed a scripting system that enabled dialogue scripts to be written that could include basic control of game objects.

This game is available for download from DigiPen here

All of these images are ©2016 DigiPen Institute of Technology

spz_enemy1 spz_enemy1

Concept Renders of an enemy for Sector Plural Zed

DateOctober 2015
ToolsBlender, Cycles Renderer

High-poly concept renders for the first new enemy type for Sector Plural Zed. Designed to be able to move quickly over varied terrain, and scan for hidden enemies.

The prototype of Sector Plural Zed is available on itch.io here

spz1 spz1 spz1 spz1

Sector Plural Zed Levels


Some screenshots showcasing the procedural level generation in Sector Plural Zed. Shown here are the warehouse room types, with some hallway visible as well.

The generator creates abandoned stations with both hallways and large rooms of varying types. Each station is assigned one color to accentuate the mostly grey color scheme of the stations. Because most of the possible colors if generated randomly would not be visually pleasing or stand out, the colors a chosen from a list of pre-approved shades.

After stations have been generated, the rooms are filled with clutter physics objects. These are placed according to predefined patterns, to give the illusion of logical human arrangement for things like shelving. Some of the objects placed will cause an explosion effect, causing the objects around to be scattered. This makes stations far more visually interesting and adds a lot of variety to the levels, increasing the sense of these areas being abandoned in a hurry.

In the control rooms, the consoles are designed to be interactive and display station status. The room was designed to provide cover for intense shootouts, featuring a control pit in the center to provide cover. Future plans for this room type include an alternate version raised platform, instead of the sunken one, to provide another interesting combat area.

All level art and programming is my work. The weapon models visible here were created by Mitch Lydyard.

The prototype of Sector Plural Zed is available on itch.io here

project 3 project 3 project 3

Consumption Screenshots

DateAugust 2015
ToolsUnity 3D

Screenshots of Consumption, an ecologically themed survival game I made in 72 hours for Ludum Dare 33. The game features a distinct low-polygon style with bright colors and is currently being polished into a finished version.

The theme of the game is a very small ecosystem. Hunting too many of the wildlife will reduce the rate that they can breed, and possibly drive them to extinction. Cutting down trees and starting fires will warm up the environment and kill more plants. Eventually if unrestricted this damage becomes irreparable and the player will die.

The rework of this game currently in progress features an updated weapon system and inventory, as well as an expanded environment.

The jam version of Consumption is available on itch.io here

project 5 project 5 project 5

Frenzy Inc.

DateApril 2015
ToolsUnity 3D

Office-themed deathmatch game built with Eli Wulff and Katrina Kimzey in 72 hours for Ludum Dare 32. Players use improvised weaponry to battle for office supremacy, and use the coffee machine to regain their strength between fierce bouts.

Coworkers appearances are chosen randomly from a set of pieces and colors, and they are each given a unique description of what petty office crime they have committed. This is a concept I want to explore further at some point, but is not currently in progress.

The prototype of Frenzy Inc is available on itch.io here

project 6 project 6 project 6

Spaceship Render

DateDecember 2015
SkillsBlender3d, Cycles Renderer

Being away from my primary system for a christmas break prompted me to work on some smaller projects. I took inspiration from many science fiction ships, and built a fighter that has limited firepower, but looks built to go fast. The wings animate to fold or unfold, and the landing gear stows neatly inside the body. The engine nacelles on the sides can also articulate to provide vector thrust.

Currently untextured, this ship is a work in progress.

  • project 7


    Student Project

  • project 8


    Student Project

  • project 1

    Sector Plural Zed Enemy Concept

    Advanced walker robot

  • project 2


    My ecological survival game

  • project 3

    Sector Plural Zed

    Procedurally Generated First Person Shooter

  • project 5

    Frenzy Inc.

    Ludum Dare 32 Entry

  • project 6

    Spaceship Render

    Mini Project

Code Samples

Here are a few examples of my code from various projects

  • Multithreaded Resource Manager from Alatheia
  • My perfomance-oriented C++11 template-based math library (vectors)