See full writeup and results: Neural Net Project
This project involved building a predictive neural network using PyTorch to evaluate the outcome of competitive Pokémon battles based on mid-game turn data. I engineered a 289-feature input space capturing Pokémon health, stats, and types (via one-hot encoding), and trained the model on thousands of battle simulations collected using custom bots interfacing with Pokémon Showdown via the poke-env library. To ensure robustness and reduce overfitting, I applied normalization, cross-validation, and careful feature selection, resulting in a model that achieved approximately 74% accuracy. This work showcases practical experience in machine learning, data preprocessing, and AI-driven decision systems within a strategic game environment.
See full writeup and code sample: Auto Siege
Auto Siege is a game where, each round, players spend gold to improve their offense and defense. The better your ally Attackers perform against opposing towers, the more damage is dealt. The last player standing wins. This project was developed in the Unity Game Engine using C# for scripting. It features real-time multiplayer functionality powered by Netcode for GameObjects, with custom 3D voxel models created in MagicaVoxel. GitHub, Itch Page
For this project I worked with others to help design and build the game. I communicated with my artist on what assets need to be finished and delegated song requests to the musicians. I was responsible for the programming and implementing everything into Unity. Together we built a bullet hell where you play as a Grub wiggling around to collect the sands of time. Play on browser
I decided to take on a challenge and learn to build AI agents. Capture the Flag is an interesting battle field for this because I got to explore complex decision making. Notably, it involved strategic choices based on roles, such as attacker or defender, and dynamic responses to the game state, like how agents will defend their teammates who are carrying the enemy's flag. Download
I created a Pokémon AI that is able to compete with human players. Pokémon showdown is an online website that allows for Pokémon battle simulations. Using their api along with the poke-env python library I successfully created an intelligent AI. It works by simulating the outcomes of different choices and then evaluating the outcome of each choice. Github Link
During each iteration of the agent I was able to test my bot against its previous version by hosting a local Pokémon showdown server and simulating a few thousand games. I then made changes and improvements based on the data collected from the games.
On the Pokémon showdown ladder the bot achieved a rating of 1250
I really wanted to learn online multiplayer development so for a summer project I made Combat Square Online. Its a simple strategy game made using Photon and Unity. During this project, I learned a lot about netcode and I extensively researched about server-client coding. Download