Projects

Unity C#

Java

Python

C/C++

Assembly

Making games has been one of my favorite pastimes ever since I got into game development in 2020, and at this point I have completed around 10 game jams! I usually work with one other friend, though Ive build a handful of games alone too! Im usually responsible for game design, programming, and music, though with only two developers Ive had to get comfortable with all aspects of development!

Processing was my first language, its an open source java based sketching program with a canvas and console as its primary outputs. All the projects I included under processing were written in my free time while I was in high school! Recently in university Ive had to pick it back up with Android Studio for my software engineering courses!

Python is by far my most used language, its incredibly helpful for things you just want to get working as soon as possible. Ive built tons of little tools, like writing overlays, data tracking programs, automation scripts, and simple video game bots!

Ive had to do a ton of work in C for university, and though you're a lot more exposed to hardware quirks, its an incredibly powerful language! Ive come to learn that its basically essential in embedded systems because of how wildly faster it is than its higher level counterparts!

Assembly is one of the less practical languages Im familiar with, but its actually very helpful when working with C because it can explain a lot of strange behavior! Its also incredibly helpful for reverse engineering, because assembly is usually the best you can get when decompiling programs!

End of search

On The Grid

Unity C#

On The Grid is from a 48h game jam, the premise of the jam was limited resources, and we ended up building a game where your jumps are limited, and must be collected! At its core, it is a physics based platformer with some minor puzzle elements that requires some pretty tight movement at times. Its complete with menus, music, some tricky collectables, and a brutally difficult bonus level!

FPS Playground

Processing (java)

This was my attempt at a 3D online multiplayer shooter, written entirely from scratch other than a relatively simple library called QuesyCam which handles camera rotation. Networking was done using a secondary server program and the built-in processing.net library!

Snake AI

Processing (java)

While I was in high school, I built a super simple generation based machine learning algorithm to play snake, all without any external libraries!

GeoFire

Processing (java)

GeoFire is a procedurally generated card based dungeon crawler built in Processing! The main gimmick is that your health, move speed, and Mana (the card playing resource) were all tied together. It led to some really weird balance that couldn't be fixed without reworking that primary mechanic, but it taught me a lot about the value of class based architecture!

Grappler

Unity C#

This is yet another 48h game jam game I did solo, my goal was to create a satisfying grappling platformer that could be expanded for speed running (similar to On The Grid). I wrote all the grappling physics myself, learning a lot about the power of ray casting in the process!

Duo

Unity C# (WIP)

Duo is a longer form puzzle game Ive been working on for some time, its designed as a local coop puzzle game, where each player moves with a seperate set of arrow keys. The premise is that each player has a different ability they gain access to when they pick up a crystal, and they have to work together to reach the portal!

Frozen Deep

Unity C#

This is a Unity C# game for a 48h game jam I did with a friend, complete with menus, music, and an end sequence! The premise is that you are trying to navigate a deep and dark ocean for treasure. You can collect coins and bring them back up to the surface to buy powers like longer air supply, faster movement, or more light!

Shrug

Lineup Calculator

Python

This is a small python project I built using the Tkinter library that adds a static overlay to Valorant, allowing you to quickly wing molly lineups from anywhere on the map! It uses the top of the world to estimate your view angle, showing you where your projectile will land/bounce to on your mini-map!

QR Event Manager

Android Studio (java)

This was my final assignment for one of my classes at the University of Alberta. It was story boarded in Figma, and built in Android Studio using libraries including Zebra Crossing and OpenStreetMaps! As a team of six, we tracked issues and maintained a wiki in GitHub, complete with CRC cards, Javadoc, and sprint/meeting logs!

Shrug
Shrug

Balancing Engine

Python

This is a python based simulation and data analytics tool I used to balance my groups custom gear list for the Cyberpunk 2020 TRPG rule set! It simulates fights between theoretical units in a vacuum to measure a given weapons viability based on its TTK or chance to instantly kill an enemy. It then plots all the weapons in the batch on a nice little graph to make it easy to spot outliers!

Shrug

Damage Tracker Mk2

Python (WIP)

Mk2 is a GUI unit tracker that my friend group uses to simplify a lot of the more complicated calculation you need to do when playing our version of Cyberpunk 2020 TRPG. It sees a ton of use and as a result has many polished features to make using the system easier! Its complete with art and animations, and even connects to a database of units our GM can modify before a session!

Damage Tracker

Python

This is a legacy form of Damage Tracker Mk2. Though it does almost everything that Mk2 can, it uses a CLI and as such the more complicated features are pretty clunky. It has since been entirely abandoned as we reworked the way damage is applied, and a lot of the ammotypes now read slightly differently.

Shrug

Temperature Regulator

C++

When I was building my 3D printer enclosure, I designed it to embed a PC fan and use an Arduino to hold a specified internal temperature. This also comes with the added benefit that I can monitor the internal vs external temperature remotely. I wrote the code myself in C++ using the Arduino IDE! See the 3D Printing page to see it embedded!

Shrug

Dragonshell

C

For my operating systems course, I built a simple shell program in C akin to bash, which supports running in backgroud, input and output redirection, and piping! The only built in commands are pwd, cd, and exit, but you can run any program using absolute file references!

Multithreading Library

C

For my operating systems course I also built two libraries: a threadpool library using POSIX threads that allows users to create and hand arbitrary jobs off to a threadpool, and a Map Reduce library that lets users effeciently parse large amounts of data from clusered structures! To do so I had to implement multiple primitive syncronization methods, largely sempahors and mutex locks!

Shrug

Sorting Visualizer

RISC-V Assembly

This is one of the more visual projects I did for school using assembly, its just a simple insertion sort algorithm written in RISC-V that additionally makes draw calls to the University of Albertas GLIR library, which is effectively just a mapping for extremely basic pixel wise rendering via modern terminals!