This blog is aimed mainly at those who are already somewhat familiar with General Game Playing, but for those who are not, an explanation:
General Game Playing is an artificial intelligence (AI) research problem in which computer programs play games against each other. It differs from other similar research problems in that a program must be able to play any game -- rules are specified when the game starts, much too late for the programmer to intervene. This means that techniques used by the AI must be general, not limited to a single game. The intelligence is in the program, not the programmer.
A GGP match is run by a game server, which contacts the game players. At the beginning of the match, the players receive the rules of the game, their role assignment (e.g. white or black), and how much time they'll have to make their moves. Game rules are specified in the Game Description Language, a highly flexible way of expressing games using mathematical logic. Games may have any number of players; may be competitive, cooperative, or anywhere in between; can have arbitrary notions of game state; and, though they must be turn-based, may have simultaneous actions.
An International General Game Playing Competition is held yearly at major AI conferences. In the past two years, other conferences have hosted additional tournaments, all allowing remote competition. Continuously running game servers (Tiltyard and the Dresden server) also offer the chance for programmers to test their gamers' skills against each other.
Some universities are also offering courses in GGP. Stanford's version, taught by Mike Genesereth, the creator of the GGP project and Game Description Language, will be offered on Coursera in April 2013.