Logo for BF

gOOpy - 3D Raymarching Scene Editor

Source Code | Link
ThreeJS, GLSL, React, Node, Express.js, MongoDB
  • Created a 3D scene editor with React / Three.js allowing users to create, save, and share their creations.
  • Implemented backend with Node and Express, using a NoSQL MongoDB database to store scene and user info.
  • Implemented raymarching in GLSL using signed distance functions, allowing for "goopy" shape interactions.
  • Calculated surface normals using gradients of the signed distance functions with central differences to implement Blinn-Phong lighting.
Logo for BF

BF Interpreter

Source Code
C++
  • Created an interpreter for the BF language written in C++.
  • Improved performance by preprocessing instructions, storing possible instruction jump addresses.
  • Tested using the Google Test unit testing library.
Logo for Balloonium

Balloonium - First Place Winner

C++, OpenGL, GLSL
  • Awarded first place out of 18 teams, judged by video game industry professionals, for a 2D game built in team of 6 in a custom engine using C++ and OpenGL with an Entity Component System.
  • Implemented electric player attack with custom electricity shader made by displacing UV coordinates with noise, using RGB texture channels to encode visual information.
  • Created shaded sprites using the Blinn-Phong model with normal maps and configurable material properties.
  • Implemented smooth camera movement by offsetting position based on velocity and interpolating between frames.
Logo for Kerrdit

Kerrdit (Reddit Clone)

Frontend | Backend
React, MySQL, Node.js, Express
  • Used React with Material-UI to build responsive website similar to Reddit's layout.
  • Utilized Express to read/write from a MySQL database to allow posting, voting, and more.
Logo for twenty Q style game editor

20Q-style Game Editor

Source Code
Java, Swing
  • Developed using a binary tree structure that backtracks when all questions in a branch have been asked.
  • Implemented persistence by reading and writing to JSON files.
  • Achieved 100% test coverage with JUnit to ensure program quality.
Logo for Genetic Algorithm Visualization

Genetic Algorithm Visualization By Colour

Frontend
React, Genetic Algorithms
  • Developed algorithm and designed interface to visualize how natural selection can affect populations over time.
  • Used custom React components as well as libraries to display the state of the population.