Pac-Man - Part 0: Introduction
My university dissertation was titled ‘Augmenting Tree Search with Neural Networks in an AI Agent for Pac-Man’. You can view it here. As part of this work I recreated the game itself, then designed and developed an AI agent to play it.
My dissertation accounted for 1/3rd of the marks of my final year at university, and I spent a huge amount of time working on it. Even so, looking back on the code quality of the game, the final performance of the AI agent, and the methods I used, I’m not particularly proud of the results.
In the years since I graduated, I’ve often reflected on this project and wondered how much better I’d be able to do now that I have so much experience as a developer.
It’s been over 4 years since then, and I’ve worked at two different companies in that time. I’ve decided to revisit Pac-Man with the following goals.
- Re-implement the game.
- The code quality should be up to my current standards.
- The game should be a more faithful recreation of the original.
- The game should be more performant.
- Re-implement the AI agent.
- I cut corners in the original design, partly due to the course deadlines and partly due to my inexperience. I want to do it properly this time. Trying again with the original design, I’d like to see if I can make a better agent.
- Experiment with new agent designs.
- I’m going to try some different designs and see if I can come up with anything that beats the previous approach.
- I’d also like to implement some state of the art models and see if they’re able to play the game, including a GPT model.