top of page
Green Shisper.png

Programming Projects

My dream job is game development, as I am enticed by the creative freedom, but I enjoy all kinds of programming. One of my biggest strengths is code organization and documentation. My style is highly reusable and modular, because I am always thinking about what I might want to add in the future. I rarely find a programming challenge I can not solve, given time and research.

​

All content here is my own original work unless otherwise specified. Code samples can be downloaded or viewed online.

ARDUINO C++

An Arduino is a convenient gateway between code and the physical world. While I've dabbled with small projects in the past, I recently had the opportunity to work on a friend's very impressive senior project. With my existing background in C++ and OOP, and being generally starved for an excuse to program, I ended up writing an over-engineered menu-system to implement a very simple menu, but I learned a lot in the process.

Bioreactor GUI Control

Arduino, 2023

​

A GUI menu program that uses a button & rotary encoder to navigate a customizable menu system with callback functions that interface with the control side to run and monitor the bioreactor.

Download Code:

CtrlBoard2.jpg

MATLAB

I learned MATLAB in college, and quickly fell in love with the simplicity and power of it. Prompted by class projects, I created simulations, calculators, text-based and graphical UI, and miscellaneous ad hoc problem-solving tools.

​

The code can be downloaded in a word doc or the .m file in a zip folder.

Refraction Simulation

MATLAB, 2021

 

A light refraction/reflection simulation. GUI created from scratch; all fields are editable. First image models light passing from air (1) into water (1.333) and bending down. The second setup shows light refracting (green) or reflecting internally (red), depending on the angle. I added some functionality to the program (2022) before creating the second image.

Download Code:

Download Report:

Refraction.png
ResultantEField.png

Resultant Electric Field

MATLAB, 2022

 

A problem-solving tool for calculating the resultant E Field at a reference point (black + red line) due to one or more point charges (red circles).

Download Code:

Magnetic Levitation

MATLAB, 2022

 

Proof of concept: Levitate a small disc magnet (10g, 0.42 A*m^2) with an electromagnet (5cm radius, 500 turns, 1A). First image: magnetic repulsion force on the small magnet as it is moved away from the coil. Second image: Net force (gravity & magnetic) on the small magnet. Equilibrium occurs at 2.6cm above the coil, where the magnet would theoretically hover, if stabilized horizontally.

Download Code:

MagLev.png
Miller Indices.png

Miller Indices Calculator

MATLAB, 2021

 

A Text-based Miller Indices Calculator, with input error handling. I challenge myself to make my programs unique or excellent in some way. I often start by making it fully interactive, rather than using hard-coded values. The next challenge is to make sure there is no user input (blank, negative values, letters, etc.) that can crash the program, like the infinite loop shown in red.

Download Code:

Download Report:

UNITY & C#

Though I love coding ground-up, Software development with a game engine has its perks. Unity provides built in physics, rendering, and object management, which allowes me to focus on level design and writing scripts for behavioral AI, player controls, and special object interactions.

Untitled Ball Game

Unity 3D, 2016 - Present

 

My largest project, inspired by a game called Ballance. I am experimenting with player controls, modeling, texturing, object behavior scripts, and even NPC behavioral AI. Spiky-fish is smart enough to not fall to his doom!

Download Code Samples:

Chasm of Doom

Unity 2D, 2016

 

Simple 2D environment for testing multi-state sprite animations. The slime and torch are my original artwork.

Download Code:

Java Script

Programmed using Khan Academy's ProcessingJS IDE

2013 - 2016, used OOP to create reusable elements, from GUI to particles, to enemies and obstacles. I even dabbled in some simple behavioral AI (fish). ProcessingJS provides simple graphics functions - everything else was built from scratch.

​

The programs below and their code can be viewed and run using the web links.

Beat It.png

Beat It

Java Script, 2015 - 2016

 

A tempo therapy program created to treat certain autism symptoms. All UI and graphics were created from scratch and made reusable with OOP. Roughly 2000 lines of code. Use the link below to try it yourself!

Open Web Program:

Space Pilot

Java Script, 2014

 

​

A space alien arcade game using OOP, simple geometric physics and collision detection, keyboard controls, and the ProcessingJS graphics library. Roughly 1000 lines of code, including spaces. Use the link below to try it yourself!

​

Open Web Program:

Space Pilot.png
Jetpack Chomper.png

Jet Pack Chomper

Java Script, 2014

 

A 2-player side-scrolling arcade game to play with my little brother. Uses OOP and keyboard controls. Roughly 1300 lines of code, including spaces. Use the link below to try it yourself!

​

Open Web Program:

Wiggly Worm

Java Script, 2013

 

A spin-off of a classic arcade game. One version has obstacles and the other is a slow-paced pattern recognition version for autism therapy. Roughly 800 lines of code, including spaces. Use the links below to try it yourself!

Default Version

Pattern Version

Wiggly Worm.png
bottom of page