Getting Started
This page shall give you a quick overview of what you need to write your own general game player.
Parts of a general game player
A player typically consists of the following parts:- Communication
- Each player is a basic HTTP server waiting for messages from the Game Master and sending its moves as a reply.
- Reasoning
- Since a game description is essentially a logic program, the player has to use automatic reasoning or a logic programming system (e.g., Prolog) to infer legal moves and successor states.
- Strategy
- You need the communication and reasoning parts to play games. To win you need a good strategy.
What to do now?
- Familiarize yourself with the kind of games that are played, how games are described and how a match is run. The papers "General Game Playing: Overview of the AAAI Competition" and "The International General Game Playing Competition" might be good starting points. The GDL specification (available here) gives a detailed account of the semantics of the GDL and the communication protocol. There is an extension of the GDL for incomplete information games, which is described in this paper.
- Get an account for GGP Server or the Tiltyard Gaming Server to play matches with your player and have a look at other matches. Both servers have a variety of games available and nice visualization for most of them. Alternatively, you can download GameController, a game server clone that you can run locally. GameController is scriptable and can be used easily to run your own games.
- Download one of the reference players from our download page, Stanford's webpage, or the ggp-base project, play games with them and try to implement your own strategy. Or implement your own player from scratch.
- Subscribe to the GGP mailing list to get help. It is a low volume mailing list which also features information about current activities in the community, especially GGP competitions.