The goal of General Video Game AI (GVGAI) is to implement agents that can play any real-time video game they are asked to play, without knowing in advance which games they can be expected to play. Every year, competitions for such agents are organised at various conferences. For my Master’s thesis, I implemented the MaastCTS2 agent. It uses Monte-Carlo Tree Search with numerous enhancements (including novel enhancements).
The most detailed description of the agent can be found in my Master’s thesis. A shorter version can be found in the following paper: Dennis J.N.J. Soemers, Chiara F. Sironi, Torsten Schuster, and Mark H.M. Winands (2016). “Enhancements for Real-Time Monte-Carlo Tree Search in General Video Game Playing”. In 2016 IEEE Conference on Computational Intelligence and Games (CIG 2016), pp. 436-443. IEEE. Best Student Paper Award. I also wrote a more informal blog post about it. Source code is available on github.