Personal projects & coursework

Projects

Game engines, simulations, hardware, and other software projects. Source code and demos are linked where available.

Project collection

18 projects

Filter by category or search by technology
03 / GraphicsSelected work

Planetary Simulator

An n-body simulation in Rust with parallel gravity calculations and wgpu rendering.

  • Rust
  • wgpu
  • Rayon
  • Physics
Build notes
  • Parallel acceleration calculations with softened gravity, configurable substeps, and time scaling.
  • JSON-defined bodies, procedural sphere meshes, depth-tested rendering, and camera controls.
04 / GraphicsSelected work

Fluid Simulation

A C++ fluid simulation compiled to WebAssembly, with interactive browser controls.

  • C++
  • WebAssembly
  • React
  • Web Workers
Build notes
  • Runs simulation work off the main thread with Web Workers and shared memory.
  • Emscripten connects the C++ engine to an interactive browser interface.
05 / Hardware

Connect Four on FPGA

Connect Four implemented in Verilog with VGA output and PS/2 keyboard input.

  • Verilog
  • Cyclone V
  • VGA
  • FPGA
Build notes
  • Custom VGA output with double buffering and 24-bit color lookup tables.
  • PS/2 keyboard input and eight or more finite state machines coordinate gameplay and rendering.
06 / Graphics

Polygon Triangulation

Draw a polygon and step through ear-clipping triangulation in an interactive Unity visualizer.

  • C#
  • Unity
  • HLSL
  • Geometry
Build notes
  • Procedural meshes and shader highlights make each step of the algorithm visible.
  • Pause, step, and compare the intermediate geometry.

Personal project

07 / Hardware

3D Tic-Tac-Toe

A 3D game engine running on a Nios II processor, with graphics, sound, and hardware input.

  • C
  • Nios II
  • DE1-SoC
  • Embedded
Build notes
  • 3D transforms, rasterization, and DMA double buffering synchronized to the display.
  • PCM audio and interrupt-driven PS/2 mouse input over memory-mapped I/O.
08 / Systems

Unavi GIS

A C++ mapping application with custom rendering, route finding, and a parallel courier optimizer.

  • C++17
  • GTK
  • OpenMP
  • A*
Build notes
  • Parallel map preprocessing and A* routing.
  • Courier optimization using precomputed shortest paths, simulated annealing, and 2-opt moves.
09 / Machine learning

Chest X-ray Classification

A coursework project using VGG16 transfer learning for cancer and COVID-19 image classification.

  • Python
  • PyTorch
  • VGG16
  • Computer vision
Build notes
  • Image preprocessing, transfer learning, and confusion-matrix analysis.
  • Reported 90.1% overall accuracy on the project test set.
10 / Games

Dummy Royale

A Python battle royale with 99 AI opponents, crate looting, and weapon-dependent bot behavior.

  • Python
  • PyGame
  • Game AI
  • Pathfinding
Build notes
  • State-machine bots find crates, pursue opponents, and react to incoming fire.
  • Range-aware targeting adapts to the equipped weapon.
11 / Games

Chess++

Play locally, challenge a minimax opponent, or join an online match through Firebase.

  • Java
  • JavaFX
  • Firebase
  • Minimax
Build notes
  • Player accounts store match statistics and ratings.
12 / Games

Speed Crave

A top-down driving game with AI traffic, pickups, hazards, and increasingly busy roads.

  • Java
  • Greenfoot
  • Game AI
Build notes
  • Separate scenes for car selection and gameplay, with persistent high scores and difficulty settings.
16 / Games

Infiltrator

An endless parkour runner with procedurally placed platforms, made with p5.js.

  • JavaScript
  • p5.js
  • Procedural generation
17 / Hardware

Dunkirk / FRC 5409

Competition robot software for elevator control, climbing, and autonomous drivetrain alignment.

  • Java
  • Robotics
  • PID
  • Sensors
Build notes
  • Encoder-based elevator presets, limit-switch resets, and a pneumatic climb ratchet.
  • Gyro and time-of-flight sensor feedback drive PID-based auto-alignment.
18 / Hardware

CO₂-Powered Car

A CO₂-powered F1 in Schools car project focused on aerodynamics and mechanical design.

  • CAD
  • Mechanical design
  • Prototyping