This will be the framework for a general purpose game playing engine. It will utilize different algorithms and techniques commonly used to find the best solution to perfect information games, such as chess, connect four, 2048, and so fourth. Different variants will be created using this as the template and will be modified for any specific game. Such modifications will include inputs and outputs, game board specifics, board evaluation, board manipulation, hash key generation, and other aspects specific to a game. General things such as searching, decision making, transposition table management and such will already be taken care of.