Project information

Overview
This is a description of the theses I did for my final year at university. Queen Mary University pushes its students to do something new and push the boundaries of the CS field. That's exactly what I did with my final year project. My final year project was to implement two Ai agents for a game called Tribes. This is special as these agents have never been adapted for a game like this. This has been described in more detail in my report linked above, but at its core, Tribes is a more complicated game than the original game the two agents were first implemented on. I will go ahead and describe the individual components of the game in more detail:

Tribes
Tribes is a game that was re-created for research purposes by my professor and supervisor, Dr Diego Perez-Liebana. The game is a re-creation of The Battle of Polytopia. This, in turn, is a simpler version of the game franchise Civilisation. This is a game where you have your tribe and you have to expand by taking other cities into your control, waging war and managing resources. Thus this makes this strategy game a lot more complicated than other games.

OEP and eMCTS
These are the two agents that I was tasked to implement. An abstract explanation of these agents would be that they take their ideologies from nature and specifically, evolution. OEP creates a population of individuals where each individual is a sequence of moves. These individuals are assessed, ranked and through a process of selection, chosen to procreate with each other. Then the new population is re-populated, and mutations are also introduced. The idea is that the best moves are like the best genes for a person and after a given amount of generations, the best genes will end up in the best individual.

eMCTS on the other hand is a new version of MCTS (Monte Carlo Tree Search) MCTS is a good agent for simpler strategy games but does not do well in a game like tribes. eMCTS has the modification where instated of adding moves to a node on the tree, you start will a full sequence and introduce mutations. This has worked better for other strategy games and my work was to try and figure out how to implement them for this game.