Current Projects:

Phd Research - Currently the majority my time is filled up with my research as part of the IGGI Doctoral Training Center. I am considering the ways in which we can first identify how a playing is feeling whilst they are playing a game and then how this knowledge can be utilised to improve Procedural Content Generation algorithms. Read more about my research proposal here.

Starwing Genetica - Initalised built in two weeks during a training module for IGGI Starwin Genetica is a space themed dog fighting game built using Unity. It uses a Genetic Algorithm when spawning each wave of enemies and in doing so identifies ships which perform better against the player's playstyle. A very early game play video can be found here.

Past Projects:

Monte - 'Monte: A general game playing AI Library for 2-Player Abstract games using Monte Carlo Tree Search and Deep Learning' is my final year project for my BSc. I am looking at how I can combine deep learning and MCTS in order to create AI that can play a wide range of games 'out-of-the-box'. Eventually Monte will be released as an open source Unity plugin. Everything is written by me in C#.

Code Noir - A collaborative project which blended puzzles with top down exploration. In Code Noir players took on the role of a spy in a cyber punk world. During game play player has to sneak past guards, hack computer terminals, pick locks and lift finger prints on their was to uncovering the secrets behind a company that were not all they seemed. Role: Lead Programmer, Lead Designer

Goro-Goro Dobutsu Shogi - This c++ implementation of the Japanese abstract game Goro-Goro Dobutsu Shogi used a Monte Carlo Tree Search opponent which provided solid opposition for players.

Leylines - Leylines was my first attempt at writing an intelligent opponent for a board game. It used a novel approach to the problem, using limited tree search combined with move selection inspired by genetic selection. Additionally the game itself is a game I designed (and still tinker with to this day).

Hackathons/Game Jams:

The Transmission is a text based mystery game where your only tool is the terminal in front of you. You play as a member of a missile defence system and must investigate a missile alert. Made for the Global Game Jam 2018 using Unity.

Travelling Playlist Problem is a CLI tool which uses the Spotify API to take a playlist, model it as a graph (with distance being how different songs are based on audio analysis) and then uses a genetic algorithm to solve the Traveling Salesman Problem and, finding the shortest path reorganise the playlist so it flows better. Made in 24 hours at Anvil Hack 3 and winner of one of the Spotify awards for best use of their API.

Genetic Dungeon was a dungeon generator which used a combination of Genetic Algorithms and Monte Carlo simulations to build progressively more interesting Dungeons. Made in 24 hours at HackCity 2017 and winner of two awards, one for best AI hack.

Crime Watch was a Pebble watch app written in JavaScript which told the user how much crime was in the local area as well as potential hotspots to avoid. It used the Police data api as well as Mozilla's location API and was made in 24 hours at HackSussex 2016. Colab with Amrish Parmar.

Published Titles:

As Junior Programmer:
  • Magic Duels: Origins
  • Duels of the Planeswalkers 2014 + all Expansions
  • Duels of the Planeswalkers 2015 + all Expansions
As QA:
  • Duels of the Planeswalkers 2012 Expansions
  • Duels of the Planeswalkers 2013 + all Expansions
  • Carmageddon iOS