AI Games

Programming

Out of all of the units I did at University this is probably the one I had the most interest in, and it is in fact what inspired the idea for my dissertation as I wanted to explore AI further.

This unit involved exploring methods of AI path finding that could be used within development of a game. We were provided with an A* path finding algorithm and had to discover other methods to achieve the same result, choose one of them, implement it in C++ and directly compare it to the A* algorithm.

A few different algorithms were available to achieve this task;

  • Artificial Neural Networks

  • Reinforcement Learning

  • Genetic Algorithms

These are the three main methods I looked at, and ultimately I decided to explore genetic algorithms, which is based on real world evolution, purely because it sounded the most intriguing to me. It involves testing random binary strings that represent “chromosomes” choosing the most fit and then producing “offspring” from those, with an element of randomness, and then repeats this to find the optimal string.

Through my testing I found out the A* is significantly faster and more efficient than GA is when it comes to path finding through a maze, being roughly 6.5x faster at solving the maze. This I believe was mostly down to the fact that the A* method allowed the AI to move in 8 directions whereas the GA method could only move in 4.

Previous
Previous

Tabletop Game

Next
Next

Innovation, Enterprise and Business Development