Background: General Game Players are computer systems that able to play strategy games based solely on formal game descriptions supplied at runtime. Unlike specialized game players, such as Deep Blue, general game players cannot rely on algorithms that are designed in advance for specific games; they must discover such algorithms themselves. The expertise in General Game Playing depends on intelligence on the part of the game player and not just intelligence of its programmer.

Game Description: A game can be thought of a state machine with state transitions, which result when players make moves. In General Game Playing, the games are described in the Game Definition Langugage (GDL). At a high-level, a game state can be abstracted as a database and state transitions modeled as database updates.

Game Visualizations and Merlin: Traditionally, the field of General Game Playing has targeted machines that can consume game descriptions as logical rules and play games at run-time. However, humans unlike machines need a visual medium to play games and strategize. This is primary motivation that led to Merlin. Merlin is a system to automatically design visualizations for General Game Playing games. Merlin's goal is to bring humans "into the General Game Playing loop" by providing different visualizations to play the games and strategize, and to help game artists to implove their existing game visualizations.

Where's the magic?: The magic is in accurately figuring out the game concepts e.g. what is the board? what are the pieces? etc. from the game descriptions. Note that Merlin can generate multiple possible boards and pieces for the same game. Here's an example of how Merlin identifies boards from a game state - boards are invariant projections of a game state. (The intuition is that boards never change, however pieces move on the board.)