top of page

Course Projects

I enjoy dabbling in computer science special topics like game engines, graphics, and artificial intelligence. Below are a few examples of projects from special topic computer science courses.

Artificial Intelligence

Simulated annealing agent uses the simulated annealing algorithm to decide between choosing a better or worse state given a simulated temperature, which decreases over time, such that local maximums are disregarded for higher local maximums or the global maximum(s).

A* pathfinding agent uses the A* pathfinding algorithm to traverse two dimensional spaces optimally given a target position. I tinkered with the A* pathfinding package in Unity earlier on in college with a game development project before being introduced to this algorithm.

Connect four agent uses the min-max algorithm with alpha beta pruning in order to efficiently assess what a next good move would be given the opponent chooses a move that will be good for them. This algorithm was one of my favorite and I think it would be interesting to implement an agent to play through a RPG like Baldur's Gate 3 using a similar algorithm.

Chips Challenge agent uses A* pathfinding algorithm to dynamically assess which path is best in order to collect all the chips whist not being limited by any key-door combination.

Red Joystick
_edited.png

Game Engines

I independently implemented a flexible, networked game engine in the game engines computer science course in the game development concentration. This involved creating server client architecture to support multiplayer using ZeroMQ Pub/Sub and Req/Rep sockets and rendering figures via the SFML library. This project bolstered my existing understanding of game engines as well as familiarity working on large C# projects. One regret I have from this project is that I was learning C during this and this was my first C++ project so I wasn't able to use the best programming conventions.

Screenshot 2024-12-28 183122.png

Graphics

Using WebGL and JavaScript, I rendered images and colors in modular and replace modes via rasterization. Topics like triangle strip compression were interesting and potentially very useful in my research.

No Collections Here

Sort your projects into collections. Click on "Manage Collections" to get started

bottom of page