Student Competition (2013)

Pacman AI Competition

A class wide competition that aimed to improve the performance of the original Pacman agents. Using a Pacman Java API, students wrote AI controllers for both the ghosts and Pacman. We applied the A* algorithm with a finite state machine to direct attack and defense strategies for ghost agents. Our Pacman agent used a behavior tree to avoid being captured by enemy ghosts.

I developed the ghost AI for our Pacman agent. The pink and red ghosts attempt to chase down Pacman by searching for the most direct path. The orange and cyan ghosts will attempt to cut off Pacman by moving towards the closest intersections Pacman is by. Once a power pellet is eaten, the ghosts change to an afraid state, where they will run away from Pacman.


Student Capture the Flag Competition (2015)

Red: Default Bot     ----------     Blue: Team Toast Bot

Red: Default Bot     ----------     Blue: Team Toast Bot

From the project description: "The course contest this semester involves a multi-player capture the flag variant of Pacman, where agents control both Pacman and ghosts in coordinated team-based strategies. In a game of Pacture the Flag, your team will try to eat all of the food on the far side of the map, while defending the food on your home side. When on your side, you are a ghost: able to eat Pacman but not food. When in enemy territory, you are Pacman, eating food whilst avoiding enemy ghosts."

Additionally, opponent positions were unknown. So we implemented a particle filtering technique to predict the positions of enemy agents. For this competition, our high level architecture was also a finite state machine.