My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

The GGP Galaxy Project

General Game Playing for Everyone!

General game playing is a field of artificial intelligence concerned with building programs that can play arbitrary games. For more information, see the Wikipedia article on General Game Playing.

The "GGP Galaxy" Project is an effort to bring General Game Playing to a wider audience through the use of web technologies. GGP Galaxy will develop enjoyable federated web-based applications for making, distributing, playing, and viewing games, and will build the tools, libraries, and common infrastructure for supporting these applications. All of the applications developed in GGP Galaxy will be designed to be part of a decentralized, standards-based online GGP ecosystem, inhabited by applications and games created by many different groups around the world.

All of this infrastructure poses an incredible technical challenge, but ultimately it should be mostly invisible to the end user. General game playing should be accessible to regular people who just want to play games: the underlying infrastructure should support their need, provide an enjoyable user experience, and stay out of the way. Once users are comfortable with the idea of general game playing, they should be able to learn more about the underlying technologies at their own pace: perhaps tweaking a game description and playing through the modified game, or building a game using a graphical game editor, or creating a very simple program to play through games.

Currently, development work is being done on the following:

  • Online Game Repositories offering public-domain game rulesheets, visualizations, and user interfaces in standard formats (GDL, XSLT, and JS respectively, with JS/HTML5 visualizations as a possible future option). A major issue here is developing standards for visualizations and user interfaces, so that a game designer can write a single visualization stylesheet and a single user interface and immediately have their program work, render, and be playable on all existing GGP systems.
  • Online Match Hosting Systems, which can load in games from the repositories, and let players play games against opponents on the Internet, with appealing visualizations and intuitive user interfaces. These can be designed for users on desktop computers, laptops, netbooks, tablet devices, and web-enabled phones.
  • Online Spectator Servers, to which game servers can publish their games, and spectators on the web can watch games being played. These can be designed for users on desktop computers, laptops, web-enabled TVs, projectors, and wall-mounted monitors. I'd personally like a bedside picture frame that shows me the latest game that my player is playing.
  • Online Game Design Tools, allowing anybody to create a game using simple, graphical interfaces and then publish it to a public game repository.

An operational prototype gaming kiosk is available, using games loaded from an external repository, and published to a spectator server. Currently this prototype should work on Chrome, Firefox, Safari, and the Android and iPhone web browsers, though when playing processing-intensive games like Chess it seems to perform best on Chrome.

Recent progress in the GGP Galaxy effort is described in a presentation given on Feb 17th at Stanford entitled "Web-based GGP: The Journey So Far". This outlines what has been accomplished thusfar and what's coming soon in the pipeline.

How do existing systems fit into this?

One important question that I've gotten is: how do existing systems, like the Stanford gaming server and the Dresden gaming server, fit into all this?

A major motivation for this project is to incorporate existing systems into the new web-based ecosystem. I am interested in building a cool way for people to play games with each other, but I'd like it to be able to pull in games not only from my own server, but from the Stanford server, the Dresden server, and any number of other game repositories hosted by research groups around the world. New systems should be able to stand on top of the shoulders of giants, rather than having to rebuild the world from scratch. At the same time, the existing Stanford and Dresden systems will also stand to benefit from new web-based tools and more standardization, since they'll be able to more easily share games, visualizations, user interfaces, bug-fixes, human-readable game descriptions, game metadata, match histories, and so on.

General game playing systems should be federated, so that new systems can inter-operate with existing systems like the Stanford gaming server and the TU Dresden gaming server. Ideally you would be able to visit an online gaming kiosk and see a list of available games that includes games from the Stanford server, the TU Dresden server, and other repositories around the world. After choosing a game (say from the Dresden server) you should be able to play against somebody else, human or machine, with an appealing visualization and a pleasant user interface. Should you choose to do so, you should be able to publish the record of that match to an archive on the Stanford server, to a researcher's experimental server that provides automated move-by-move analysis of the game, or to a spectator server that lets your friends watch the match in real time. All of these systems should be able to seamlessly work with each other, each providing resources or functionality.


The image for the GGP Galaxy logo comes from Ali's Art Adventures, which is an awesome site for free artwork.

Powered by Google Project Hosting