General game playing
||It has been suggested that General video game playing be merged into this article. (Discuss) Proposed since April 2016.|
General game playing (GGP) is the design of artificial intelligence programs to be able to play more than one game successfully. For many games like chess, computers are programmed to play these games using a specially designed algorithm, which cannot be transferred to another context. For example, a chess-playing computer program cannot play checkers. A general game playing system, if well designed, would be able to help in other areas, such as in providing intelligence for search and rescue missions.
General Game Playing is a project of the Stanford Logic Group of Stanford University, California, which aims to create a platform for general game playing. It is the most well-known effort at standardizing GGP AI, and generally seen as the standard for GGP systems. The games are defined by sets of rules represented in the Game Description Language. In order to play the games, players interact with a game hosting server that monitors moves for legality and keeps players informed of state changes.
Since 2005, there have been annual General Game Playing competitions at the AAAI Conference. The competition judges competitor AI's abilities to play a variety of different games, by recording their performance on each individual game. In the first stage of the competition, entrants are judged on their ability to perform legal moves, gain the upper hand, and complete games faster. In the following runoff round, the AIs face off against each other in increasingly complex games. The AI that wins the most games at this stage wins the competition, and until 2013 its creator used to win a $10,000 prize. So far, the following programs were victorious:
- 2005: Cluneplayer, by Jim Clune (UCLA)
- 2006: Fluxplayer, by Stephan Schiffel and Michael Thielscher (Dresden University of Technology)
- 2007: Cadiaplayer, by Yngvi Björnsson and Hilmar Finnsson (Reykjavik University)
- 2008: Cadiaplayer, by Yngvi Björnsson, Hilmar Finnsson and Gylfi Þór Guðmundsson (Reykjavik University)
- 2009: Ary, by Jean Méhat (Paris 8 University)
- 2010: Ary, by Jean Méhat (Paris 8 University)
- 2011: TurboTurtle, by Sam Schreiber
- 2012: Cadiaplayer, by Hilmar Finnsson and Yngvi Björnsson (Reykjavik University)
- 2013: TurboTurtle, by Sam Schreiber
- 2014: Sancho, by Steve Draper and Andrew Rose
- 2015: Galvanise, by Richard Emslie
- 2016: WoodStock, by Eric Piette (Artois University)
There are other general game playing systems, which use their own languages for defining the game rules. In 1992, Barney Pell defined the concept of Meta-Game Playing, and developed the "MetaGame" system. This was the first program to automatically generate game rules of chess-like games, and one of the earliest programs to use automated game generation. Pell then developed the system Metagamer. This system was able to play a number of chess-like games, given game rules definition in a special language called Game Description Language, without any human interaction once the games were generated.
In 1998, the commercial system Zillions of Games was developed by Jeff Mallett and Mark Lefler. The system used a LISP-like language to define the game rules. Zillions of Games derived the evaluation function automatically from the game rules based on piece mobility, board structure and game goals. It also employed usual algorithms as found in computer chess systems: alpha-beta pruning with move ordering, transposition tables, etc. The package was extended in 2007 by the addition of the Axiom plug-in, an alternate metagame engine that incorporates a complete Forth-based programming language.
The General Video Game AI Competition (GVGAI) has been running since 2014. In this competition, two-dimensional video games similar to (and sometimes based on) 80s-era arcade and console games are used instead of the board games used in the GGP competition.
Since GGP AI must be designed to play multiple games, its design cannot rely on algorithms created specifically for certain games. Instead, the AI must be designed using algorithms whose methods can be applied to a wide range of games. The AI must also be an ongoing process, that can adapt to its current state rather than the output of previous states. For this reason, open loop techniques are often most effective.
A popular method for developing GGP AI is the Monte Carlo tree search (MCTS) algorithm. Often used together with the UCT method (Upper Confidence Bound applied to Trees), variations of MCTS have been proposed to better play certain games, as well as to make it compatible with video game playing. Another variation of tree search algorithms used is the Directed Breadth First Search (DBS), in which a child node to the current state is created for each available action, and visits each child ordered by highest average reward, until either the game ends or runs out of time. In each tree search method, the AI simulates potential actions and ranks each based on the average highest reward of each path, in terms of points earned.
In order to interact with games, algorithms must operate under the assumption that games all share common characteristics. In the book Half-Real: Video Games Between Real Worlds and Fictional Worlds, Jesper Juul gives the following definition of games: Games are based on rules, they have variable outcomes, different outcomes give different values, player effort influences outcomes, the player is attached to the outcomes, and the game has negotiable consequences. Using these assumptions, game playing AI can be created by quantifying the player input, the game outcomes, and how the various rules apply, and using algorithms to compute the most favorable path.
- General video game playing
- AI effect
- Applications of artificial intelligence
- Game Description Language
- List of emerging technologies
- Outline of artificial intelligence
- Domain-specific entertainment language
- Artificial intelligence (video games)
- General Game Playing: Overview of the AAAI Competition by Michael Genesereth, Nathaniel Love and Barney Pell.
- GGP Server, platform for competition of general game playing systems.
- Dresden GGP Server, platform for competition of general game playing systems with automatic scheduling of matches.
- General Game Playing World Championships
- Information about Fluxplayer, the winner of the 2nd International General Game Playing competition.
- Information about CADIAPlayer, more information about the winner of the 3rd, 4th, and 8th International General Game Playing competitions.
- Sancho is GGP Champion 2014!, winner of the 2014 International General Game Playing competition.
- Barney Pell's research on computer game playing.
- "Metagame and General Game Playing". Metagame and General Game Playing. Retrieved 27 March 2016.
- Available: Universal Game Engine email to comp.ai.games by Jeff Mallett, 10-Dec-1998.
- "Monte-Carlo Tree Search for General Game Playing". ResearchGate. Retrieved 2016-04-01.
- Finnsson, Hilmar (2012). "Generalized Monte-Carlo Tree Search Extensions for General Game Playing". Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence.
- Frydenberg, Frederik; Anderson, Kasper R.; Risi, Sebastian; Togelius, Julian. "Investigating MCTS Modifications in General Video Game Playing" (PDF).
- M. Swiechowski; J. Mandziuk; Y. S. Ong, "Specialization of a UCT-based General Game Playing Program to Single-Player Games," in IEEE Transactions on Computational Intelligence and AI in Games , vol.PP, no.99, pp.1-1 doi: 10.1109/TCIAIG.2015.2391232
- Perez, Diego; Dieskau, Jens; Hünermund, Martin. "Open Loop Search for General Video Game Playing" (PDF).
- Jesper Juul. Half-Real: Video Games Between Real Rules and Fictional Worlds. MIT Press, 2005.
- Levine, John; Congdon, Clare Bates; Ebner, Marc; Kendall, Graham; Lucas, Simon M.; Miikkulainen Risto, Schaul; Tom, Thompson; Tommy. "General Video Game Playing" (PDF).
- General Game Playing Project by Stanford University.
- General Game Playing Resources provided by Dresden University of Technology.
- Axiom Development kit a meta-game development system compatible with Zillions of Games, by Greg Schmidt.
- Palamedes - A General Game Playing IDE.
- The General Video Game AI Competition