Fall 2020-May 2021, I worked at the Formal Analysis of Interactive Media (FAIM) Lab at Pomona College. I assisted in the development of Mappy, a Rust program which interprets pixel data from emulated Nintendo NES games. Mappy’s main feature is to produce game maps (linking together different levels and rooms), I specifically worked on Sprite Blobbing and Avatar Detection features, which involve tracking game sprites and grouping/classifying them based on their movement and relation to user input. In fall 2021, we submitted a paper on Mappy to a small conference called AIIDE (AI and Interactive Digital Entertainment). Not only was the paper accepted, but it also received an award for best paper at the conference.
Click here to view the paper!Triumvirate Arena is a battle card game featuring three players: Nate, Chloe, and Grace. Each player type has three signature moves which might increase or decrease your health/mana, and/or do damage to the other player. The goal of this two player game is to reduce the opponent to zero health. Part of the spring 2022 game engine programming class at Pomona.
We wrote Triumvirate Arena in Rust, completely from scratch, without a pre-made game engine (using Bitblt and Vulkan shaders). In our team of 3 (myself, Chloe, and Grace), I worked on gameflow mechanics (health/mana interactions, turn taking), player moves, and creating original music, while my partners worked on various other mechanics/graphics.
Click here for the Triumvirate Arena repository, in order to see the code and more gameplay examples!
Features:
JumpyBall is a 3D parkour game. The player navigates through levels by jumping across platforms, avoiding the ground, and working their way to the end gem.
We used the Frender game engine (created by Professor Joseph Osborn), which assisted with the 3D rendering. We created the physics, collision system and assets from scratch.
In JumpyBall, I primarily worked on asset creation and the collision system. I created all of the 3D models in Blender and wrote a Python script to create a set of bounding boxes for objects on the map (used for collision system).
Features:
During fall 2021, I worked in a team of 5 to create a neural network that can accurately predict the delivery time of items sold on eBay (based on features such as declared handling days, item category, weight, etc.).
Along with other various parts of the project, I created a Catboost model from start to finish. Catboost is a gradient boosting decision tree package which specializes in categorical data. We created a standalone website with a detailed description of the project (link below), including my results from Catboost.
From this project, I was able to expand my skills in Pytorch, Jupyter Notebook (remote work on high powered server), and Unix.
Follow the links below to check out the code and read the writeup!
Click here for the standalone websiteAs a part of my computer science senior seminar in Fall 2022, I wrote a paper on LiDAR and machine learning. See the abstract below.
(click here to download the full paper)
In March 2023, I was selected as a student assistant at the Esri Developer Summit, in Palm Springs, CA, where I attended sessions and learned about new GIS-related Python and Javascript tools.
I'm a producer and guitarist. A few Soundcloud links below.