Project: RTChess: Real-Time Chess

About

RTChess is a fast-paced, multiplayer, distributed chess game — chess reinvented for group play.

Turn-based tabletop games such as checkers and chess are some of the most successful games in history. When these games are translated to computers, they are generally built to exactly mimic their physical counterparts. However, some of the fundamental rules of these games, such as their reliance on turn-taking, arise primarily to deal with the problems of two players acting in the same game space. These physical limitations do not exist in distributed groupware — and this provides an opportunity to reinvent classic tabletop games by removing constraints that are no longer required. To explore this idea, we have built a new game called RTChess that is based on classic chess, but that allows any number of people to play, and that lets any player move pieces at any time. The result changes chess from a slow and thought-intensive activity to a game that is fast-paced, social, chaotic, and addicting. RTChess provides an example of how new kinds of interactive experiences can be designed by exploiting the freedom and flexibility of real-time distributed groupware, and shows how new kinds of games can be created by reinventing the classics.

RTChess also keeps track of player performance. See the RTChess Dashboard for high scores! (CSCW folk: see the local CSCW Dashboard instead.)

Installation

RTChess has been built using GT, Bonjour/Zeroconf, and .NET 2.0. GT is a groupware toolkit for .NET 2.0. Bonjour/Zeroconf is an internet standard for publishing and resolving network services on a local network, which is used for server auto-discovery.

Windows Users

Windows users must install the Apple Bonjour client for Windows.

  1. RTChess requires the following packages; you may already have these packages installed.
    1. Install Apple's Bonjour for Windows (local copy; 2mb). You may already have Bonjour as many many printer drivers ship with Apple's Bonjour client. You can determine if you have Bonjour by seeing if C:\Program Files\Bonjour exists.
    2. Install the .NET 2.0 redistributable (local copy; 22mb). You can determine this by first downloading and running RTChess.
  2. Fetch and extract the RTChess Client standalone (637kb) to a location of your choosing.
  3. Start the provided RTChessClient.exe.
  4. If all goes well, you should be prompted with a list of discovered chess games. Select a game, and decide whether you would like to join and play or simply observe; you can always join at a later point.

MacOS X Users (and possibly Linux users too)

RTChess has been used successfully on MacOS X using the Mono framework. The client may occasionally crash due to a bug in the Mono GDI emulation libraries; unfortunately there is no workaround.

  1. Install the following required packages (if not already present):
    1. Download and install Mono 2.0.1 (local copy of the MacOSX .dmg; 92mb).
    2. MacOSX: You must patch the mono config (patch file; <1kb) or replace /Library/Frameworks/Mono.framework/Versions/2.0.1/etc/mono/config with this patched version (2kb).
      Linux: You must fetch and install one of the pre-built Mono.Zeroconf packages for Linux.
      NOTE: RTChess has never been tested on Linux. YMMV.
  2. Fetch and extract the RTChess Client standalone (637kb) to a location of your choosing.
  3. Run the RTChess Client by executing from the terminal:
    $ mono RTChessClient.exe
  4. If all goes well, you should be prompted with a list of discovered chess games. Select a game, and decide whether you would like to join and play or simply observe; you can always join at a later point.

Participants

Mutasem Barjawi
University of Saskatchewan
Carl Gutwin
University of Saskatchewan
Brian de Alwis