General Game Playing (GGP) is the playing of a wide variety games you may have never seen before, by being told nothing but the rules of the game at run time. This sets it apart from traditional specific game players, like the famous chess player Deep Blue. Deep Blue can beat the world chess champion at chess however, it has absolutely no idea how to play checkers. It is designed for one particular game and cannot adapt to rule changes, and certainly cannot play entirely different games. The goal of this project is to create a program that will play a wide variety of 2d games given descriptions of their rules without the creator of the program having ever known of the games. This report will cover the design and implementation of this project, as well as the background research performed and reflections on the outcome of the project.