ICT: Internet Chess Tournament =============================== (http://www.cs.umbc.edu/~zwa/Chess/NetworkChess.html) In Spring 1995, Dr. Russell Turner offered CMSC 691 Graphical User Interface Programming for the first time at UMBC. I wrote ICT Internet Chess Tournament for the class project. We had a programming contest at the end of the semester and ICT was my entry; I won a beautiful white coffee mug with lavender SGI logo for my efforts. ICT provides 2D and 3D views of a chess board under Motif GUI. The 2D version (XmBoard) uses X Window graphics, but the 3D version (GLBoard) requires Open Inventor. XmBoard 2D chess pieces are taken from GNU XBoard and GLBoard 3D chess pieces are designed by Randy Brown (randy@unx.sas.com formerly of UNC), and put into Open Inventor file format by Paul Strauss of SGI. ICT was originally developed with ICS Internet Chess Server in mind. Unfortunately, I ran out of time and resorted to writing my own ad hoc network chess code. It does not support important things like the game clock, checking whose turn it is, validating whether the move was legal, etc. It simply sends one user's move to the other across the network. There is no support for game watching. I'll put in ICS interface when I can find time. ICT source code is freely available on UMBC Computer Science Department FTP server ftp.cs.umbc.edu. I tested ICT on the following systems: * Sun SPARCstation 10 running SunOS 4.1.3 and OSF/Motif 1.1 with GNU C++ compiler 2.5.8 and SPARC C++ compiler 3.0. (XmBoard only.) * Sun SPARCserver 20 running Solaris 2.4 and OSF/Motif 1.2.2 with GNU C++ compiler 2.6.0 and SPARC C++ compiler 3.0.1. (XmBoard only.) * SGI Indigo 2 running IRIX 5.3 and OSF/Motif 1.2.4 with GNU C++ compiler 2.6.0 and SGI C++ compiler. (Both XmBoard and GLBoard.) Makefiles for both operating systems are supplied in the distribution; the default makefile is linked to Makefile-IRIX5.x. You need Open Inventor to compile the 3D version GLBoard. Type the following to download and install ICT: $ ftp ftp.cs.umbc.edu Name: anonymous Password: [your email address] ftp> binary ftp> cd /pub/zwa/Chess ftp> get ICS.tar.Z ftp> bye $ zcat ICT.tar.Z | tar xf - $ cd ICT $ make Note: The file ICT.binSGI.tar.Z contains the sources and the compiled binaries for the SGI IRIX 5.x platform. Run ICT on two machines. Make one of them the server by selecting the Start Chess Server... menu item from the Network menu. Make the other the client by selecting the Connect To Chess Server... menu item from the same menu. Type in the server IP address and port number. To move a chess piece in XmBoard, press the mouse button on the piece, drag the mouse to a new position, and release the mouse button. In GLBoard, first press the arrow button at the bottom-right corner of the window. Then, click on the desired piece. When a selection highlight rectangle appears on the piece, drag it to a new location. This is a quirky Open Inventor interaction method that I couldn't get around. Someday, I'll rewrite the whole thing in OpenGL and support a more natural direct manipulation technique. Amen Zwa (zwa@cs.umbc.edu, http://www.cs.umbc.edu/~zwa/) Computer Science Department University of Maryland Baltimore County 5401 Wilkens Avenue Baltimore, MD 21228-5398